summaryrefslogtreecommitdiff
path: root/memdisk/dskprobe.c
Commit message (Collapse)AuthorAgeFilesLines
* memdisk/dskprobe.c: Add status check to probes 08h and 41hGene Cumm2011-04-011-0/+2
| | | | | | If this fails, the machine should never be working. Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* memdisk/dskprobe: Align all INT13h probe debug outputGene Cumm2011-01-301-3/+3
|
* memdisk/dskprobe: reorder the debug output in probe_int13h_41h to matchGene Cumm2011-01-261-2/+2
| | | | BX was listed before AH
* memdisk/dskprobe: Be consistent in debug outputGene Cumm2011-01-261-0/+4
| | | | Only probe_int13h_15h() showed the AH01h output; show it in the others also
* memdisk/dskprobe: Reorder operations to compact the debug outputGene Cumm2011-01-261-8/+13
| | | | | By listing current regs, evaluate present, then display present last, it allows it to conveniently use only 1 output line.
* memdisk/dskprobe: Code cleanupGene Cumm2011-01-261-2/+1
|
* memdisk/dskprobe: Use status of last command to affect presentGene Cumm2011-01-261-3/+2
|
* memdisk/dskprobe: Show the status of the last command when debuggingGene Cumm2011-01-261-0/+35
| | | | | | | INT13h AH01h is supposed to show the status of the last command. Show its status and determine if it's a known failure. This does not affect the "present" variable at this time.
* memdisk/dskprobe: Increase the debug outputGene Cumm2011-01-261-5/+8
| | | | | Include all registers that should include anything of value and display the value of the "present" variable.
* memdisk/dskprobe.c: Additional checks in INT13h AH08h and AH41hShao Miller2011-01-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | Some BIOSs lie and don't set CF when they should. Additional comments from Shao: Fix INT 0x13, AH==0x08 disk drive probe. This function might return CF==0 ("success"), but could return a standard response no matter which drive number is passed in DL, but based only on DL's bit 7. Fortunately, AH should be 0 for an existent drive and 01h for a non-existent drive. Now we check AH. Fix INT 0x13, AH==0x41 disk drive probe This function might return CF==0 ("success"), but could also include BX left unchanged. If extensions are present, BX should be returned with 0xAA55. So we now check for this special value in our determination of a drive's presence. Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* memdisk: Fix INT 0x13, AH==0x15 disk drive probeShao Miller2011-01-251-1/+1
| | | | | | | | The function might return CF==0 ("success"), but could include AH==0 ("no such drive"). This is the case on at least a number of Dell models. Now we check AH, too. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
* memdisk: Enhance disk-probe debugging outputShao Miller2011-01-251-20/+77
| | | | | | | | | | In an effort to trouble-shoot a problem report on some Dell models (including an Optiplex GX260), we add further debugging output to try to find out at which point things go wrong. The problem units are apparently probing as "drive present" for all drives, which obviously isn't right. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
* memdisk: Make debug-mode a tad prettierShao Miller2011-01-241-12/+22
| | | | | | By removing the use of #ifdef-#endif blocks. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
* [memdisk] Add disk probing code to support a drive shifting limitShao Miller2009-08-031-0/+114
Our INT 13h hook will now only shift BIOS drive numbers up to a limit. This limit is found by probing for a contiguous range of BIOS drives. Anything above this range of contiguous drive numbers is not shifted, and will thus be available to callers at the same drive number.