From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) by mx.groups.io with SMTP id smtpd.web08.18564.1665571538431773246 for ; Wed, 12 Oct 2022 03:45:38 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@ventanamicro.com header.s=google header.b=OnI9N98p; spf=pass (domain: ventanamicro.com, ip: 209.85.214.182, mailfrom: sunilvl@ventanamicro.com) Received: by mail-pl1-f182.google.com with SMTP id c20so6292416plc.5 for ; Wed, 12 Oct 2022 03:45:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; 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=fo4FSohLRwNRa1a9qzgCaY+L/doGRGW7QYtvS3xrbKQ=; b=OnI9N98pq1K7qNDZ4OPqiiROPw0kQC/+nEnHo/D5d8BRFFB8H6CH7g/lHqBLBCi6HB KC0zfHkp1apop77SVkB0ww+CzCU6+l2CyHzCBjgHS2IVc3451HrW/clyxeEZgto49f06 x+9x5OcVMwLMBPYuAB3Zm3fsvjswg0cmv4/sGnDWVcNnflzx5BoF0R5XzncbXo9Soj9k T9p08vTv5i4YKVRrI4Wh2pQvNnvf0LcLIy1gBHRB0GcFlcrCv7SAdQ/adRg1mgNQoHxA oGm3CqXgoZQ49hCpWE4fYa9yuUCxt9TWFFwOYwS7hOpzQT0iAQWoKAvYMNsXMBQjZX6y t0yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=fo4FSohLRwNRa1a9qzgCaY+L/doGRGW7QYtvS3xrbKQ=; b=Pc4LJ8aV84LRNr3kQ/jSmH92RsKaIrt/Ky7eQ6uBtTiXJidXbyikvrvLJCVatq/Lwd pVCWIE8KErQlPyfHh58QEKXayeVCW+RfxoPVIcFSNJKjV14WNEqGIP5zx/GXgguxZAtQ qQmBrQjVREdgVOWUsLHEqozxc8qkWkstwQAUuWQ+1r4r9hdfgxi31ihXUKuS3cHqX+my BbtfeU2+QaQnS26HbkmlPBYm0rDj3oElogSeIyyWU9fnpEh0hyT//QHWw1z81DXfUDEe hj52MzGzxq5EKi876T06rbYUn9DrgsaLvdV6Ab7muyLFTUwbbXR/UG/NLZ+Q3AUMY7YG KSYA== X-Gm-Message-State: ACrzQf0xplRLBUtbMEcCQfV2c8O+rOqH5XPtgLc5BUCVKDvNbDJTx2r4 AqvV+SWotc18fAJlAaX0dAo7tnZFNlcpmA== X-Google-Smtp-Source: AMsMyM6e6dJTEJi+ANFyjORhhztfJOLwusY5OP6qHjBydMb6VWH14/DcQyWgWaU2ViFm23mTdbIb/w== X-Received: by 2002:a17:902:ceca:b0:177:fa1f:4abc with SMTP id d10-20020a170902ceca00b00177fa1f4abcmr29258538plg.99.1665571537710; Wed, 12 Oct 2022 03:45:37 -0700 (PDT) Return-Path: Received: from localhost.localdomain ([49.206.13.138]) by smtp.gmail.com with ESMTPSA id z4-20020aa79e44000000b0054223a0185asm10812221pfq.161.2022.10.12.03.45.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Oct 2022 03:45:37 -0700 (PDT) From: "Sunil V L" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Jiewen Yao , Jordan Justen , Gerd Hoffmann Subject: [edk2-staging/RiscV64QemuVirt PATCH V2 11/33] OvmfPkg/PlatformPei: Refactor to allow other architectures Date: Wed, 12 Oct 2022 16:14:34 +0530 Message-Id: <20221012104456.1393376-12-sunilvl@ventanamicro.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221012104456.1393376-1-sunilvl@ventanamicro.com> References: <20221012104456.1393376-1-sunilvl@ventanamicro.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4076 Currently, PlatformPei supports only X86 architecture. So, refactor it to allow other CPU architectures. Cc: Ard Biesheuvel Cc: Jiewen Yao Cc: Jordan Justen Cc: Gerd Hoffmann Signed-off-by: Sunil V L --- OvmfPkg/PlatformPei/PlatformPei.inf | 34 +++++++++++-------- OvmfPkg/PlatformPei/{ => Ia32_X64}/Platform.h | 0 OvmfPkg/PlatformPei/{ => Ia32_X64}/AmdSev.c | 0 .../PlatformPei/{ => Ia32_X64}/ClearCache.c | 0 .../{ => Ia32_X64}/FeatureControl.c | 0 OvmfPkg/PlatformPei/{ => Ia32_X64}/Fv.c | 0 OvmfPkg/PlatformPei/{ => Ia32_X64}/IntelTdx.c | 0 .../PlatformPei/{ => Ia32_X64}/MemDetect.c | 0 .../PlatformPei/{ => Ia32_X64}/MemTypeInfo.c | 0 OvmfPkg/PlatformPei/{ => Ia32_X64}/Platform.c | 0 10 files changed, 19 insertions(+), 15 deletions(-) rename OvmfPkg/PlatformPei/{ => Ia32_X64}/Platform.h (100%) rename OvmfPkg/PlatformPei/{ => Ia32_X64}/AmdSev.c (100%) rename OvmfPkg/PlatformPei/{ => Ia32_X64}/ClearCache.c (100%) rename OvmfPkg/PlatformPei/{ => Ia32_X64}/FeatureControl.c (100%) rename OvmfPkg/PlatformPei/{ => Ia32_X64}/Fv.c (100%) rename OvmfPkg/PlatformPei/{ => Ia32_X64}/IntelTdx.c (100%) rename OvmfPkg/PlatformPei/{ => Ia32_X64}/MemDetect.c (100%) rename OvmfPkg/PlatformPei/{ => Ia32_X64}/MemTypeInfo.c (100%) rename OvmfPkg/PlatformPei/{ => Ia32_X64}/Platform.c (100%) diff --git a/OvmfPkg/PlatformPei/PlatformPei.inf b/OvmfPkg/PlatformPei/PlatformPei.inf index 3cd83e6ec3e5..683ebf1a440a 100644 --- a/OvmfPkg/PlatformPei/PlatformPei.inf +++ b/OvmfPkg/PlatformPei/PlatformPei.inf @@ -22,16 +22,16 @@ [Defines] # VALID_ARCHITECTURES = IA32 X64 EBC # -[Sources] - AmdSev.c - ClearCache.c - FeatureControl.c - Fv.c - MemDetect.c - MemTypeInfo.c - Platform.c - Platform.h - IntelTdx.c +[Sources.IA32, Sources.X64] + Ia32_X64/AmdSev.c + Ia32_X64/ClearCache.c + Ia32_X64/FeatureControl.c + Ia32_X64/Fv.c + Ia32_X64/MemDetect.c + Ia32_X64/MemTypeInfo.c + Ia32_X64/Platform.c + Ia32_X64/Platform.h + Ia32_X64/IntelTdx.c [Packages] EmbeddedPkg/EmbeddedPkg.dec @@ -57,14 +57,16 @@ [LibraryClasses] PeiServicesLib PeiServicesTablePointerLib PeimEntryPoint + PcdLib + PlatformInitLib + +[LibraryClasses.IA32, LibraryClasses.X64] + MtrrLib + VmgExitLib QemuFwCfgLib QemuFwCfgS3Lib QemuFwCfgSimpleParserLib - MtrrLib MemEncryptSevLib - PcdLib - VmgExitLib - PlatformInitLib [Pcd] gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase @@ -99,7 +101,6 @@ [Pcd] gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved - gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable @@ -116,6 +117,9 @@ [Pcd] gUefiCpuPkgTokenSpaceGuid.PcdGhcbHypervisorFeatures gEfiMdeModulePkgTokenSpaceGuid.PcdTdxSharedBitMask +[Pcd.IA32, Pcd.X64] + gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode + [FixedPcd] gUefiOvmfPkgTokenSpaceGuid.PcdOvmfCpuidBase gUefiOvmfPkgTokenSpaceGuid.PcdOvmfCpuidSize diff --git a/OvmfPkg/PlatformPei/Platform.h b/OvmfPkg/PlatformPei/Ia32_X64/Platform.h similarity index 100% rename from OvmfPkg/PlatformPei/Platform.h rename to OvmfPkg/PlatformPei/Ia32_X64/Platform.h diff --git a/OvmfPkg/PlatformPei/AmdSev.c b/OvmfPkg/PlatformPei/Ia32_X64/AmdSev.c similarity index 100% rename from OvmfPkg/PlatformPei/AmdSev.c rename to OvmfPkg/PlatformPei/Ia32_X64/AmdSev.c diff --git a/OvmfPkg/PlatformPei/ClearCache.c b/OvmfPkg/PlatformPei/Ia32_X64/ClearCache.c similarity index 100% rename from OvmfPkg/PlatformPei/ClearCache.c rename to OvmfPkg/PlatformPei/Ia32_X64/ClearCache.c diff --git a/OvmfPkg/PlatformPei/FeatureControl.c b/OvmfPkg/PlatformPei/Ia32_X64/FeatureControl.c similarity index 100% rename from OvmfPkg/PlatformPei/FeatureControl.c rename to OvmfPkg/PlatformPei/Ia32_X64/FeatureControl.c diff --git a/OvmfPkg/PlatformPei/Fv.c b/OvmfPkg/PlatformPei/Ia32_X64/Fv.c similarity index 100% rename from OvmfPkg/PlatformPei/Fv.c rename to OvmfPkg/PlatformPei/Ia32_X64/Fv.c diff --git a/OvmfPkg/PlatformPei/IntelTdx.c b/OvmfPkg/PlatformPei/Ia32_X64/IntelTdx.c similarity index 100% rename from OvmfPkg/PlatformPei/IntelTdx.c rename to OvmfPkg/PlatformPei/Ia32_X64/IntelTdx.c diff --git a/OvmfPkg/PlatformPei/MemDetect.c b/OvmfPkg/PlatformPei/Ia32_X64/MemDetect.c similarity index 100% rename from OvmfPkg/PlatformPei/MemDetect.c rename to OvmfPkg/PlatformPei/Ia32_X64/MemDetect.c diff --git a/OvmfPkg/PlatformPei/MemTypeInfo.c b/OvmfPkg/PlatformPei/Ia32_X64/MemTypeInfo.c similarity index 100% rename from OvmfPkg/PlatformPei/MemTypeInfo.c rename to OvmfPkg/PlatformPei/Ia32_X64/MemTypeInfo.c diff --git a/OvmfPkg/PlatformPei/Platform.c b/OvmfPkg/PlatformPei/Ia32_X64/Platform.c similarity index 100% rename from OvmfPkg/PlatformPei/Platform.c rename to OvmfPkg/PlatformPei/Ia32_X64/Platform.c -- 2.25.1