aboutsummaryrefslogtreecommitdiffstats
path: root/tools/firmware
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2009-06-03 16:12:34 +0100
committerKeir Fraser <keir.fraser@citrix.com>2009-06-03 16:12:34 +0100
commitef63071d01a7aa0652a48f5cd2783f69e73fd9e7 (patch)
tree0d45d6d129fcfd0110904321b7c1caa65c870ddf /tools/firmware
parentd3c6a215ca9dc70d341892f2c2391b13e7fd4986 (diff)
downloadxen-ef63071d01a7aa0652a48f5cd2783f69e73fd9e7.tar.gz
xen-ef63071d01a7aa0652a48f5cd2783f69e73fd9e7.tar.bz2
xen-ef63071d01a7aa0652a48f5cd2783f69e73fd9e7.zip
hvmloader: Scan for gpxe-capable NICs until one is found.
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'tools/firmware')
-rw-r--r--tools/firmware/hvmloader/hvmloader.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/tools/firmware/hvmloader/hvmloader.c b/tools/firmware/hvmloader/hvmloader.c
index 7552122d4a..fef315821d 100644
--- a/tools/firmware/hvmloader/hvmloader.c
+++ b/tools/firmware/hvmloader/hvmloader.c
@@ -451,8 +451,9 @@ static int scan_etherboot_nic(uint32_t copy_rom_dest)
{
uint8_t devfn;
uint16_t class, vendor_id, device_id;
+ int rom_size = 0;
- for ( devfn = 0; devfn < 128; devfn++ )
+ for ( devfn = 0; (devfn < 128) && !rom_size; devfn++ )
{
class = pci_readw(devfn, PCI_CLASS_DEVICE);
vendor_id = pci_readw(devfn, PCI_VENDOR_ID);
@@ -462,11 +463,11 @@ static int scan_etherboot_nic(uint32_t copy_rom_dest)
if ( (vendor_id != 0xffff) &&
(device_id != 0xffff) &&
(class == 0x0200) )
- return scan_option_rom(
+ rom_size = scan_option_rom(
devfn, vendor_id, device_id, etherboot, copy_rom_dest);
}
- return 0;
+ return rom_size;
}
/*