On Tue, 13 Mar 2018 04:33:56 +1000
Alexey Gerasimenko <x19...@gmail.com> wrote:

>This patch extends hvmloader_acpi_build_tables() with code which
>detects if MMCONFIG is available -- i.e. initialized and enabled
>(+we're running on Q35), obtains its base address and size and asks
>libacpi to build MCFG table for it via setting the flag ACPI_HAS_MCFG
>in a manner similar to other optional ACPI tables building.
>
>Signed-off-by: Alexey Gerasimenko <x19...@gmail.com>
>---
> tools/firmware/hvmloader/util.c | 70
> +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70
> insertions(+)

Looks like I missed the patch for reserving MMCONFIG area in E820 map,
it is required for Linux guests (otherwise MMCONFIG info will be
rejected by linux kernel). Windows guests allow to use MMCONFIG without
a corresponding E820 entry.

Following lines need to be added to /hvmloader/e820.c:

+    /* mark MMCONFIG area */
+    if ( is_mmconfig_used() )
+    {
+        e820[nr].addr = mmconfig_get_base();
+        e820[nr].size = mmconfig_get_size();
+        e820[nr].type = E820_RESERVED;
+        nr++;
+    }

The corresponding patch-file is attached, will include it in v2 patches.

Attachment: hvmloader-mark-MMCONFIG-in-E820-map.patch
Description: Binary data

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to