public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Thomas Barrett" <tbarrett@crusoeenergy.com>
To: devel@edk2.groups.io
Cc: Thomas Barrett <tbarrett@crusoeenergy.com>
Subject: [edk2-devel] [PATCH 2/2] CloudHv: Update PlatformAddressWidthInitialization logic
Date: Wed, 10 Jan 2024 22:21:37 +0000	[thread overview]
Message-ID: <78159153d99401e1e5cd7b619cd1a64fbed82dc7.1704921917.git.tbarrett@crusoeenergy.com> (raw)
In-Reply-To: <283db24a1d906fd115f85636bd1c2f9ddcde150c.1704921917.git.tbarrett@crusoeenergy.com>

[-- Attachment #1: Type: text/plain, Size: 3546 bytes --]

When booting CloudHv guests with greater than 1TiB of high
memory, the PlatformAddressWidthInitialization function
incorrect calculates the address width using the overflowed
24-bit CMOS register rather than the E820 entries.

Signed-off-by: Thomas Barrett <tbarrett@crusoeenergy.com>
---
 OvmfPkg/CloudHv/CloudHvX64.dsc              |  2 ++
 OvmfPkg/Library/PlatformInitLib/MemDetect.c | 12 ++++++++++++
 2 files changed, 14 insertions(+)

diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
index af594959a9..b522fa1059 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.dsc
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
@@ -566,6 +566,8 @@
   # Point to the MdeModulePkg/Application/UiApp/UiApp.inf

   gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }

 

+  gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable|TRUE

+

 ################################################################################

 #

 # Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform

diff --git a/OvmfPkg/Library/PlatformInitLib/MemDetect.c b/OvmfPkg/Library/PlatformInitLib/MemDetect.c
index 76a9dc9211..f042517bb6 100644
--- a/OvmfPkg/Library/PlatformInitLib/MemDetect.c
+++ b/OvmfPkg/Library/PlatformInitLib/MemDetect.c
@@ -873,6 +873,18 @@ PlatformAddressWidthInitialization (
 

   if (PlatformInfoHob->HostBridgeDevId == 0xffff /* microvm */) {

     PlatformAddressWidthFromCpuid (PlatformInfoHob, FALSE);

+    return;

+  } else if (PlatformInfoHob->HostBridgeDevId == CLOUDHV_DEVICE_ID) {

+    PlatformInfoHob->FirstNonAddress = BASE_4GB;

+    Status                           = PlatformScanE820 (PlatformGetFirstNonAddressCB, PlatformInfoHob);

+    if (EFI_ERROR (Status)) {

+      PlatformInfoHob->FirstNonAddress = BASE_4GB + PlatformGetSystemMemorySizeAbove4gb ();

+    }

+

+    PlatformInfoHob->PcdPciMmio64Base = PlatformInfoHob->FirstNonAddress;

+    PlatformAddressWidthFromCpuid (PlatformInfoHob, FALSE);

+    PlatformInfoHob->PcdPciMmio64Size = PlatformInfoHob->FirstNonAddress - PlatformInfoHob->PcdPciMmio64Base;

+

     return;

   }

 

-- 
2.34.1

Disclaimer

The information contained in this communication from the sender is confidential. It is intended solely for use by the recipient and others authorized to receive it. If you are not the recipient, you are hereby notified that any disclosure, copying, distribution or taking action in relation of the contents of this information is strictly prohibited and may be unlawful.

This email has been scanned for viruses and malware, and may have been automatically archived by Mimecast, a leader in email security and cyber resilience. Mimecast integrates email defenses with brand protection, security awareness training, web security, compliance and other essential capabilities. Mimecast helps protect large and small organizations from malicious activity, human error and technology failure; and to lead the movement toward building a more resilient world. To find out more, visit our website.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113586): https://edk2.groups.io/g/devel/message/113586
Mute This Topic: https://groups.io/mt/103657893/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



[-- Attachment #2: Type: text/html, Size: 4027 bytes --]

  reply	other threads:[~2024-01-11  6:54 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-10 22:21 [edk2-devel] [PATCH 1/2] CloudHv: Add CloudHv support to PlatformScanE820 utility function Thomas Barrett
2024-01-10 22:21 ` Thomas Barrett [this message]
2024-01-11  9:39 ` Laszlo Ersek
2024-01-11 16:37   ` Thomas Barrett

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=78159153d99401e1e5cd7b619cd1a64fbed82dc7.1704921917.git.tbarrett@crusoeenergy.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox