26 lines
956 B
Diff
26 lines
956 B
Diff
|
commit cb61bc8a42da1a971079767e63df4503b6ab2efb
|
||
|
Author: Anatol Pomozov <anatol.pomozov@gmail.com>
|
||
|
Date: Mon Jan 29 10:08:53 2018 -0800
|
||
|
|
||
|
multiboot: Make elf64 loading functionality compatible with GRUB
|
||
|
|
||
|
GRUB is a reference multiboot implementation and supports loading elf64
|
||
|
binaries. Make QEMU to work similar was as GRUB.
|
||
|
|
||
|
diff --git a/hw/i386/multiboot.c b/hw/i386/multiboot.c
|
||
|
index 5bc0a2cddb..0907e42a39 100644
|
||
|
--- a/hw/i386/multiboot.c
|
||
|
+++ b/hw/i386/multiboot.c
|
||
|
@@ -193,11 +193,6 @@ int load_multiboot(FWCfgState *fw_cfg,
|
||
|
int kernel_size;
|
||
|
fclose(f);
|
||
|
|
||
|
- if (((struct elf64_hdr*)header)->e_machine == EM_X86_64) {
|
||
|
- error_report("Cannot load x86-64 image, give a 32bit one.");
|
||
|
- exit(1);
|
||
|
- }
|
||
|
-
|
||
|
kernel_size = load_elf(kernel_filename, NULL, NULL, &elf_entry,
|
||
|
&elf_low, &elf_high, 0, I386_ELF_MACHINE,
|
||
|
0, 0);
|