New answers tagged

2

INT 13h / AL=8, when called with DL >= 80h, will return the number of hard drives in DL. On many systems (but not the original PC or XT) it will do the same for floppy drives if called with DL < 80h. The number of floppy drives configured can also be determined using INT 11h. If bit 0 of AX is 0 there are no floppy drives; otherwise bits 7 and 6 give ...


7

The number of hard drives supported by interrupt 13h is stored in the byte at 0040h:0075h. This includes drives managed by expansion ROMs (e.g. SCSI drives); see the Wikipedia article on the topic for details. You can also find this value at offset 70h in IBM’s Extended BIOS Data Area. Hard drives are accessed using values from 80h to 80h + the number of ...


2

It's perfectly possible for both userspace and the kernel to access the BIOS. In fact, the kernel offers a vm86 syscall, which is an emulation of real mode. This syscall was used for a long time in the vesa driver for X (before it got replaced with the vesafb kernel driver; see e.g. here for some code), there are projects like Linux Real-Mode Interface which ...


7

To my knowledge, no such driver has ever been written. Since the very earliest versions, Linux has been a pure 32-bit protected-mode kernel that drove most devices (including disk controllers) directly, without going through the BIOS. The kernel has never had any facility to invoke 16-bit code from kernel mode during normal operation (after early boot); even ...


Top 50 recent answers are included