if head magic is missing or wrong unexpectedly, we'd better to reject booting. e.g. I make a mistake to boot a vmlinuz for MIPS(which I think it's for x86) like this: qemu-system-x86_64 -kernel vmlinuz -initrd demord then qemu report: "qemu: linux kernel too old to load a ram disk" that's misleading.
Signed-off-by: liguang <lig.f...@cn.fujitsu.com> --- hw/i386/pc.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index b1e06fa..2b78dfc 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -683,8 +683,10 @@ static void load_linux(void *fw_cfg, if (load_multiboot(fw_cfg, f, kernel_filename, initrd_filename, kernel_cmdline, kernel_size, header)) { return; + } else { + fprintf(stderr, "please assure specicified kernel is for x86!\n"); + exit(1); } - protocol = 0; } if (protocol < 0x200 || !(header[0x211] & 0x01)) { -- 1.7.2.5