[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2 18/30] xen/x86: setup PVHv2 Dom0 ACPI tables



>>> On 27.10.16 at 17:04, <roger.pau@xxxxxxxxxx> wrote:
> I prefer this solution because it seems simpler and less likely to cause 
> future issues, but if this seems like too much fuss I can always try to 
> place the RSDP on top of the original one and shadow that page. From the 
> information I've been able to find on the Internet, the EBDA just seems to 
> contain the position of the pointing device (PS/2 mouse) [0], which I doubt 
> is used by any modern OS.

Well, that's the (half way) documented aspect of what it gets used
for. As far as I recall from my DOS support / engineering days,
there's quite a bit more use of it without being documented (among
other things for remote boot purposes). And then I'm surprised you
found only that part documented. My primary source of information
back in those days (Ralph Brown's "Interrupt List") tells me:

Format of Extended BIOS Data Area (IBM):
Offset  Size    Description     (Table M0001)
 00h    BYTE    length of EBDA in kilobytes
 01h 15 BYTEs   reserved
 17h    BYTE    number of entries in POST error log (0-5)
 18h  5 WORDs   POST error log (each word is a POST error number)
 22h    DWORD   Pointing Device Driver entry point
 26h    BYTE    Pointing Device Flags 1 (see #M0002)
 27h    BYTE    Pointing Device Flags 2 (see #M0003)
 28h  8 BYTEs   Pointing Device Auxiliary Device Data
 30h    DWORD   Vector for INT 07h stored here during 80387 interrupt
 34h    DWORD   Vector for INT 01h stored here during INT 07h emulation
 38h    BYTE    Scratchpad for 80287/80387 interrupt code
 39h    WORD    Timer3: Watchdog timer initial count
 3Bh    BYTE    ??? seen non-zero on Model 30
 3Ch    BYTE    ???
 3Dh 16 BYTEs   Fixed Disk parameter table for drive 0 (for older machines
                  which don't directly support the installed drive)
 4Dh 16 BYTEs   Fixed Disk parameter table for drive 1 (for older machines
                  which don't directly support the installed drive)
 5Dh-67h        ???
 68h    BYTE    cache control
                bits 7-2 unused (0)
                bit 1: CPU cache failed test
                bit 0: CPU cache disabled
 69h-6Bh        ???
 6Ch    BYTE    Fixed disk: (=FFh on ESDI systems)
                    bits 7-4: Channel number 00-0Fh
                    bits 3-0: DMA arbitration level 00-0Eh
 6Dh    BYTE    ???
 6Eh    WORD    current typematic setting (see INT 16/AH=03h)
 70h    BYTE    number of attached hard drives
 71h    BYTE    hard disk 16-bit DMA channel
 72h    BYTE    interrupt status for hard disk controller (1Fh on timeout)
 73h    BYTE    hard disk operation flags
                bit 7: controller issued operation-complete INT 76h
                bit 6: controller has been reset
                bits 5-0: unused (0)
 74h    DWORD   old INT 76h vector
 78h    BYTE    hard disk DMA type
                typically 44h for reads and 4Ch for writes
 79h    BYTE    status of last hard disk operation
 7Ah    BYTE    hard disk timeout counter
 7Bh-7Dh
 7Eh  8 WORDs   storage for hard disk controller status
 8Eh-E6h
 E7h    BYTE    floppy drive type
                bit 7: drive(s) present
                bits 6-2: unused (0)
                bit 1: drive 1 is 5.25" instead of 3.5"
                bit 0: drive 0 is 5.25"
 E8h  4 BYTEs   ???
 ECh    BYTE    hard disk parameters flag
                bit 7: parameters loaded into EBDA
                bits 6-0: unused (0)
 EDh    BYTE    ???
 EEh    BYTE    CPU family ID (03h = 386, 04h = 486, etc.) (see INT 15/AH=C9h)
 EFh    BYTE    CPU stepping (see INT 15/AH=C9h)
 F0h 39 BYTEs   ???
117h    WORD    keyboard ID (see INT 16/AH=0Ah)
                (most commonly 41ABh)
119h    BYTE    ???
11Ah    BYTE    non-BIOS INT 18h flag
                bits 7-1: unused (0)
                bit 0: set by BIOS before calling user INT 18h at offset 11Dh
11Bh  2 BYTE    ???
11Dh    DWORD   user INT 18h vector if BIOS has re-hooked INT 18h
121h and up:    ??? seen non-zero on Model 60
3F0h    BYTE    Fixed disk buffer (???)

Many question marks there ... There's a second layout documented
in there, too, but in the end the actual layout is of no interest to us.

Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.