From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f179.google.com (mail-pf1-f179.google.com [209.85.210.179]) by mx.groups.io with SMTP id smtpd.web11.1139.1678124006645284517 for ; Mon, 06 Mar 2023 09:33:32 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@ventanamicro.com header.s=google header.b=AiZppqfa; spf=pass (domain: ventanamicro.com, ip: 209.85.210.179, mailfrom: tphan@ventanamicro.com) Received: by mail-pf1-f179.google.com with SMTP id a7so6310770pfx.10 for ; Mon, 06 Mar 2023 09:33:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1678124012; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=m3pVn3qC7vEUy4FSQjHeVFYc0TUEkAEPFlmoud8+xS4=; b=AiZppqfaFaI1Dncb589e33Vy9SgH2GjxOpp0cS42/4nH76EdEadl7C/59qoibIPMff YQxdwaeU7pIKOPA4QQj51/C3hoCTZyB2LNasdU+sGkb24Tp13gKcM2vRuS0j+5IeOc6B lD+5HtCojhwFWY8zmLQWWWo9sRjRNrCTrKWZNua6l0Th+JCPF8Fxg1hJyVc6+j6+B1Jx EIINCkripPx2nAQ3QB+3Kf6Q8BCbDvzYV/xVRvLb8qrghH7/2QbSAiukEFr4754KcSbk 8DgzTBDaXuoItkP12NEVQssbXwMlRG2aRrdhGXkNN7+2ej5S0cxwCgMtltNDUaVCr3qm 8KLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678124012; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=m3pVn3qC7vEUy4FSQjHeVFYc0TUEkAEPFlmoud8+xS4=; b=sux3PE4cXv7X2EgD5ggkpGCwznFAkYX6wk/XrEBbQTZebfDUxHWzCnWDCoRxwuTq1x ZFxFvn71dPrcqHgZr34dR/kkVltb4v7cEXnGO2rb1twZzNWyT68LjD2uK0HqGg45IGDo 971JnEYI0nVWwdq476ujRJm2miLZpgIvtvMpkJ6kJpRJQhMJ/UKSnkGTfDFfF5mGfyBH 7PsKV0Pu9XX30VFs8CK9FmDXcWiNYwek13LUbQI41g48RbpRLoIkpGun/IvlyOpx7Ta0 /kKxG4lbtrN0hWUv8LBXsbM4j5yFUWp0A7vd5FRExvVc4Hx+5H3ZJ/5Qf9AtuwKdcGJP 1rwg== X-Gm-Message-State: AO0yUKVg6jJvDpsccZbhFUSkSgDSrKtdcauO77laJGgbGZkhSbZvhlNT RQ5cCWRkdT7lwrQmqcq9dq4ZeeA4rot7Rh7eeXuC/Q== X-Google-Smtp-Source: AK7set9XRlKLaqjhH00vtT+2mRJDMtCaTpaG/f28sx9r+0JpTTX1tXnMseyBxHBygoQ2pkjr4YYomQ== X-Received: by 2002:a62:4e83:0:b0:5cd:81a7:41cc with SMTP id c125-20020a624e83000000b005cd81a741ccmr9164024pfb.13.1678124012047; Mon, 06 Mar 2023 09:33:32 -0800 (PST) Return-Path: Received: from localhost.localdomain (c-174-50-177-95.hsd1.ca.comcast.net. [174.50.177.95]) by smtp.gmail.com with ESMTPSA id v6-20020aa78506000000b005dd975176c3sm6579722pfn.53.2023.03.06.09.33.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Mar 2023 09:33:31 -0800 (PST) From: "Tuan Phan" To: devel@edk2.groups.io Cc: michael.d.kinney@intel.com, gaoliming@byosoft.com.cn, zhiguang.liu@intel.com, sunilvl@ventanamicro.com, git@danielschaefer.me, andrei.warkentin@intel.com, Tuan Phan Subject: [PATCH 5/7] OvmfPkg/VirtNorFlashDxe: Not add memory space if it exists Date: Mon, 6 Mar 2023 09:33:14 -0800 Message-Id: <20230306173316.10319-6-tphan@ventanamicro.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230306173316.10319-1-tphan@ventanamicro.com> References: <20230306173316.10319-1-tphan@ventanamicro.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable The flash base address can be added to GCD before this driver run. So only add it if it has not been done. Signed-off-by: Tuan Phan --- OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.c | 25 +++++++++++++++-------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.c b/OvmfPkg/VirtNorFla= shDxe/VirtNorFlashDxe.c index f9a41f6aab0f..8875824f3333 100644 --- a/OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.c +++ b/OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.c @@ -372,10 +372,11 @@ NorFlashFvbInitialize ( IN NOR_FLASH_INSTANCE *Instance=0D )=0D {=0D - EFI_STATUS Status;=0D - UINT32 FvbNumLba;=0D - EFI_BOOT_MODE BootMode;=0D - UINTN RuntimeMmioRegionSize;=0D + EFI_STATUS Status;=0D + UINT32 FvbNumLba;=0D + EFI_BOOT_MODE BootMode;=0D + UINTN RuntimeMmioRegionSize;=0D + EFI_GCD_MEMORY_SPACE_DESCRIPTOR Desc;=0D =0D DEBUG ((DEBUG_BLKIO, "NorFlashFvbInitialize\n"));=0D ASSERT ((Instance !=3D NULL));=0D @@ -390,13 +391,19 @@ NorFlashFvbInitialize ( // is written as the base of the flash region (ie: Instance->Devic= eBaseAddress)=0D RuntimeMmioRegionSize =3D (Instance->RegionBaseAddress - Instance->Devic= eBaseAddress) + Instance->Size;=0D =0D - Status =3D gDS->AddMemorySpace (=0D - EfiGcdMemoryTypeMemoryMappedIo,=0D + Status =3D gDS->GetMemorySpaceDescriptor (=0D Instance->DeviceBaseAddress,=0D - RuntimeMmioRegionSize,=0D - EFI_MEMORY_UC | EFI_MEMORY_RUNTIME=0D + &Desc=0D );=0D - ASSERT_EFI_ERROR (Status);=0D + if (Status =3D=3D EFI_NOT_FOUND) {=0D + Status =3D gDS->AddMemorySpace (=0D + EfiGcdMemoryTypeMemoryMappedIo,=0D + Instance->DeviceBaseAddress,=0D + RuntimeMmioRegionSize,=0D + EFI_MEMORY_UC | EFI_MEMORY_RUNTIME=0D + );=0D + ASSERT_EFI_ERROR (Status);=0D + }=0D =0D Status =3D gDS->SetMemorySpaceAttributes (=0D Instance->DeviceBaseAddress,=0D --=20 2.25.1