[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug 1917940] [NEW] -bios edk2-$arch-code doesn't work for x86
From: |
Jessica Clarke |
Subject: |
[Bug 1917940] [NEW] -bios edk2-$arch-code doesn't work for x86 |
Date: |
Fri, 05 Mar 2021 19:28:57 -0000 |
Public bug reported:
Whilst creating a flash device is recommended, -bios <file> is extremely
useful in many cases as it automatically searches $PREFIX/share/qemu
rather than requiring the caller (be it a human or a script) to work out
where that directory is for the QEMU being called and prepend it to the
file name.
Currently, all the x86 EDK2 FD code files are 3653632 bytes in size, or
0x37c000 bytes. However, for some reason I cannot find the answer to (I
traced the code back to 7587cf44019d593bb12703e7046bd7738996c55c), x86's
-bios only allows files that are multiples of 64K in size
(x86_bios_rom_init), which would require the EDK2 ROMs to be rounded up
to 0x380000 bytes. If I delete the check, QEMU is able to load the only-
16K-multiple-sized EDK2 and boot an OS just fine. If I pad EDK2 with 16K
of zeroes at the *start* (since the ROM gets mapped counting backwards),
it also works just fine (but padding at the *end* doesn't). Please
therefore either relax the check in x86_bios_rom_init or ensure the EDK2
binary is suitably padded.
** Affects: qemu
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1917940
Title:
-bios edk2-$arch-code doesn't work for x86
Status in QEMU:
New
Bug description:
Whilst creating a flash device is recommended, -bios <file> is
extremely useful in many cases as it automatically searches
$PREFIX/share/qemu rather than requiring the caller (be it a human or
a script) to work out where that directory is for the QEMU being
called and prepend it to the file name.
Currently, all the x86 EDK2 FD code files are 3653632 bytes in size,
or 0x37c000 bytes. However, for some reason I cannot find the answer
to (I traced the code back to
7587cf44019d593bb12703e7046bd7738996c55c), x86's -bios only allows
files that are multiples of 64K in size (x86_bios_rom_init), which
would require the EDK2 ROMs to be rounded up to 0x380000 bytes. If I
delete the check, QEMU is able to load the only-16K-multiple-sized
EDK2 and boot an OS just fine. If I pad EDK2 with 16K of zeroes at the
*start* (since the ROM gets mapped counting backwards), it also works
just fine (but padding at the *end* doesn't). Please therefore either
relax the check in x86_bios_rom_init or ensure the EDK2 binary is
suitably padded.
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1917940/+subscriptions
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug 1917940] [NEW] -bios edk2-$arch-code doesn't work for x86,
Jessica Clarke <=