[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 4/6] tools: load IPXE from standalone file
On Thu, Jul 05, 2018 at 11:39:46AM +0100, Ian Jackson wrote: > Wei Liu writes ("[Xen-devel] [PATCH v3 4/6] tools: load IPXE from standalone > file"): > > Do not embed IPXE into Rombios anymore. Instead, it is loaded by the > > toolstack from a file as a separate module. > ... > > - void (*bios_load)(const struct bios_config *config, void *addr, > > uint32_t size); > > + void (*bios_load)(const struct bios_config *config, void *addr, > > + uint32_t size, void *extra_addr); > ... > > #ifdef ENABLE_ROMBIOS > > else if ( bios == &rombios_config ) > > { > > - bios->bios_load(bios, NULL, 0); > > + const struct hvm_modlist_entry *ipxe; > > + uint32_t paddr = 0; > > + > > + ipxe = get_module_entry(hvm_start_info, "ipxe"); > > + if ( ipxe ) > > + paddr = ipxe->paddr; > > + bios->bios_load(bios, NULL, 0, (void *)paddr); > ... > > static void ovmf_load(const struct bios_config *config, > > - void *bios_addr, uint32_t bios_length) > > + void *bios_addr, uint32_t bios_length, > > + void *unused_addr) > ... > > +static void *ipxe_module_addr; > ... > > + if ( ipxe_module_addr ) > > + { > > + etherboot_sz = scan_etherboot_nic(OPTIONROM_PHYSICAL_END, > > + etherboot_phys_addr, > > + ipxe_module_addr); > > + > > + option_rom_phys_addr = etherboot_phys_addr + etherboot_sz; > > + option_rom_sz = pci_load_option_roms(OPTIONROM_PHYSICAL_END, > > + option_rom_phys_addr); > > + } > ... > > static void rombios_load(const struct bios_config *config, > > - void *unused_addr, uint32_t unused_size) > > + void *unused_addr, uint32_t unused_size, > > + void *ipxe_addr) > > { > > uint32_t bioshigh; > > struct rombios_info *info; > > @@ -133,6 +140,9 @@ static void rombios_load(const struct bios_config > > *config, > > > > info = (struct rombios_info *)BIOS_INFO_PHYSICAL_ADDRESS; > > info->bios32_entry = bioshigh; > > + > > + /* Stash ipxe address */ > > + ipxe_module_addr = ipxe_addr; > > This seems to me to be a layering violation, and quite an ugly one at > that. I'm afraid that at the very least, IMO this needs to be better > documented both in the code and the commit message. > There isn't a better way to do this at the moment. Plus that ... > Is ipxe rombios-specific ? Forgive my ignorance. ... ipxe is rombios-specific at the moment, so Jan is fine with changes like this. Wei. > > Thanks, > Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |