This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] [PATCH 0/3] Enable Option ROM support in Guest BIOS

To: 'Keir Fraser' <keir.fraser@xxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH 0/3] Enable Option ROM support in Guest BIOS
From: "Shan, Haitao" <haitao.shan@xxxxxxxxx>
Date: Mon, 24 Nov 2008 13:16:09 +0800
Accept-language: en-US
Acceptlanguage: en-US
Cc: "'xen-devel@xxxxxxxxxxxxxxxxxxx'" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Sun, 23 Nov 2008 21:17:28 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AclLnyYhkpS5WwSDR/iQB5c5D8AtDgCU514A
Thread-topic: [PATCH 0/3] Enable Option ROM support in Guest BIOS
Hi, Keir,

These three patches enables Option ROM support in guest BIOS. Please see 
detailed description below.

etherboot_reloc.patch: Relocating the etherboot ROM to be near the end of VGA 
BIOS. Current Xen hard coded VGA ROM at 0xC0000 and etherboot ROM at 0xD0000. 
This makes the space in [0xC0000 - 0xDFFFF] to be fragments, which makes it 
hard to find enough space to hold another Option ROM.

rom_copy.patch: In hvmloader, scan the PCI hierarchy and load Option ROM at 
proper place. If no space is left, a warning is given out.

rom_exec.patch: Append the BDF of the device at the end of the Option ROM 
location. Guest BIOS will fetch this info and pass it to Option ROM 
initialization routine.

I have tested the patch using a PCI SCSI card. I can successfully run the 
Option ROM to configure the SCSI disk.

Note: There is no support for booting from SCSI disk now. Since guest BIOS 
lacks support for that. Please see the comments below.
// BIOS Boot Specification 1.0.1 compatibility
// Very basic support for the BIOS Boot Specification, which allows expansion
// ROMs to register themselves as boot devices, instead of just stealing the
// INT 19h boot vector.
// This is a hack: to do it properly requires a proper PnP BIOS and we aren't
// one; we just lie to the option ROMs to make them behave correctly.
// We also don't support letting option ROMs register as bootable disk
// drives (BCVs), only as bootable devices (BEVs).

Best Regards
Haitao Shan

Xen-devel mailing list