diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2009-06-03 16:12:34 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2009-06-03 16:12:34 +0100 |
commit | ef63071d01a7aa0652a48f5cd2783f69e73fd9e7 (patch) | |
tree | 0d45d6d129fcfd0110904321b7c1caa65c870ddf /tools/firmware | |
parent | d3c6a215ca9dc70d341892f2c2391b13e7fd4986 (diff) | |
download | xen-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.c | 7 |
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; } /* |