BIOS differences for x86 vs. generally expected

Discussion in 'UDOO X86' started by Snakebyte, Aug 24, 2018.

  1. Snakebyte

    Snakebyte Member

    Joined:
    Mar 19, 2018
    Messages:
    90
    Likes Received:
    9
    I'm working on porting the SATA driver from the unsupported OS I have been working with, and I'm running into some issues. Working with UEFI is not an option at this time, so Legacy BIOS is enabled. Using BIOS interrupts (0x13 int, 0x08 param), the 120G SATA II drive is recognized:

    Aug 24 09:53:13 192 kernel: Extended BIOS calls allowed; using interrupt 0x48
    Aug 24 09:53:13 192 kernel: AT0-D0: 64 cylinders, 17 heads, 63 sectors per track (total capacity 224674128 sectors, 109704 MB)

    The CHS geometry is not correct, but the capacity generally is. However, reading the BIOS Extended Data Area (0x114), the parameters come back empty:

    Aug 24 11:13:09 192 kernel: AT0-D0: 0 cylinders, 0 heads, 0 sectors per track (total capacity 0 sectors, 0 MB)

    Furthermore, reading the BIOS Extended Data Area 0x475 (# of hard drives) is returning 3, instead of the normal max of 2. This is correct, in that a USB flash drive, the on-board eMMC and a SATA II drive are attached. However, the BIOS Extended Data Area appear to only have room for two entries.

    Are there any changes to the BIOS Extended Data Area from commonly expected values?

    http://www.piclist.com/techref/bios/dataarea.htm
    http://flint.cs.yale.edu/feng/cos/resources/BIOS/Resources/assembly/biosdataarea.html
     

Share This Page