summary refs log tree commit diff stats
path: root/hw/i386/pc.c
diff options
context:
space:
mode:
authorStefano Garzarella <sgarzare@redhat.com>2019-01-18 13:01:42 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2019-02-05 16:50:17 +0100
commit1fb0d709906379ce7d520a0e9bf62c6275c1983f (patch)
tree26941be02c9c7cd9ec2e56256875fa81fc26baf1 /hw/i386/pc.c
parent2785dc7b1786a833ca5ad6d8d39d64eb82e2cddc (diff)
downloadfocaccia-qemu-1fb0d709906379ce7d520a0e9bf62c6275c1983f.tar.gz
focaccia-qemu-1fb0d709906379ce7d520a0e9bf62c6275c1983f.zip
hw/i386/pc: use PVH option rom
Use pvh.bin option rom when we are booting an uncompressed
kernel using the x86/HVM direct boot ABI.

Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Liam Merwick <liam.merwick@oracle.com>
Based-on: <1547554687-12687-1-git-send-email-liam.merwick@oracle.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/i386/pc.c')
-rw-r--r--hw/i386/pc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 5d61557a24..9efbd16fa7 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1261,6 +1261,10 @@ static void load_linux(PCMachineState *pcms,
                                  initrd_size);
             }
 
+            option_rom[nb_option_roms].bootindex = 0;
+            option_rom[nb_option_roms].name = "pvh.bin";
+            nb_option_roms++;
+
             return;
         }
         /* This looks like a multiboot kernel. If it is, let's stop
@@ -1712,6 +1716,7 @@ void xen_load_linux(PCMachineState *pcms)
     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, "pvh.bin") ||
                !strcmp(option_rom[i].name, "multiboot.bin"));
         rom_add_option(option_rom[i].name, option_rom[i].bootindex);
     }