mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-09 10:34:58 -06:00
Add optionrom compatible with fw_cfg DMA version
This optionrom is based on linuxboot.S. Signed-off-by: Marc Marí <markmb@redhat.com> Signed-off-by: Richard W.M. Jones <rjones@redhat.com> Message-Id: <1464027093-24073-2-git-send-email-rjones@redhat.com> [Add -fno-toplevel-reorder, support clang without -m16. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
a91a4e7d8c
commit
b2a575a1c6
10 changed files with 348 additions and 12 deletions
10
hw/i386/pc.c
10
hw/i386/pc.c
|
@ -998,8 +998,13 @@ static void load_linux(PCMachineState *pcms,
|
|||
fw_cfg_add_i32(fw_cfg, FW_CFG_SETUP_SIZE, setup_size);
|
||||
fw_cfg_add_bytes(fw_cfg, FW_CFG_SETUP_DATA, setup, setup_size);
|
||||
|
||||
option_rom[nb_option_roms].name = "linuxboot.bin";
|
||||
option_rom[nb_option_roms].bootindex = 0;
|
||||
if (fw_cfg_dma_enabled(fw_cfg)) {
|
||||
option_rom[nb_option_roms].name = "linuxboot_dma.bin";
|
||||
option_rom[nb_option_roms].bootindex = 0;
|
||||
} else {
|
||||
option_rom[nb_option_roms].name = "linuxboot.bin";
|
||||
option_rom[nb_option_roms].bootindex = 0;
|
||||
}
|
||||
nb_option_roms++;
|
||||
}
|
||||
|
||||
|
@ -1291,6 +1296,7 @@ void xen_load_linux(PCMachineState *pcms)
|
|||
load_linux(pcms, fw_cfg);
|
||||
for (i = 0; i < nb_option_roms; i++) {
|
||||
assert(!strcmp(option_rom[i].name, "linuxboot.bin") ||
|
||||
!strcmp(option_rom[i].name, "linuxboot_dma.bin") ||
|
||||
!strcmp(option_rom[i].name, "multiboot.bin"));
|
||||
rom_add_option(option_rom[i].name, option_rom[i].bootindex);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue