[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 Thu, Oct 27, 2016 at 09:20:00AM -0600, Jan Beulich wrote:
> >>> 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.

Thanks for the info, seeing that now I think we have no other option but to 
place the RSDP in another area.

Roger.

_______________________________________________
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®.