Re: [kvm-unit-tests PATCH v3 25/27] arm64: Add support for efi in Makefile

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Alex,

On 12/07/2022 14:39, Alexandru Elisei wrote:
Hi,

On Thu, Jun 30, 2022 at 11:03:22AM +0100, Nikos Nikoleris wrote:
Users can now build kvm-unit-tests as efi apps by supplying an extra
argument when invoking configure:

$> ./configure --enable-efi

This patch is based on an earlier version by
Andrew Jones <drjones@xxxxxxxxxx>

Signed-off-by: Nikos Nikoleris <nikos.nikoleris@xxxxxxx>
Reviewed-by: Ricardo Koller <ricarkol@xxxxxxxxxx>
---
  configure           | 15 ++++++++++++---
  arm/Makefile.arm    |  6 ++++++
  arm/Makefile.arm64  | 18 ++++++++++++++----
  arm/Makefile.common | 45 ++++++++++++++++++++++++++++++++++-----------
  4 files changed, 66 insertions(+), 18 deletions(-)

diff --git a/configure b/configure
index 5b7daac..2ff9881 100755
--- a/configure
+++ b/configure
[..]
@@ -218,6 +223,10 @@ else
          echo "arm64 doesn't support page size of $page_size"
          usage
      fi
+    if [ "$efi" = 'y' ] && [ "$page_size" != "4096" ]; then
+        echo "efi must use 4K pages"
+        exit 1

Why this restriction?

The Makefile compiles kvm-unit-tests to run as an UEFI app, it doesn't
compile UEFI itself. As far as I can tell, UEFI is designed to run payloads
with larger page size (it would be pretty silly to not be able to boot a
kernel built for 16k or 64k pages with UEFI).

Is there some limitation that I'm missing?


Technically, we could allow 16k or 64k granules. But to do that we would have to handle cases where the memory map we get from EFI cannot be remapped with the new granules. For example, a region might be 12kB and mapping it with 16k or 64k granules without moving it is impossible.

Thanks,

Nikos

Thanks,
Alex



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux