[edk2-platforms PATCH 2/7] Marvell: Armada7k8k/OcteonTx: Add missing _STA methods in ACPI tables
Marcin Wojtas
BBR 1.0 spec says that _STA is required for each device in DSDT or SSDT.
Fix that for all platforms with the Marvell SoC's. Signed-off-by: Marcin Wojtas <mw@...> --- Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Dsdt.asl | 56 ++++++= +++++++++ Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Dsdt.asl | 76 ++++++= ++++++++++++++ Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Dsdt.asl | 72 ++++++= +++++++++++++ Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn9131DbA/Ssdt.asl | 12 ++++ Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn913xDbA/Dsdt.asl | 56 ++++++= +++++++++ 5 files changed, 272 insertions(+) diff --git a/Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Dsdt.asl b/= Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Dsdt.asl index 345c1e4dd6..88e38efeeb 100644 --- a/Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Dsdt.asl +++ b/Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Dsdt.asl @@ -20,21 +20,37 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARMA= DA7K", 3) {=0D Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardw= are ID=0D Name (_UID, 0x000) // _UID: Unique ID=0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D }=0D Device (CPU1)=0D {=0D Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardw= are ID=0D Name (_UID, 0x001) // _UID: Unique ID=0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D }=0D Device (CPU2)=0D {=0D Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardw= are ID=0D Name (_UID, 0x100) // _UID: Unique ID=0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D }=0D Device (CPU3)=0D {=0D Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardw= are ID=0D Name (_UID, 0x101) // _UID: Unique ID=0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D }=0D =0D Device (AHC0)=0D @@ -42,6 +58,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARMAD= A7K", 3) Name (_HID, "LNRO001E") // _HID: Hardware ID=0D Name (_UID, 0x00) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CLS, Package (0x03) // _CLS: Class Code=0D {=0D 0x01,=0D @@ -67,6 +87,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARMAD= A7K", 3) Name (_HID, "MRVL0002") // _HID: Hardware ID=0D Name (_UID, 0x00) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D =0D Name (_CRS, ResourceTemplate () // _CRS: Current Resource Set= tings=0D {=0D @@ -96,6 +120,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARMA= DA7K", 3) Name (_HID, "MRVL0004") // _HID: Hardware ID=0D Name (_UID, 0x01) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D =0D Name (_CRS, ResourceTemplate () // _CRS: Current Resource Set= tings=0D {=0D @@ -123,6 +151,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA7K", 3) Name (_HID, "PNP0D10") // _HID: Hardware ID=0D Name (_UID, 0x00) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D =0D Name (_CRS, ResourceTemplate () // _CRS: Current Resource Set= tings=0D {=0D @@ -142,6 +174,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA7K", 3) Name (_HID, "PNP0D10") // _HID: Hardware ID=0D Name (_UID, 0x01) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D =0D Name (_CRS, ResourceTemplate () // _CRS: Current Resource Set= tings=0D {=0D @@ -160,6 +196,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA7K", 3) {=0D Name (_HID, "MRVL0001") // _HID: H= ardware ID=0D Name (_CID, "HISI0031") // _CID: C= ompatible ID=0D + Method (_STA) // _STA: D= evice status=0D + {=0D + Return (0xF)=0D + }=0D Name (_ADR, FixedPcdGet64(PcdSerialRegisterBase)) // _ADR: A= ddress=0D Name (_CRS, ResourceTemplate () // _CRS: C= urrent Resource Settings=0D {=0D @@ -186,6 +226,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA7K", 3) {=0D Name (_HID, "MRVL0100") // _HID: H= ardware ID=0D Name (_UID, 0x00) // _UID: U= nique ID=0D + Method (_STA) // _STA: D= evice status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CRS, ResourceTemplate ()=0D {=0D Memory32Fixed (ReadWrite,=0D @@ -208,6 +252,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA7K", 3) Name (_HID, "MRVL0110") // _HID: H= ardware ID=0D Name (_CCA, 0x01) // Cache-c= oherent controller=0D Name (_UID, 0x00) // _UID: U= nique ID=0D + Method (_STA) // _STA: D= evice status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CRS, ResourceTemplate ()=0D {=0D Memory32Fixed (ReadWrite, 0xf2000000 , 0x100000)=0D @@ -286,6 +334,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA7K", 3) {=0D Name (_HID, "PRP0001") // _HID= : Hardware ID=0D Name (_UID, 0x00) // _UID= : Unique ID=0D + Method (_STA) // _STA= : Device status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CRS, ResourceTemplate ()=0D {=0D Memory32Fixed (ReadWrite, 0xF2760000, 0x7D)=0D @@ -312,6 +364,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA7K", 3) Name (_SEG, 0x00) // _SEG: PCI Segment=0D Name (_BBN, 0x00) // _BBN: BIOS Bus Number=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute=0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D Name (_PRT, Package () // _PRT: PCI Routing Table=0D {=0D Package () { 0xFFFF, 0x0, 0x0, 0x40 },=0D diff --git a/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Dsdt.asl b/= Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Dsdt.asl index 91401c74c8..77d3aebaf1 100644 --- a/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Dsdt.asl +++ b/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Dsdt.asl @@ -20,21 +20,37 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARMA= DA8K", 3) {=0D Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardw= are ID=0D Name (_UID, 0x000) // _UID: Unique ID=0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D }=0D Device (CPU1)=0D {=0D Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardw= are ID=0D Name (_UID, 0x001) // _UID: Unique ID=0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D }=0D Device (CPU2)=0D {=0D Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardw= are ID=0D Name (_UID, 0x100) // _UID: Unique ID=0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D }=0D Device (CPU3)=0D {=0D Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardw= are ID=0D Name (_UID, 0x101) // _UID: Unique ID=0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D }=0D =0D Device (AHC0)=0D @@ -42,6 +58,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARMAD= A8K", 3) Name (_HID, "LNRO001E") // _HID: Hardware ID=0D Name (_UID, 0x00) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CLS, Package (0x03) // _CLS: Class Code=0D {=0D 0x01,=0D @@ -67,6 +87,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARMAD= A8K", 3) Name (_HID, "LNRO001E") // _HID: Hardware ID=0D Name (_UID, 0x01) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CLS, Package (0x03) // _CLS: Class Code=0D {=0D 0x01,=0D @@ -92,6 +116,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARMA= DA8K", 3) Name (_HID, "MRVL0002") // _HID: Hardware ID=0D Name (_UID, 0x00) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D =0D Name (_CRS, ResourceTemplate () // _CRS: Current Resource Set= tings=0D {=0D @@ -122,6 +150,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) Name (_HID, "MRVL0004") // _HID: Hardware ID=0D Name (_UID, 0x01) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D =0D Name (_CRS, ResourceTemplate () // _CRS: Current Resource Set= tings=0D {=0D @@ -151,6 +183,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) Name (_HID, "PNP0D10") // _HID: Hardware ID=0D Name (_UID, 0x00) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D =0D Name (_CRS, ResourceTemplate () // _CRS: Current Resource Set= tings=0D {=0D @@ -170,6 +206,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) Name (_HID, "PNP0D10") // _HID: Hardware ID=0D Name (_UID, 0x01) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D =0D Name (_CRS, ResourceTemplate () // _CRS: Current Resource Set= tings=0D {=0D @@ -189,6 +229,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) Name (_HID, "PNP0D10") // _HID: Hardware ID=0D Name (_UID, 0x02) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D =0D Name (_CRS, ResourceTemplate () // _CRS: Current Resource Set= tings=0D {=0D @@ -207,6 +251,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) {=0D Name (_HID, "MRVL0001") // _HID: H= ardware ID=0D Name (_CID, "HISI0031") // _CID: C= ompatible ID=0D + Method (_STA) // _STA: D= evice status=0D + {=0D + Return (0xF)=0D + }=0D Name (_ADR, FixedPcdGet64(PcdSerialRegisterBase)) // _ADR: A= ddress=0D Name (_CRS, ResourceTemplate () // _CRS: C= urrent Resource Settings=0D {=0D @@ -233,6 +281,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) {=0D Name (_HID, "MRVL0100") // _HID: H= ardware ID=0D Name (_UID, 0x00) // _UID: U= nique ID=0D + Method (_STA) // _STA: D= evice status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CRS, ResourceTemplate ()=0D {=0D Memory32Fixed (ReadWrite,=0D @@ -251,6 +303,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) Name (_HID, "MRVL0110") // _HID: H= ardware ID=0D Name (_CCA, 0x01) // Cache-c= oherent controller=0D Name (_UID, 0x00) // _UID: U= nique ID=0D + Method (_STA) // _STA: D= evice status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CRS, ResourceTemplate ()=0D {=0D Memory32Fixed (ReadWrite, 0xf2000000 , 0x100000)=0D @@ -309,6 +365,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) {=0D Name (_HID, "MRVL0100") // _HID: H= ardware ID=0D Name (_UID, 0x01) // _UID: U= nique ID=0D + Method (_STA) // _STA: D= evice status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CRS, ResourceTemplate ()=0D {=0D Memory32Fixed (ReadWrite,=0D @@ -327,6 +387,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) Name (_HID, "MRVL0110") // _HID: H= ardware ID=0D Name (_CCA, 0x01) // Cache-c= oherent controller=0D Name (_UID, 0x01) // _UID: U= nique ID=0D + Method (_STA) // _STA: D= evice status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CRS, ResourceTemplate ()=0D {=0D Memory32Fixed (ReadWrite, 0xf4000000 , 0x100000)=0D @@ -385,6 +449,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) {=0D Name (_HID, "PRP0001") // _HID= : Hardware ID=0D Name (_UID, 0x00) // _UID= : Unique ID=0D + Method (_STA) // _STA= : Device status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CRS, ResourceTemplate ()=0D {=0D Memory32Fixed (ReadWrite, 0xF2760000, 0x7D)=0D @@ -405,6 +473,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) {=0D Name (_HID, "PRP0001") // _HID= : Hardware ID=0D Name (_UID, 0x01) // _UID= : Unique ID=0D + Method (_STA) // _STA= : Device status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CRS, ResourceTemplate ()=0D {=0D Memory32Fixed (ReadWrite, 0xF4760000, 0x7D)=0D @@ -431,6 +503,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) Name (_SEG, 0x00) // _SEG: PCI Segment=0D Name (_BBN, 0x00) // _BBN: BIOS Bus Number=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute=0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D Name (_PRT, Package () // _PRT: PCI Routing Table=0D {=0D Package () { 0xFFFF, 0x0, 0x0, 0x40 },=0D diff --git a/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Dsdt.asl= b/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Dsdt.asl index d26945d933..1ecbd0309c 100644 --- a/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Dsdt.asl +++ b/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Dsdt.asl @@ -19,21 +19,37 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARMA= DA8K", 3) {=0D Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardw= are ID=0D Name (_UID, 0x000) // _UID: Unique ID=0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D }=0D Device (CPU1)=0D {=0D Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardw= are ID=0D Name (_UID, 0x001) // _UID: Unique ID=0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D }=0D Device (CPU2)=0D {=0D Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardw= are ID=0D Name (_UID, 0x100) // _UID: Unique ID=0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D }=0D Device (CPU3)=0D {=0D Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardw= are ID=0D Name (_UID, 0x101) // _UID: Unique ID=0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D }=0D =0D Device (AHC0)=0D @@ -41,6 +57,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARMAD= A8K", 3) Name (_HID, "LNRO001E") // _HID: Hardware ID=0D Name (_UID, 0x00) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CLS, Package (0x03) // _CLS: Class Code=0D {=0D 0x01,=0D @@ -91,6 +111,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARMA= DA8K", 3) Name (_HID, "MRVL0002") // _HID: Hardware ID=0D Name (_UID, 0x00) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D =0D Name (_CRS, ResourceTemplate () // _CRS: Current Resource Set= tings=0D {=0D @@ -122,6 +146,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) Name (_HID, "MRVL0004") // _HID: Hardware ID=0D Name (_UID, 0x01) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D =0D Name (_CRS, ResourceTemplate () // _CRS: Current Resource Set= tings=0D {=0D @@ -150,6 +178,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) Name (_HID, "PNP0D10") // _HID: Hardware ID=0D Name (_UID, 0x00) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D =0D Name (_CRS, ResourceTemplate () // _CRS: Current Resource Set= tings=0D {=0D @@ -169,6 +201,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) Name (_HID, "PNP0D10") // _HID: Hardware ID=0D Name (_UID, 0x01) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D =0D Name (_CRS, ResourceTemplate () // _CRS: Current Resource Set= tings=0D {=0D @@ -188,6 +224,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) Name (_HID, "PNP0D10") // _HID: Hardware ID=0D Name (_UID, 0x02) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D =0D Name (_CRS, ResourceTemplate () // _CRS: Current Resource Set= tings=0D {=0D @@ -206,6 +246,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) {=0D Name (_HID, "MRVL0001") // _HID: H= ardware ID=0D Name (_CID, "HISI0031") // _CID: C= ompatible ID=0D + Method (_STA) // _STA: D= evice status=0D + {=0D + Return (0xF)=0D + }=0D Name (_ADR, FixedPcdGet64(PcdSerialRegisterBase)) // _ADR: A= ddress=0D Name (_CRS, ResourceTemplate () // _CRS: C= urrent Resource Settings=0D {=0D @@ -232,6 +276,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) {=0D Name (_HID, "MRVL0100") // _HID: H= ardware ID=0D Name (_UID, 0x00) // _UID: U= nique ID=0D + Method (_STA) // _STA: D= evice status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CRS, ResourceTemplate ()=0D {=0D Memory32Fixed (ReadWrite,=0D @@ -249,6 +297,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) {=0D Name (_HID, "MRVL0101") // _HID: H= ardware ID=0D Name (_UID, 0x00) // _UID: U= nique ID=0D + Method (_STA) // _STA: D= evice status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CRS, ResourceTemplate ()=0D {=0D Memory32Fixed (ReadWrite,=0D @@ -283,6 +335,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) Name (_HID, "MRVL0110") // _HID: H= ardware ID=0D Name (_CCA, 0x01) // Cache-c= oherent controller=0D Name (_UID, 0x00) // _UID: U= nique ID=0D + Method (_STA) // _STA: D= evice status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CRS, ResourceTemplate ()=0D {=0D Memory32Fixed (ReadWrite, 0xf2000000 , 0x100000)=0D @@ -322,6 +378,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) Name (_HID, "MRVL0110") // _HID: H= ardware ID=0D Name (_CCA, 0x01) // Cache-c= oherent controller=0D Name (_UID, 0x01) // _UID: U= nique ID=0D + Method (_STA) // _STA: D= evice status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CRS, ResourceTemplate ()=0D {=0D Memory32Fixed (ReadWrite, 0xf4000000 , 0x100000)=0D @@ -400,6 +460,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) {=0D Name (_HID, "PRP0001") // _HID= : Hardware ID=0D Name (_UID, 0x00) // _UID= : Unique ID=0D + Method (_STA) // _STA= : Device status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CRS, ResourceTemplate ()=0D {=0D Memory32Fixed (ReadWrite, 0xF2760000, 0x7D)=0D @@ -420,6 +484,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) {=0D Name (_HID, "PRP0001") // _HID= : Hardware ID=0D Name (_UID, 0x01) // _UID= : Unique ID=0D + Method (_STA) // _STA= : Device status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CRS, ResourceTemplate ()=0D {=0D Memory32Fixed (ReadWrite, 0xF4760000, 0x7D)=0D @@ -446,6 +514,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARM= ADA8K", 3) Name (_SEG, 0x00) // _SEG: PCI Segment=0D Name (_BBN, 0x00) // _BBN: BIOS Bus Number=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute=0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D Name (_PRT, Package () // _PRT: PCI Routing Table=0D {=0D Package () { 0xFFFF, 0x0, 0x0, 0x40 },=0D diff --git a/Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn9131DbA/Ssdt.asl b/S= ilicon/Marvell/OcteonTx/AcpiTables/T91/Cn9131DbA/Ssdt.asl index 8377b13763..d6619e367b 100644 --- a/Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn9131DbA/Ssdt.asl +++ b/Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn9131DbA/Ssdt.asl @@ -20,6 +20,10 @@ DefinitionBlock ("Cn9131DbASsdt.aml", "SSDT", 2, "MVEBU = ", "CN9131", 3) Name (_HID, "LNRO001E") // _HID: Hardware ID=0D Name (_UID, 0x01) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CLS, Package (0x03) // _CLS: Class Code=0D {=0D 0x01,=0D @@ -45,6 +49,10 @@ DefinitionBlock ("Cn9131DbASsdt.aml", "SSDT", 2, "MVEBU = ", "CN9131", 3) Name (_HID, "PNP0D10") // _HID: Hardware ID=0D Name (_UID, 0x02) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D =0D Name (_CRS, ResourceTemplate () // _CRS: Current Resource Set= tings=0D {=0D @@ -63,6 +71,10 @@ DefinitionBlock ("Cn9131DbASsdt.aml", "SSDT", 2, "MVEBU = ", "CN9131", 3) Name (_HID, "MRVL0110") // _HID: H= ardware ID=0D Name (_CCA, 0x01) // Cache-c= oherent controller=0D Name (_UID, 0x01) // _UID: U= nique ID=0D + Method (_STA) // _STA: D= evice status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CRS, ResourceTemplate ()=0D {=0D Memory32Fixed (ReadWrite, 0xf4000000 , 0x100000)=0D diff --git a/Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn913xDbA/Dsdt.asl b/S= ilicon/Marvell/OcteonTx/AcpiTables/T91/Cn913xDbA/Dsdt.asl index d76a2a902b..536df8ab4b 100644 --- a/Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn913xDbA/Dsdt.asl +++ b/Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn913xDbA/Dsdt.asl @@ -20,21 +20,37 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "CN91= 30", 3) {=0D Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardw= are ID=0D Name (_UID, 0x000) // _UID: Unique ID=0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D }=0D Device (CPU1)=0D {=0D Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardw= are ID=0D Name (_UID, 0x001) // _UID: Unique ID=0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D }=0D Device (CPU2)=0D {=0D Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardw= are ID=0D Name (_UID, 0x100) // _UID: Unique ID=0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D }=0D Device (CPU3)=0D {=0D Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardw= are ID=0D Name (_UID, 0x101) // _UID: Unique ID=0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D }=0D =0D Device (AHC0)=0D @@ -42,6 +58,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "CN913= 0", 3) Name (_HID, "LNRO001E") // _HID: Hardware ID=0D Name (_UID, 0x00) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CLS, Package (0x03) // _CLS: Class Code=0D {=0D 0x01,=0D @@ -67,6 +87,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "CN913= 0", 3) Name (_HID, "MRVL0003") // _HID: Hardware ID=0D Name (_UID, 0x00) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D =0D Name (_CRS, ResourceTemplate () // _CRS: Current Resource Set= tings=0D {=0D @@ -98,6 +122,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "CN91= 30", 3) Name (_HID, "MRVL0004") // _HID: Hardware ID=0D Name (_UID, 0x01) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D =0D Name (_CRS, ResourceTemplate () // _CRS: Current Resource Set= tings=0D {=0D @@ -126,6 +154,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "CN9= 130", 3) Name (_HID, "PNP0D10") // _HID: Hardware ID=0D Name (_UID, 0x00) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D =0D Name (_CRS, ResourceTemplate () // _CRS: Current Resource Set= tings=0D {=0D @@ -145,6 +177,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "CN9= 130", 3) Name (_HID, "PNP0D10") // _HID: Hardware ID=0D Name (_UID, 0x01) // _UID: Unique ID=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute= =0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D =0D Name (_CRS, ResourceTemplate () // _CRS: Current Resource Set= tings=0D {=0D @@ -163,6 +199,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "CN9= 130", 3) {=0D Name (_HID, "MRVL0001") // _HID: H= ardware ID=0D Name (_CID, "HISI0031") // _CID: C= ompatible ID=0D + Method (_STA) // _STA: D= evice status=0D + {=0D + Return (0xF)=0D + }=0D Name (_ADR, FixedPcdGet64(PcdSerialRegisterBase)) // _ADR: A= ddress=0D Name (_CRS, ResourceTemplate () // _CRS: C= urrent Resource Settings=0D {=0D @@ -189,6 +229,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "CN9= 130", 3) {=0D Name (_HID, "MRVL0100") // _HID: H= ardware ID=0D Name (_UID, 0x00) // _UID: U= nique ID=0D + Method (_STA) // _STA: D= evice status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CRS, ResourceTemplate ()=0D {=0D Memory32Fixed (ReadWrite,=0D @@ -211,6 +255,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "CN9= 130", 3) Name (_HID, "MRVL0110") // _HID: H= ardware ID=0D Name (_CCA, 0x01) // Cache-c= oherent controller=0D Name (_UID, 0x00) // _UID: U= nique ID=0D + Method (_STA) // _STA: D= evice status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CRS, ResourceTemplate ()=0D {=0D Memory32Fixed (ReadWrite, 0xf2000000 , 0x100000)=0D @@ -289,6 +337,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "CN9= 130", 3) {=0D Name (_HID, "PRP0001") // _HID= : Hardware ID=0D Name (_UID, 0x00) // _UID= : Unique ID=0D + Method (_STA) // _STA= : Device status=0D + {=0D + Return (0xF)=0D + }=0D Name (_CRS, ResourceTemplate ()=0D {=0D Memory32Fixed (ReadWrite, 0xF2760000, 0x7D)=0D @@ -315,6 +367,10 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "CN9= 130", 3) Name (_SEG, 0x00) // _SEG: PCI Segment=0D Name (_BBN, 0x00) // _BBN: BIOS Bus Number=0D Name (_CCA, 0x01) // _CCA: Cache Coherency Attribute=0D + Method (_STA) // _STA: Device status=0D + {=0D + Return (0xF)=0D + }=0D Name (_PRT, Package () // _PRT: PCI Routing Table=0D {=0D Package () { 0xFFFF, 0x0, 0x0, 0x40 },=0D --=20 2.29.0
|
|
[edk2-platforms PATCH 1/7] Marvell: Armada7k8k: Add missing VariablePolicyHelperLib resolution
Marcin Wojtas
From: Grzegorz Bernacki <gjb@...>
The latest changes in MdeModulePkg/Universal/BdsDxe require VariablePolicyHelperLib resolution. Fix that for all platforms based on the Marvell SoCs. Signed-off-by: Marcin Wojtas <mw@...> --- Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc b/Silicon/Marvel= l/Armada7k8k/Armada7k8k.dsc.inc index 939fbf14d9..c919d4bfab 100644 --- a/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc +++ b/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc @@ -175,6 +175,7 @@ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAll= ocationLib.inf=0D NonDiscoverableDeviceRegistrationLib|MdeModulePkg/Library/NonDiscoverabl= eDeviceRegistrationLib/NonDiscoverableDeviceRegistrationLib.inf=0D DtPlatformDtbLoaderLib|EmbeddedPkg/Library/DxeDtPlatformDtbLoaderLibDefa= ult/DxeDtPlatformDtbLoaderLibDefault.inf=0D + VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/Var= iablePolicyHelperLib.inf=0D =0D [LibraryClasses.common.UEFI_APPLICATION]=0D PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.= inf=0D @@ -197,6 +198,7 @@ !endif=0D DebugLib|MdePkg/Library/DxeRuntimeDebugLibSerialPort/DxeRuntimeDebugLibS= erialPort.inf=0D VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyL= ibRuntimeDxe.inf=0D + VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/Var= iablePolicyHelperLib.inf=0D =0D [LibraryClasses.ARM, LibraryClasses.AARCH64]=0D #=0D @@ -563,7 +565,6 @@ NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf=0D TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeas= urementLibNull.inf=0D VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf=0D - VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib= /VariablePolicyHelperLib.inf=0D }=0D =0D # UEFI application (Shell Embedded Boot Loader)=0D --=20 2.29.0
|
|
[edk2-platforms PATCH 0/7] Marvell ACS improvements
Marcin Wojtas
Hi,
This new series comes with the remaining improvements that allow the ACS3.0 test suite to pass the SBSA/FWTS/SCT to the maximum non-HW related extent. Missing _STA methods and DBG2 description are added to the ACPI tables. Moreover all platforms start using the maintained MonotonicCounterRuntimeDxe. Also a build fix is added for the VariablePolicyHelperLib resolution, that is required after the recent changes in edk2. Last but not least the SMBIOS Type0 description is updated with the actual EDK2 firmare vendor and version strings. More details can be found in the commit logs. The patchest is publicly available in the github: https://github.com/semihalf-wojtas-marcin/edk2-platforms/commits/marvell-acs-r20210719 Best regards, Marcin Grzegorz Bernacki (2): Marvell: Armada7k8k: Add missing VariablePolicyHelperLib resolution Marvell: Armada7k8k/OcteonTx: Switch to MonotonicCounterRuntimeDxe Marcin Wojtas (5): Marvell: Armada7k8k/OcteonTx: Add missing _STA methods in ACPI tables Marvell/Cn913xDbA: AcpiTables: Introduce DBG2 table SolidRun/Armada80x0McBin: AcpiTables: Introduce DBG2 table Marvell/Drivers: SmbiosPlatformDxe: Update Type0 information Marvell: Armada7k8k/OcteonTx: Bump firmware to "EDK2 SH 1.0" revision Silicon/Marvell/Marvell.dec | 2 + Platform/Marvell/Cn913xDb/Cn9130DbA.dsc.inc | 4 +- Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc | 8 +- Silicon/Marvell/Armada7k8k/Armada7k8k.fdf | 2 +- Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin.inf | 1 + Silicon/Marvell/Drivers/SmbiosPlatformDxe/SmbiosPlatformDxe.inf | 2 + Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn9130DbA.inf | 1 + Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn9131DbA.inf | 1 + Silicon/Marvell/Armada7k8k/AcpiTables/AcpiHeader.h | 2 + Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Dbg2.h | 9 ++ Silicon/Marvell/Armada7k8k/AcpiTables/IcuInterrupts.h | 2 + Silicon/Marvell/OcteonTx/AcpiTables/T91/AcpiHeader.h | 2 + Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn913xDbA/Dbg2.h | 9 ++ Silicon/Marvell/OcteonTx/AcpiTables/T91/IcuInterrupts.h | 2 + Silicon/Marvell/Drivers/SmbiosPlatformDxe/SmbiosPlatformDxe.c | 6 +- Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Dsdt.asl | 56 +++++++++++ Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Dsdt.asl | 76 ++++++++++++++ Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Dbg2.aslc | 74 ++++++++++++++ Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Dsdt.asl | 105 ++++++++++++++++++++ Silicon/Marvell/Armada7k8k/AcpiTables/Spcr.aslc | 2 - Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn9131DbA/Ssdt.asl | 12 +++ Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn913xDbA/Dbg2.aslc | 74 ++++++++++++++ Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn913xDbA/Dsdt.asl | 89 +++++++++++++++++ Silicon/Marvell/OcteonTx/AcpiTables/T91/Spcr.aslc | 2 - 24 files changed, 530 insertions(+), 13 deletions(-) create mode 100644 Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Dbg2.h create mode 100644 Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn913xDbA/Dbg2.h create mode 100644 Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Dbg2.aslc create mode 100644 Silicon/Marvell/OcteonTx/AcpiTables/T91/Cn913xDbA/Dbg2.aslc -- 2.29.0
|
|
Re: [PATCH v4 0/3] Enable Cloud Hypervisor support in edk2
Sami Mujawar
Hi Ard,
On 16/07/2021, 18:28, "Ard Biesheuvel" <ardb@...> wrote: On Fri, 16 Jul 2021 at 19:25, Ard Biesheuvel <ardb@...> wrote: > > On Mon, 5 Jul 2021 at 12:06, Jianyong Wu <jianyong.wu@...> wrote: > > > > Cloud Hypervisor is an open source Virtual Machine Monitor (VMM) that > > runs on top of KVM. Cloud Hypervisor is implemented in Rust and is based > > on the rust-vmm crates. See [1] to find more. > > > > To support UEFI, Cloud Hypervisor is introduced here. > > There are 2 parts to be considered to do this enablement, that is: > > 1. specific ACPI service implementation compared with qemu, there is no > > device like Fw-cfg, so we have no elegant way to get the RSDP address. > > A specific ACPI implementation is introduced here. > > > > 2. build configuration file for Cloud Hypervisor > > > > Change log: > > > > v3 to v4: > > (1) remove Tpm support in dsc file > > (2) refine Acpi table install code base on Sami's comments in v3 > > > > v2 to v3: > > (1) reuse qemu's memory initialization lib as they are in nearly the same > > memory laout. > > (2) split Acpi implemetation into PlatformHasAcpi and > > InstallAcpiTable. > > (3) remove lots of dependencies from qemu like "*Fwcfg*" lib. > > (4) lots of code cleanup work to let it more approach to edk2 code > > style. > > > > [1] https://github.com/cloud-hypervisor/cloud-hypervisor > > > > Jianyong Wu (3): > > Acpi: reimplement PlatformHasAcpi for Cloud Hypervisor > > Acpi: Install Acpi tables for Cloud hypervisor > > ArmVirtCloudHv: support Cloud Hypervisor in edk2 > > > > Sami, any thoughts on this code? > ... or did you already merge the entire series? (My mailbox is overflowing a bit after 4 weeks of vacation :-)) [SAMI] I have merged this series. Regards, Sami Mujawar > > > ArmVirtPkg/ArmVirtPkg.dec | 6 + > > ArmVirtPkg/ArmVirtCloudHv.dsc | 364 ++++++++++++++++++ > > ArmVirtPkg/ArmVirtCloudHv.fdf | 258 +++++++++++++ > > .../CloudHvAcpiPlatformDxe.inf | 47 +++ > > .../CloudHvHasAcpiDtDxe.inf | 43 +++ > > .../CloudHvAcpiPlatformDxe/CloudHvAcpi.c | 155 ++++++++ > > .../CloudHvHasAcpiDtDxe.c | 69 ++++ > > 7 files changed, 942 insertions(+) > > create mode 100644 ArmVirtPkg/ArmVirtCloudHv.dsc > > create mode 100644 ArmVirtPkg/ArmVirtCloudHv.fdf > > create mode 100644 ArmVirtPkg/CloudHvAcpiPlatformDxe/CloudHvAcpiPlatformDxe.inf > > create mode 100644 ArmVirtPkg/CloudHvPlatformHasAcpiDtDxe/CloudHvHasAcpiDtDxe.inf > > create mode 100644 ArmVirtPkg/CloudHvAcpiPlatformDxe/CloudHvAcpi.c > > create mode 100644 ArmVirtPkg/CloudHvPlatformHasAcpiDtDxe/CloudHvHasAcpiDtDxe.c > > > > -- > > 2.17.1 > > IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
|
|
Re: [PATCH v5 1/4] OvmfPkg/BaseMemEncryptLib: Support to issue unencrypted hypercall
Dov Murik
On 16/07/2021 15:29, Ashish Kalra wrote:
Hello Dov,Put the first argument on its own line. AsciiStrCmp will stop at the first '\0' char. So adding those threeI don't understand what do you mean by "KVMKVMKVM\0YZ", this is+ NULL,I assume this will also match if Signature is "KVMKVMKVM\0YZ". I don't '\0' at the end is pointless (the compiler will add one '\0' at the end of a literal string). Instead, you can use: if (CompareMem (Signature, "KVMKVMKVM\0\0\0", 12) == 0) and then you are sure to compare all 12 signature bytes. I'm not sure this matters at all, maybe a simple: if (AsciiStrCmp (Signature, "KVMKVMKVM") == 0) is good enough. I see similar code to detect Xen in OvmfPkg/XenPlatformPei/Xen.c . s/%s/%a/+ DEBUG (( (edk2 format strings are confusing.) OK. So fix the comment above the function (which says: "The physicalOk.+ __FUNCTION__,I'd write: "%a: SEV Live Migration feature supported\n" address is expected to be PAGE_SIZE aligned.") Even clearer than a literal 0 -- pass a ClearCBit as the third argumentOk.+ Ret = RETURN_UNSUPPORTED;Simpler: (assuming you're changing the argument type to MAP_RANGE_MODE). -Dov Thanks,
|
|
[edk2-test][PATCH v1 1/1] uefi-sct/SctPkg: Update page alignment calculations
Sunny Wang
This is to fix the SCT BS.AllocatePages failures (not found) with the
case that the Start address is not aligned to 64k. For example, The following is available memory region for testing: 0000000082012000-00000000EB6D9FFF 00000000000696C8 With the current page alignment calculation, we will get: Start address is 0x82020000 PageNum is 0x696B8 In BS.AllocatePages, it will make the end address align with 64k, so PageNum will be changed from 0x696B8 to 0x696C0. Therefore, the end address will become 0xEB6E0000 which is larger than 0xEB6D9FFF, so we get not found error in the end. Therefore, the calculation for getting the PageNum should be updated to PageNum - (2 * EFI_SIZE_TO_PAGES(0x10000)) so that we won't get a wrong PageNum to allocate a memory with a size larger than available space's size. With this solution, the example above will get 0x696A8 as calculated PageNum. Then, in BS.AllocatePages, the PageNum will be changed from 0x696A8 to 0x696B0. Therefore, the end address will become 0xEB6D0000 that is smaller than 0xEB6D9FFF, so we get not found error in the end. I also tested this solution on two ARM platforms (NXP1046A and RPi4). Cc: Samer El-Haj-Mahmoud <samer.el-haj-mahmoud@...> Cc: G Edhaya Chandran <edhaya.chandran@...> Cc: Barton Gao <gaojie@...> Signed-off-by: Sunny Wang <sunny.wang@...> --- .../MemoryAllocationServicesBBTestFunction.c | 110 +++++++++++------- 1 file changed, 66 insertions(+), 44 deletions(-) diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/MemoryAllocat= ionServices/BlackBoxTest/MemoryAllocationServicesBBTestFunction.c b/uefi-= sct/SctPkg/TestCase/UEFI/EFI/BootServices/MemoryAllocationServices/BlackB= oxTest/MemoryAllocationServicesBBTestFunction.c index bf8cd3b3..cdfac992 100644 --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/MemoryAllocationServ= ices/BlackBoxTest/MemoryAllocationServicesBBTestFunction.c +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/MemoryAllocationServ= ices/BlackBoxTest/MemoryAllocationServicesBBTestFunction.c @@ -2,6 +2,7 @@ =20 Copyright 2006 - 2013 Unified EFI, Inc.<BR> Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.<BR> + Copyright (c) 2021, ARM Limited. All rights reserved. =20 This program and the accompanying materials are licensed and made available under the terms and conditions of the = BSD License @@ -24,7 +25,7 @@ Abstract: =20 --*/ =20 -#include "SctLib.h" +#include "SctLib.h" #include "MemoryAllocationServicesBBTestMain.h" =20 #define ALLOCATEPAGES_MEMORYTYPE_NUM 16 @@ -700,14 +701,17 @@ BBTestAllocatePagesInterfaceTest ( PageNum =3D (UINTN)Descriptor.NumberOfPages; Start =3D Descriptor.PhysicalStart; =20 - // - // Some memory types need more alignment than 4K, so - // - if (PageNum <=3D 0x10) { + // + // Calculate New Start address and PageNum with 64k alignment to + // cover the case that some memory types' alignment is more than + // 4k. If the available memory is less than 192k, the memory + // allocation call will be skipped. + // + if (PageNum < (3 * EFI_SIZE_TO_PAGES(0x10000))) { break; } - Start =3D (Start + 0xFFFF) & 0xFFFFFFFFFFFF0000; - PageNum =3D PageNum - EFI_SIZE_TO_PAGES(0x10000); + Start =3D (Start + 0xFFFF) & 0xFFFFFFFFFFFF0000; + PageNum =3D PageNum - (2 * EFI_SIZE_TO_PAGES(0x10000)); =20 Memory =3D Start; =20 @@ -830,14 +834,17 @@ BBTestAllocatePagesInterfaceTest ( PageNum =3D (UINTN)Descriptor.NumberOfPages; Start =3D Descriptor.PhysicalStart; =20 - // - // Some memory types need more alignment than 4K, so - // - if (PageNum <=3D 0x10) { + // + // Calculate New Start address and PageNum with 64k alignment to + // cover the case that some memory types' alignment is more than + // 4k. If the available memory is less than 192k, the memory + // allocation call will be skipped. + // + if (PageNum < (3 * EFI_SIZE_TO_PAGES(0x10000))) { break; } - Start =3D (Start + 0xFFFF) & 0xFFFFFFFFFFFF0000; - PageNum =3D PageNum - EFI_SIZE_TO_PAGES(0x10000); + Start =3D (Start + 0xFFFF) & 0xFFFFFFFFFFFF0000; + PageNum =3D PageNum - (2 * EFI_SIZE_TO_PAGES(0x10000)); =20 Memory =3D Start; =20 @@ -953,14 +960,17 @@ BBTestAllocatePagesInterfaceTest ( PageNum =3D (UINTN)Descriptor.NumberOfPages; Start =3D Descriptor.PhysicalStart; =20 - // - // Some memory types need more alignment than 4K, so - // - if (PageNum <=3D 0x10) { + // + // Calculate New Start address and PageNum with 64k alignment to + // cover the case that some memory types' alignment is more than + // 4k. If the available memory is less than 192k, the memory + // allocation call will be skipped. + // + if (PageNum < (3 * EFI_SIZE_TO_PAGES(0x10000))) { break; } - Start =3D (Start + 0xFFFF) & 0xFFFFFFFFFFFF0000; - PageNum =3D PageNum - EFI_SIZE_TO_PAGES(0x10000); + Start =3D (Start + 0xFFFF) & 0xFFFFFFFFFFFF0000; + PageNum =3D PageNum - (2 * EFI_SIZE_TO_PAGES(0x10000)); =20 Memory =3D Start + (SctLShiftU64 (PageNum/3, EFI_PAGE_SHIFT) & 0= xFFFFFFFFFFFF0000); =20 @@ -1076,14 +1086,17 @@ BBTestAllocatePagesInterfaceTest ( PageNum =3D (UINTN)Descriptor.NumberOfPages; Start =3D Descriptor.PhysicalStart; =20 - // - // Some memory types need more alignment than 4K, so - // - if (PageNum <=3D 0x10) { + // + // Calculate New Start address and PageNum with 64k alignment to + // cover the case that some memory types' alignment is more than + // 4k. If the available memory is less than 192k, the memory + // allocation call will be skipped. + // + if (PageNum < (3 * EFI_SIZE_TO_PAGES(0x10000))) { break; } - Start =3D (Start + 0xFFFF) & 0xFFFFFFFFFFFF0000; - PageNum =3D PageNum - EFI_SIZE_TO_PAGES(0x10000); + Start =3D (Start + 0xFFFF) & 0xFFFFFFFFFFFF0000; + PageNum =3D PageNum - (2 * EFI_SIZE_TO_PAGES(0x10000)); =20 Memory =3D Start + (SctLShiftU64 (PageNum * 2 / 3, EFI_PAGE_SHI= FT) & 0xFFFFFFFFFFFF0000); =20 @@ -1206,14 +1219,17 @@ BBTestAllocatePagesInterfaceTest ( PageNum =3D (UINTN)Descriptor.NumberOfPages; Start =3D Descriptor.PhysicalStart; =20 - // - // Some memory types need more alignment than 4K, so - // - if (PageNum <=3D 0x10) { + // + // Calculate New Start address and PageNum with 64k alignment to + // cover the case that some memory types' alignment is more than + // 4k. If the available memory is less than 192k, the memory + // allocation call will be skipped. + // + if (PageNum < (3 * EFI_SIZE_TO_PAGES(0x10000))) { break; } - Start =3D (Start + 0xFFFF) & 0xFFFFFFFFFFFF0000; - PageNum =3D PageNum - EFI_SIZE_TO_PAGES(0x10000); + Start =3D (Start + 0xFFFF) & 0xFFFFFFFFFFFF0000; + PageNum =3D PageNum - (2 * EFI_SIZE_TO_PAGES(0x10000)); =20 Memory =3D Start; =20 @@ -1329,14 +1345,17 @@ BBTestAllocatePagesInterfaceTest ( PageNum =3D (UINTN)Descriptor.NumberOfPages; Start =3D Descriptor.PhysicalStart; =20 - // - // Some memory types need more alignment than 4K, so - // - if (PageNum <=3D 0x10) { + // + // Calculate New Start address and PageNum with 64k alignment to + // cover the case that some memory types' alignment is more than + // 4k. If the available memory is less than 192k, the memory + // allocation call will be skipped. + // + if (PageNum < (3 * EFI_SIZE_TO_PAGES(0x10000))) { break; } - Start =3D (Start + 0xFFFF) & 0xFFFFFFFFFFFF0000; - PageNum =3D PageNum - EFI_SIZE_TO_PAGES(0x10000); + Start =3D (Start + 0xFFFF) & 0xFFFFFFFFFFFF0000; + PageNum =3D PageNum - (2 * EFI_SIZE_TO_PAGES(0x10000)); =20 Memory =3D Start; =20 @@ -1468,14 +1487,17 @@ BBTestAllocatePagesInterfaceTest ( PageNum =3D (UINTN)Descriptor.NumberOfPages; Start =3D Descriptor.PhysicalStart; =20 - // - // Some memory types need more alignment than 4K, so - // - if (PageNum <=3D 0x10) { + // + // Calculate New Start address and PageNum with 64k alignment to + // cover the case that some memory types' alignment is more than + // 4k. If the available memory is less than 192k, the memory + // allocation call will be skipped. + // + if (PageNum < (3 * EFI_SIZE_TO_PAGES(0x10000))) { break; } - Start =3D (Start + 0xFFFF) & 0xFFFFFFFFFFFF0000; - PageNum =3D PageNum - EFI_SIZE_TO_PAGES(0x10000); + Start =3D (Start + 0xFFFF) & 0xFFFFFFFFFFFF0000; + PageNum =3D PageNum - (2 * EFI_SIZE_TO_PAGES(0x10000)); =20 Memory =3D Start; =20 @@ -1923,4 +1945,4 @@ BBTestFreePoolInterfaceTest ( =20 FreeMemoryMap (); return EFI_SUCCESS; -} +} --=20 2.31.0.windows.1
|
|
Re: [PATCH v1 1/1] ArmPlatformPkg/Scripts: Create add-symbol-file commands from UEFI console
Ard Biesheuvel
On Fri, 9 Jul 2021 at 11:03, PierreGondois <pierre.gondois@...> wrote:
Merged as #1821 Thanks,
|
|
Re: [PATCH] OvmfPkg/OvmfXen: add QemuKernelLoaderFsDxe
Ard Biesheuvel
On Fri, 9 Jul 2021 at 05:24, Gary Lin <glin@...> wrote:
I don't understand Xen on x86 well enough to decide whether we should care about QEMU in the first place. Xen folks, please have a look. ---
|
|
Re: [RFC PATCH] OvmfPkg/OvmfXen: set PcdAcpiS3Enable at initialization
Ard Biesheuvel
On Thu, 8 Jul 2021 at 06:05, Gary Lin <glin@...> wrote:
This needs an ack from the Xen folks. ---
|
|
Re: [PATCH v5 4/4] OvmfPkg/AmdSevDxe: Add support for SEV live migration.
Dov Murik
Ashish,
On 08/07/2021 17:09, Ashish Kalra wrote: From: Ashish Kalra <ashish.kalra@...> Why is this indirect notification needed? Why not simply call gRT->SetVariable in AmdSevDxeEntryPoint (instead of calling CreateEventEx)? If this is needed, please add a clarification (in the commit message and before the CreateEventEx call). Signed-off-by: Ashish Kalra <ashish.kalra@...>Should be: sizeof SevLiveMigrationEnabled, + &SevLiveMigrationEnabledRemove debug print. +} Should the filename, GUID #define name, and global var name include "AMD" or "SEV" in them? (and similarly in the corresponding Linux patch) Or: maybe the new "SevLiveMigrationEnabled" variable can be set in the confidential computing GUID? (not sure what are the guidelines for creating or reusing GUIDs). @@ -0,0 +1,20 @@typos: environment, associated + -Dov
|
|
Re: [edk2-platforms PATCH 0/4] ACPI MDIO support for Marvell SoCs
Ard Biesheuvel
On Fri, 16 Jul 2021 at 19:32, Ard Biesheuvel <ardb@...> wrote:
Pushed as bfabeef4c9a6..955187a12a8b Thanks all.
|
|
Re: [PATCH] UefiCpuPkg: SecCoreNative without ResetVector
Hi., Ray
toggle quoted messageShow quoted text
BIOS boot to OS verified in Simics Successfully with the following changes. 1. SecCoreNative.inf with new GUID. 2. Removed IA32 resetvector code from SecCoreNative. 3. Removed the ResetVector Code from PlatformSecLib 4. Consumed the ResetVector Code from UefiCpuPkg/ResetVector The reason for this change: Currently SecCore and ResetVector are using the Same GUID (BFV guid), which will block the usage of both SecCore and UefiCpuPkg/ResetVector at a same time. Advantage of this patch: 1. Provided the Backward compatibility by keeping the original SecCore 2. User can use both SecCoreNative and ResetVector at a same time. 3. User can choose to avoid resetvector code maintenance at the platform level. Regards, Ashraf Ali S Intel Technology India Pvt. Ltd.
-----Original Message-----
From: Ni, Ray <ray.ni@...> Sent: Monday, July 19, 2021 8:13 AM To: S, Ashraf Ali <ashraf.ali.s@...>; devel@edk2.groups.io Cc: Kumar, Rahul1 <rahul1.kumar@...>; De, Debkumar <debkumar.de@...>; Han, Harry <harry.han@...>; West, Catharine <catharine.west@...>; Solanki, Digant H <digant.h.solanki@...>; V, Sangeetha <sangeetha.v@...> Subject: RE: [PATCH] UefiCpuPkg: SecCoreNative without ResetVector Ashraf, What unit tests have you performed with this native SecCore? Thanks, Ray -----Original Message----- From: S, Ashraf Ali <ashraf.ali.s@...> Sent: Wednesday, July 14, 2021 5:48 PM To: devel@edk2.groups.io Cc: S, Ashraf Ali <ashraf.ali.s@...>; Ni, Ray <ray.ni@...>; Kumar, Rahul1 <rahul1.kumar@...>; De, Debkumar <debkumar.de@...>; Han, Harry <harry.han@...>; West, Catharine <catharine.west@...>; Solanki, Digant H <digant.h.solanki@...>; V, Sangeetha <sangeetha.v@...> Subject: [PATCH] UefiCpuPkg: SecCoreNative without ResetVector REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3492 Currently SecCore.inf having the resetvector code under IA32. if the user wants to use both SecCore and UefiCpuPkg ResetVector it's not possible, since SecCore and ResetVector(VTF0.INF/ResetVector.inf) are sharing the same GUID which is BFV. to overcome this issue we can create the Duplicate version of the SecCore.inf as SecCoreNative.inf which contains pure SecCore Native functionality without resetvector. SecCoreNative.inf should have the Unique GUID so that it can be used along with UefiCpuPkg ResetVector in there implementation. Signed-off-by: Ashraf Ali S <ashraf.ali.s@...> Cc: Ray Ni <ray.ni@...> Cc: Rahul Kumar <rahul1.kumar@...> Cc: Debkumar De <debkumar.de@...> Cc: Harry Han <harry.han@...> Cc: Catharine West <catharine.west@...> Cc: Digant H Solanki <digant.h.solanki@...> Cc: Sangeetha V <sangeetha.v@...> --- UefiCpuPkg/SecCore/SecCoreNative.inf | 80 ++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 UefiCpuPkg/SecCore/SecCoreNative.inf diff --git a/UefiCpuPkg/SecCore/SecCoreNative.inf b/UefiCpuPkg/SecCore/SecCoreNative.inf new file mode 100644 index 0000000000..f89a0e5f38 --- /dev/null +++ b/UefiCpuPkg/SecCore/SecCoreNative.inf @@ -0,0 +1,80 @@ +## @file +# SecCoreNative module that implements the SEC phase. +# +# This is the first module taking control after the reset vector. +# The entry point function is _ModuleEntryPoint in PlatformSecLib. +# The entry point function will start with protected mode, since the # +the transistion to flat mode it done by the resetvector, enable # +temporary memory and call into SecStartup(). +# +# Copyright (c) 2021, Intel Corporation. All rights reserved.<BR> # +SPDX-License-Identifier: BSD-2-Clause-Patent # ## + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = SecCore + MODULE_UNI_FILE = SecCore.uni + FILE_GUID = 43CA74CA-7D29-49A0-B3B9-20F84015B27D + MODULE_TYPE = SEC + VERSION_STRING = 1.0 + + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 EBC +# + +[Sources] + SecMain.c + SecMain.h + FindPeiCore.c + SecBist.c + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + UefiCpuPkg/UefiCpuPkg.dec + +[LibraryClasses] + BaseMemoryLib + DebugLib + PlatformSecLib + PcdLib + DebugAgentLib + UefiCpuLib + PeCoffGetEntryPointLib + PeCoffExtraActionLib + CpuExceptionHandlerLib + ReportStatusCodeLib + PeiServicesLib + PeiServicesTablePointerLib + HobLib + +[Ppis] + ## SOMETIMES_CONSUMES + ## PRODUCES + gEfiSecPlatformInformationPpiGuid + ## SOMETIMES_CONSUMES + ## SOMETIMES_PRODUCES + gEfiSecPlatformInformation2PpiGuid + gEfiTemporaryRamDonePpiGuid ## PRODUCES + ## NOTIFY + ## SOMETIMES_CONSUMES + gPeiSecPerformancePpiGuid + gEfiPeiCoreFvLocationPpiGuid + ## CONSUMES + gRepublishSecPpiPpiGuid + +[Guids] + ## SOMETIMES_PRODUCES ## HOB + gEfiFirmwarePerformanceGuid + +[Pcd] + gUefiCpuPkgTokenSpaceGuid.PcdPeiTemporaryRamStackSize ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdMigrateTemporaryRamFirmwareVolumes +## CONSUMES + +[UserExtensions.TianoCore."ExtraFiles"] + SecCoreExtra.uni -- 2.30.2.windows.1
|
|
Re: [PATCH] UefiCpuPkg VTF0 X64: Build page tables using 1-GByte Page Granularity
Ard Biesheuvel
On Mon, 19 Jul 2021 at 05:14, Ni, Ray <ray.ni@...> wrote:
I don't have a clue, sorry, and I wouldn't know where to begin looking. Brijesh, Dov, James, Erdem: after Laszlo's sudden departure, I will be needing help reviewing OVMF patches that are highly specific to SEV/SNP or x86 in general. Please take a look. To Prince,
|
|
Re: [PATCH v2 1/1] MdeModulePkg: Print which PCD was unable to be found
Wu, Hao A
toggle quoted messageShow quoted text
-----Original Message----- The change looks good to me. Reviewed-by: Hao A Wu <hao.a.wu@...> I will wait a couple days before merging to see if there are comments from the Core services modules reviewers. Best Regards, Hao Wu ASSERT (FALSE);
|
|
Re: [PATCH] Fix variables may be used uninitialize
Ni, Ray
Wesley,
toggle quoted messageShow quoted text
When applying the patch in my local tree, I found your patch is using unix style of EOL. Can you please send a V2 patch that uses the windows style of EOL? Thanks, Ray
-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Ni, Ray Sent: Monday, July 19, 2021 11:15 AM To: Hsu, WesleyX <wesleyx.hsu@...>; devel@edk2.groups.io Cc: Chaganty, Rangasai V <rangasai.v.chaganty@...> Subject: Re: [edk2-devel] [PATCH] Fix variables may be used uninitialize Reviewed-by: Ray Ni <ray.ni@...> -----Original Message----- From: Hsu, WesleyX <wesleyx.hsu@...> Sent: Friday, July 16, 2021 2:38 PM To: devel@edk2.groups.io Cc: Hsu, WesleyX <wesleyx.hsu@...>; Ni, Ray <ray.ni@...>; Chaganty, Rangasai V <rangasai.v.chaganty@...> Subject: [PATCH] Fix variables may be used uninitialize REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3491 Initialize variables may be used uninitialized after adding "-ffat-lto-objects" option in GCC5 tool chain. Change-Id: Iec8c9a884bac5cf1ce7258867c074c4668e5fa44 Signed-off-by: WesleyX Hsu <wesleyx.hsu@...> Cc: Ray Ni <ray.ni@...> Cc: Rangasai V Chaganty <rangasai.v.chaganty@...> --- Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDmarPei/TranslationTable.c | 5 +++++ Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/TranslationTable.c | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDmarPei/TranslationTable.c b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDmarPei/TranslationTable.c index 341e2beb..2a5fa637 100644 --- a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDmarPei/TranslationTable.c +++ b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDmarPei/Translat +++ ionTable.c @@ -107,6 +107,11 @@ CreateSecondLevelPagingEntryTable ( UINT64 EndAddress; BOOLEAN Is5LevelPaging; + Lvl4PagesStart = 0; + Lvl4PagesEnd = 0; + Lvl4PtEntry = NULL; + Lvl5PtEntry = NULL; + if (MemoryLimit == 0) { return EFI_SUCCESS; } diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/TranslationTable.c b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/TranslationTable.c index d152039f..01375139 100644 --- a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/TranslationTable.c +++ b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/TranslationT +++ able.c @@ -133,7 +133,7 @@ CreateContextEntry ( mVtdUnitInformation[VtdIndex].Is5LevelPaging = TRUE; if ((mAcpiDmarTable->HostAddressWidth <= 48) && ((mVtdUnitInformation[VtdIndex].CapReg.Bits.SAGAW & BIT2) != 0)) { - mVtdUnitInformation[VtdIndex].Is5LevelPaging = FALSE; + mVtdUnitInformation[VtdIndex].Is5LevelPaging = FALSE; } } else if ((mVtdUnitInformation[VtdIndex].CapReg.Bits.SAGAW & BIT2) == 0) { DEBUG((DEBUG_ERROR, "!!!! Page-table type is not supported on VTD %d !!!!\n", VtdIndex)); @@ -195,6 +195,11 @@ CreateSecondLevelPagingEntryTable ( UINT64 BaseAddress; UINT64 EndAddress; + Lvl4PagesStart = 0; + Lvl4PagesEnd = 0; + Lvl4PtEntry = NULL; + Lvl5PtEntry = NULL; + if (MemoryLimit == 0) { return EFI_SUCCESS; } -- 2.26.2.windows.1
|
|
Re: [PATCH] Fix variables may be used uninitialize
Ni, Ray
Reviewed-by: Ray Ni <ray.ni@...>
toggle quoted messageShow quoted text
-----Original Message-----
From: Hsu, WesleyX <wesleyx.hsu@...> Sent: Friday, July 16, 2021 2:38 PM To: devel@edk2.groups.io Cc: Hsu, WesleyX <wesleyx.hsu@...>; Ni, Ray <ray.ni@...>; Chaganty, Rangasai V <rangasai.v.chaganty@...> Subject: [PATCH] Fix variables may be used uninitialize REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3491 Initialize variables may be used uninitialized after adding "-ffat-lto-objects" option in GCC5 tool chain. Change-Id: Iec8c9a884bac5cf1ce7258867c074c4668e5fa44 Signed-off-by: WesleyX Hsu <wesleyx.hsu@...> Cc: Ray Ni <ray.ni@...> Cc: Rangasai V Chaganty <rangasai.v.chaganty@...> --- Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDmarPei/TranslationTable.c | 5 +++++ Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/TranslationTable.c | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDmarPei/TranslationTable.c b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDmarPei/TranslationTable.c index 341e2beb..2a5fa637 100644 --- a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDmarPei/TranslationTable.c +++ b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDmarPei/Translat +++ ionTable.c @@ -107,6 +107,11 @@ CreateSecondLevelPagingEntryTable ( UINT64 EndAddress; BOOLEAN Is5LevelPaging; + Lvl4PagesStart = 0; + Lvl4PagesEnd = 0; + Lvl4PtEntry = NULL; + Lvl5PtEntry = NULL; + if (MemoryLimit == 0) { return EFI_SUCCESS; } diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/TranslationTable.c b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/TranslationTable.c index d152039f..01375139 100644 --- a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/TranslationTable.c +++ b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/TranslationT +++ able.c @@ -133,7 +133,7 @@ CreateContextEntry ( mVtdUnitInformation[VtdIndex].Is5LevelPaging = TRUE; if ((mAcpiDmarTable->HostAddressWidth <= 48) && ((mVtdUnitInformation[VtdIndex].CapReg.Bits.SAGAW & BIT2) != 0)) { - mVtdUnitInformation[VtdIndex].Is5LevelPaging = FALSE; + mVtdUnitInformation[VtdIndex].Is5LevelPaging = FALSE; } } else if ((mVtdUnitInformation[VtdIndex].CapReg.Bits.SAGAW & BIT2) == 0) { DEBUG((DEBUG_ERROR, "!!!! Page-table type is not supported on VTD %d !!!!\n", VtdIndex)); @@ -195,6 +195,11 @@ CreateSecondLevelPagingEntryTable ( UINT64 BaseAddress; UINT64 EndAddress; + Lvl4PagesStart = 0; + Lvl4PagesEnd = 0; + Lvl4PtEntry = NULL; + Lvl5PtEntry = NULL; + if (MemoryLimit == 0) { return EFI_SUCCESS; } -- 2.26.2.windows.1
|
|
Re: [PATCH] UefiCpuPkg VTF0 X64: Build page tables using 1-GByte Page Granularity
Ni, Ray
This change generates the reset vector binary which only contains 1G page table. If a platform doesn't support 1G page table, this will cause system hang.
toggle quoted messageShow quoted text
To Ard and Jordan, Can you evaluate whether this change impacts OVMF? To Prince, Can you evaluate whether this change impacts SimicsOpenBoardPkg? Thanks, Ray
-----Original Message-----
From: S, Ashraf Ali <ashraf.ali.s@...> Sent: Friday, July 2, 2021 8:25 PM To: devel@edk2.groups.io Cc: S, Ashraf Ali <ashraf.ali.s@...>; Ni, Ray <ray.ni@...>; Kumar, Rahul1 <rahul1.kumar@...>; De, Debkumar <debkumar.de@...>; Han, Harry <harry.han@...>; West, Catharine <catharine.west@...>; V, Sangeetha <sangeetha.v@...> Subject: [PATCH] UefiCpuPkg VTF0 X64: Build page tables using 1-GByte Page Granularity REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3473 X64 Reset Vector Code can access the memory range till 4GB using the Linear-Address Translation to a 2-MByte Page, when user wants to use more than 4G using 2M Page it will leads to use more number of Page table entries. using the 1-GByte Page table user can use more than 4G Memory by reducing the page table entries using 1-GByte Page, this patch attached can access memory range till 512GByte. Build Scrips for Reset Vector currently based on Python 2 which is already EOL, needs to modify the build script based on Python 3, update the Binary accordingly. Cc: Ray Ni <ray.ni@...> Cc: Rahul Kumar <rahul1.kumar@...> Cc: Debkumar De <debkumar.de@...> Cc: Harry Han <harry.han@...> Cc: Catharine West <catharine.west@...> Cc: Sangeetha V <sangeetha.v@...> Signed-off-by: Ashraf Ali S <ashraf.ali.s@...> --- .../Vtf0/Bin/ResetVector.ia32.port80.raw | Bin 516 -> 484 bytes .../ResetVector/Vtf0/Bin/ResetVector.ia32.raw | Bin 484 -> 468 bytes .../Vtf0/Bin/ResetVector.ia32.serial.raw | Bin 884 -> 868 bytes .../Vtf0/Bin/ResetVector.x64.port80.raw | Bin 28676 -> 12292 bytes .../ResetVector/Vtf0/Bin/ResetVector.x64.raw | Bin 28676 -> 12292 bytes .../Vtf0/Bin/ResetVector.x64.serial.raw | Bin 28676 -> 12292 bytes UefiCpuPkg/ResetVector/Vtf0/Build.py | 11 +-- .../ResetVector/Vtf0/Ia32/PageTables64.asm | 2 +- UefiCpuPkg/ResetVector/Vtf0/ReadMe.txt | 2 +- .../Vtf0/Tools/FixupForRawSection.py | 4 +- UefiCpuPkg/ResetVector/Vtf0/Vtf0.nasmb | 4 +- .../ResetVector/Vtf0/X64/1GPageTables.asm | 64 ++++++++++++++++++ .../X64/{PageTables.asm => 2MPageTables.asm} | 0 13 files changed, 77 insertions(+), 10 deletions(-) create mode 100644 UefiCpuPkg/ResetVector/Vtf0/X64/1GPageTables.asm rename UefiCpuPkg/ResetVector/Vtf0/X64/{PageTables.asm => 2MPageTables.asm} (100%) diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.port80.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.port80.raw index 2c6ff655ded2a5855ca8f4428d559a7727eb6983..79b23c047bdc6e552d77d5c9e9aeae21ff04d91d 100644 GIT binary patch delta 410 zcmZo+dBQ9-0SF8a=rRZ}FxWCMF#Invo+zYJ-&~=>P<pEKFmr@L>EYMB8#X*^*s&i7 zI*-2o*Lifq#%B#L{TUe;3~zVd>wJ;c9c#dNqsaO-vqO<t>wyxZ<^$|Sx+*`qBE-KP zRw#MZ?IF_m@c;k+44fxR?lK-MVJf=bP$9%z%Jy2m^*||G=ZV*+3=ec3YyDQrw&BCG zhLV39>OTT4_yTke(6spG0}_@eiX$2-m<39tfuvB0QMW|nV~~MBTOFDYFc(>?{CR!5 z`2b5=qlIr&sV@Ka2ph)3jn)CK3=F06%+4CG<$;o&htnFZ!=g(0n4LMA4`}djk7m=n z@tSo9&>Du9B|zggh&^lgwVUBX-))iIZU6Ps_!-61b|^D2IPfbSNPCqzIiFFU^R?Xs zd4>r<#gi8>%0vL2z`!uOpJBgKz-zAkjsdS((>jm5W_tbeb@R)JfB*l#TmvLJAN+p? a3S}hl`Z9zAvN|lpjbXxs*L#qpCjbB+6v6TU delta 442 zcmX9)O-lk%6n)b;mb6f&NEbm;61Fgs7G?G=i3EW`h#0jTXjjt=xN`<_@e*RfKhRH@ zRthehQp<ioAq+%O48GjhrlO+Pox1Q2_nv#+{d#7P9J~e=HbTgQ&;mk;ijh-3kW;e( z2#|b@Yi!yt8wAow*Da-71;Y*UMJdG%{oGQ>0fSK3#P_%@6n3VVmKY~2sF%gXydlkT zz2J+}fsf;~_pRoa+J(fR`Ut;~>qat}3#muERkA!QyT~Xg^M>rg%^bM|McBYs`8V0A zcP&Nw(O;ogKlFmCBIg5bq<OffWLb~o2jr#sf=_+23&RMToIQfL9{47AKyeO;1a)>J zBhR=?>3OE6Mw4r>-vk>Al5t4>DR50tqp6HM5M^V1To7n?Y1=u`A{@A7c!=ymHGRlZ zJ}anuVpcRdDYzN0P#%MY-J^!^vR_OvBRp9GvF1f*Ah$29X~lhJI8j|qcKWL;$&ORN mb+{6FrzA&7=!a5r41gb~Ws5tejhbe+Ol`#xF!g`tAAbQ#M!vED diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.raw index e34780a3a2c9b22bd10a1d5a405e344faaff94f3..ce7faa502b858e99908bcdb397b776258205e1d5 100644 GIT binary patch delta 421 zcmaFDe1%zP0uUG;&}9%{V6bIiVEA8TJW)uczPUn$q4ZSeVde;h(!;MgckBm(&ZDpY zbsl}`&d9)Ec)Rmn=Zm!NSOdlzMb@vG9g56a50n@+A7C%iRr%2sA^z>KLdmOc50S=) z|NsAI;5=D!m+@c;Q_=N?3L)lFw%6jV2TIvGPrN>5c%buG>$g&-l7BD10Br{v65o74 z!m|EEaYRD}vp|V7kQ6F0>XvAH3^E94n?v&f<|1pAKd)~$A7DvqwD658)#cwFVZ(U1 z(K^7DfuU5M*;(VYJW#Upa9X2vSX3z=volBY0S*4`(QKMGUbF51+Qaa&258)`-3%Z4 zZtt%9ub0NpD4w=MnSsH9U+F;FtJKNSjMDY5-6qI0OaQ6_1rZE@G=l)pF$@fo&qL_h zFuI>%zf-_#uKkVyuUXSNkGy7j{quG6%Zz{j|G(S<Bsw4be+DxMO257gVSvmG3vpwZ NFyZwchzJ{m0sv1?z^?!R literal 484 zcmX9*OG_g`5Uz2YXi!K{AwfI@4Wb8^4I;k92Z}6+5k#W02QLkK9j9Rq9_&L7ZDbtq zqIePigaaNjIzCSdixLS)RFt&2cybqA?5!~cU5~H6s_N>tZQD+`9S{Z>1OTb`GBa#G zt*_G(GaClinx^RkGo#yGe2LyNvnlO${H9mTj3XK78TZswjJl#0BPWZ(PsE3m63x5< zkjV2pUL={H-<6y`Ayi}y>qBYR=+mmu*E{2X*HV!;FJ=@olMU=1D<ODc<ds9CLcd-$ z>r@&PjmS*9G|11z5fTzEKTW^U3gc6Jd}Rz>i=xwezWi&|RKrFLb)7MgiLyt(A5Nap z{K@){_&;%jkXDHiVLej|v^%t)8c;mepB%?^+SRc((Td402KNZ-pIe~y>R7ebhG=Mi zG0>h98oCZ15CogOAHb`XKiHDrNJxngrv+CGHM`_x1(RWLh67mGTp&(0SUJnJ3Rcm& z65UvCM_?B@w(a-w1uqM*d0DnQmyjJzmTIyi$x?vuV|+aEM~V$8raq+<d#HFpKI8Y< TrM$1pedcB-0FmP|Qr7<gpRvyd diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.serial.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.serial.raw index 6dfa68eabb48a44bc50a0b7fe678f80b5cdadfd5..6503a988abdac06f9aa88f0a65f2525e12233b0a 100644 GIT binary patch delta 426 zcmeyu_JnPMtN<&s;Q?I+0R{$J1_p-zMaC0#Rrs4LR2WK6bslDpP$)h8+H+!>JIm{T zoku68$xYtMs2t$H#K2&9yYpV>i?r@o1I8OgcCVQoiY!|Xl$bUjU@tOI`Oy_2{_U_r z$*XP;k;aGr|Nm#;JXvy=@n8v4(e;K3A?8xfm(zi^wH_#C>pb!L_+($k?)of7kU&X% z^8pFV6U7k?70d!9(m+zE#Hd@M@iE8{piK_V2bhbjRsOub-F$#0t<l0as#KSMdxQ<+ z;YRBKR|bYsd1hyg*YZHg&ckVq)?rble9X=q%?C92w@0&S-gwQr186V9%Rm4A|KIhO z`OON2k{`Q%FmEt?H#v*RP`Ks4UK&56c-jtS1_lRyr2}cNv?s4)imrd{GC`hU0?-K) zzyM?f2mqbLz%cndgq{tf`x*8-1-$0n?-=l!Bdznu%Ljj6Grj)ylK211_kaHXf4Teb e|Nos2{y&2l1two#MwlBG;>Ivx!s|Uq(h~riBD@{| delta 425 zcmaFD_JwVNtbi=D;Q?I+0R{$J1_p-zMV1qFRYV&rRDc|Y(&L?nnIjZR54`jN@+Ky@ zv%mcP|NsBaqZ1S4CZ1G|2xMYlFudJ)uk%G(cdP;9jUu;~%s_<>MRu(RN~~Dff$Sn< zl^<OZ;@=J{l)UKn5NUh})X%_qvg9`7!4jsTs|^)G%%z+!X8~2V9w_DPJn`}nP{Cvy z#_sxJMvz!Z5vv4H((*)cW<v$DK#2m76e_XlmS}toG6`sBAS=kuA}^IcFRuZGSXqF) zv_=cxs8VzO?GZMNha0T}T!DVkWOmkgsRon;tLQwO)@U6TRVvKv%)zPw6y@I@&8B(d zB`c7*1Be-zUOt;_%H$+G>%U$aKcjfs4rQRn_>~T%y|SO&#T1?W(j2HroM8dT6;J?X zO+L>6re~jL*zXkZns2{jz-!L5&Lb~R`~e2e%P;?5ivNFk_0RwRFIW8q2IYhQ&nCRS WJpl|r#)O5qF-(~7`Upe>LIMEmI;Oe+ diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.port80.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.port80.raw index 6c0bcc47ebff84830b59047790c70d96e9488296..835f8ea423437fdd8b33470ca07b5d09e27ef5bf 100644 GIT binary patch literal 12292 zcmeI&+i#oo0mkts4Go129J)fo=$7=rD1$;94uge`K!JtR2m?x1&W9N`jtlni4!~nY zMKVPp5;sh{V}AhViU1dVP$**DtP&R#RiF&CsHt!04FZH}-n3u#KY(6K@yE_L{>6E& z?8q}SGc)VwyIqx+a)EMza)EMza)EMza)EMza)EMza)EMza)EMz@AU%z;;$<lUAkFl z463KNvDDER)G|66gX*QDF{oqcXbfsO9gRWt(a{*xv2-*BwStbuppK)XF{tC|XbkEH zbTkI_LpmCRI)RSHpiZQtF{lb1jY0L((HPW8bTkIFl8(lpendxOP^;)@4C-V$8iP88 zj>e!?)6p2z03D4%ok~YzP(P-lF{sn%Xbfr%9gRW#gpS6beo9AUP=j<d1~o)SV^C}9 zXbfr{9gRV)r=u~b4RkaHbvhl5LH&%5#-PriqcNzBbTkHaCLN7I{hW@*pw6PBF{rcY zXbfr-9gRVqLq}s!=hD#_)Mh#wgW5tzV^G6%GzN7Z9gRVqPe)@=7tqld)P;032K5U% z8iTrsj>e!arlT>aU((SS)Ce7oL0v*eV^CY^XbkFCbTkHaDIJYLjndH=)Ma!u26Z_d zjX`arqcNx}=x7Y;N;(>Yx{8j*pngq9V^CvsGzN7w9gRU<Lq}s!*V54#)OB<;26a6h zjY0i}j>e#FprbLUaXK1<x{;2?pngk7V^BBI(HPXtbTkHa3muI?ZKtC#s9Wi13~GXo z#-M&jM`KVs=x7Y;HaZ%Ex}A>3pzfffF{nG~XbkEuIvRtzn~uhy?xCYGsC(&X4C+2Q z8iTr@j>e#VPe)@=RXQ4jdVr3`pdO^7F{nS#(HPVp>1Yh<Avzj^dYF#JpdO*4F{nrB zXbkExIvRs|oQ}qz{zOM(P?K~t2K59TjX~AuXbh@OM`KWbrlT>aC+TPmszFC%P=BGL zF{r=N(HPX<=x7Y;?{qW<^%NbAK|M`JV^Gh~(U>K-6t5!tb>t;Rck;YuqrdUL=bx{4 znvGRkpIdW7{gY;6;2#&X?x}y+Y^>Qix9R=*-l@h0)!%E)^-c`c=Q<~}+Y6rEU0hmw zI)__(+OIBn@ui;P;Qg(STL-GU?%3S3Z*rv5J34vc&eVpda_r=$4PQJrvHJ75q1wS+ zW2>6~?G_(FIPTxIk9yv!Et~wnjg`IizRuvz)cacRcHY~P);l{tulKb-TX5}g`%rQI z*5dr)u)C%*aPhlOOt{h8UpuY1URfL7HPHNY>Ad2Xj!va_a%98To&8ferrNyd`W^L6 zmDeUN>6vSej9)3$2Ya_|><kvMHCJtpY~N8ov3J{wscfvgc3a<>`#Q^Ki+!|MD~{`I zsSM3m-Z-$lvTpu$OQ{SO_f}LkSB6sD7_6+z!SO@g?tt3&7tinI;&HRu+wE4??d$Am zpR(Yu-qdH)``>)|&^gsg&+6*z`r_Xy#e=E`pDiBMui4Q)sW`hmyx{8W3Qg~u&h-5B zf$6=SYtB%+_?hCP8b>ZmPig6L<Wn0j{^zLw{MJ{v|AKa3KHfQg_hsXq<<-{Pon@Ub z7oY4dRt|T&i}x*EomKo%v&C0;Z0$Q^Yxj(;eS54m-(8rQIeL0|T`o{AP%cm|P%cm| pP%cm|P%cm|P%cm|@LgMA@vB4sf8V(M=BqR_v-s)J?;L$U`3*d;lz{*M literal 28676 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 BvabLD diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.raw index a78d5b407c8a106c221af127216d073cf8fdb99d..80c2de6ed5ef5e8dc5d45297fb83e7085bce0c01 100644 GIT binary patch literal 12292 zcmeI&OK)6-0mbp-n3#mun2<IGLgPGWLcx%PHx9*+hMMw7$|IOiN}=uWei;u8kTz#z zQfUY>BOw;3%YJ|^F=dg1Od`mpk-8udwK7GZICs-*P>WEe*U2A=&w%bop5LAMkMDTS zYQ~yQr_)(I+wH2lR0~uKR0~uKR0~uKR0~uKR0~uKR0~uKR0~uKe6JVy3$LzpWd5+! z7*tPrFyGM_)B-vhgX*QDF{o4MXbfs09gRWt(a{*xsdO|3wTO<!pcd277}RNWGzN7# z9gRVqK}TayXVTFa)LC>i234b@F{pkz8iP8Uj>e#t(9sywIdn7zwUmy=pngC{V^BY& zqcNyubTkGvKu2Rx=hD#_)OmC?26a9ijX^D^qcNxp=x7Y;M|3m>wStbupa$t^3~D7E zjX|xVqcNz}bTkIFhK|OdE~KL|s2|hO7}Q!i8iQI#M`KVI(a{*xPv~e2>S8(?gSv!{ z#-N7iXbkF7IvRtzjE=^j*3;1#)CM{lgW5<(V^EjV(HPVfbTkHaB^`}HT}4M@P*>B@ z7}Pa%GzN7o9gRU<M@M5&!*nzTwTX_#psuH*F{q!?(HPVXbTkGvLPujzH`37<)J=3W z2DO=v#-M&iM`KW1=x7Y;W;z;!`Z*nqL5<SU7}PCvGzRqxIvRtzm5#=sZlj|ysN3mi z4C)R#8iU$OM`KXi=x7Y;mvl4+btfH-LES}1V^DX~(HPV{bTkIFosPz!?xmwKs4+Sk zgSwB7#-Mi4(HPYIbTkI_D>@p3dVr3`pngq9V^9y$(HPWk=x7Y;Avzj^dYF#Jpngk7 zV^F`NqcN!8)6p1IosPz!9-*T#s7L8&4C*mD8iRVAj>e##prbLUC+TPm>M1%JgL;~d z#-N^|qcNyw>1Yh<IXW7H8mFT%sORZu3~GXo#-JK>GzRqo9gRV~NJnE(O*$HbdWnw4 zpkAh<F{oGQXbfs69gRW#fsV$Y{zyk-P`l`8%)A@Qcai-%@fM>yetE0e-~8hB*BeEv zx%B$imTztRyVV?c`^xr1jZa$5<-2Ew{?Rx%*<7Q>f%Z)A*kEI(SUkPAytMZf$J_hn zcJ-7eJly_Q`$&Dy1M7PZjSm;SBjZ=?&cw#aoH{<V=D)9vE&FO_aN_8m(WR}=y5(07 z7JoGH&z|=u7L0%F=91n<U$Ja=8hz~#ivt_d-oN{+#)66CbC;CoEl={`WCpJN@cA(} zd;2HOFRzzOY}_-@`h5O8<&%v}rgwaJ%{Rs2$(&MeU32@6#!&5@u}wWQt>JB3q{fQg z&FhL4Wo*yXTf^ITG|uYXyl67(YVX|NchR9@;dHr&=605+D~4)=v$ek+Sy)>&`>v(b zHkP**)z;SrQy#3St;*4nW8Ln6=H4oQXIcll-P)={#YbPir~gbHe(z7mF0I#kmer?M zm;W{?A6!5BbouChO^@_R<vHuqi!^m;DpRvlN2U%ITh^*m_VVi(o%ugu{&M158E^jm zq<{X_zjFHx?Y(JRaoXM+w-pQP?GK6t#s7*|=hh$ZcIS4^Uu`O1!*u!69bLJ9bmhL$ zl^=|@XS-j1=lmz1rMj*bs1~Res1~Res1~Res1~Res1~Res22FXEHL-!vH6dcCq7qh Rzx!r&I&(88?>TXI=l^%>e!Ktx literal 28676 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 SPx9m^JvI){eBb~48~hhX6Rzk0 diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.serial.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.serial.raw index 61c71349a8a599916f3eeae8c5dee92efb56db71..9a24e8a752440462541a9589e514770692a838e4 100644 GIT binary patch literal 12292 zcmeI&No<sL9LDjd3`;?ADxy?DDT|5=+Jc~nO9jQc<AxRYZQQpyqvQUYG{lT(ZQ{Wg zk6gUT%~}sUrlROY5)WdCrfM_{V;Um~qGHE);A=uhqn`DB5A&J-d^7L7|KId5(@cMV zfB(GUT21MZP9U8?I)QWo=>*aVq!UOdkWL_-KsteR0_g<O3H+xguz}qrcGmAE1{&3r z+^KgAG-@0j1C7eiG0>>-bPP0V0v!X5nn=e$qbAWY(5PlQ1{yV)j)6u^p<|#?2hlOm zsDtSkXw+0X1{!q;9RrQZ(lOAe7CHtRbtoMJjhaTsK%)+$W1vyf=@@9#;dBf%>Igap z8a0ECfkw5`G0><Z=@@9#QFIJ6Y9<{6jhaQrK%<VPW1vyT&@s@c*>nsvs*R3;M$MsP zpiy(_7--ZyItCgwpN@e>9ZSbRqmH9vpi#%uG0><5bPP1=1Ud#9bs`-DjXH^rfkvH7 z$3UYN(lOAeQ|K6I)Twj~G^(ABfkt)EG0><*bPP0VF&zVqI*pEjMlGRZpixWd7--b# zbPP1=3_1oHwTzB|Mx9B=K%<t^G0>>9=oo0!*>nsv>Kr--8g(um1C8pWW1vyz(J|1d z6?6<VY9$>5jXIx>fks_G$3UZ2(J|1d3+WhWR2Llsjk<`Afks_S$3UYlp<|#?m(nrN zsLSXWXw>C&3^eKrItCiGnvQ`+T}j74qpqT3pix)TG0>=M=oo0!wR8+LY7HF&jk=DG zfkt)HG0>>%=@@9#S~><Abpss(jk=MJfkxd#$3UZQremN{x6m=rs9Wh6Xw+?V3^eL? zItChb2OR^Ax|5E9M%_inK%;VW3^eL)ItChb4;=%Ix|fcDM%_opK%?%bW1vwF&@s@c z2k97S)I)R(H0ohG1{(DU9RrPel#YQ$_0TcUsK@9SXjGn#fkqYR7--bvbPP1=2|5NE zRitB}QBTq_(5R>A7--bfbPP1=89D|U^(-9&je3rbfkr(~$3WK|{57-jg^|IZGaEHB zxF@r*X{7$hq>;+YnU3TGW{dWH`l$6RE)`pf-@f!xp;{_VKl{a5R}{W36<c3lQogP5 zd8s&S-O$2M3tM}O^Hun`Je28fD-2aH$_@UO`Tote{7<?1nQtE%yKZk-Pi<IF85!7= z9Occ`(emc8Pi;I^N5fP9e5%TpaZ<<j@|Wcux%D@-H*M=Vr<&>PS+>skCB2^1(>{OC zi`_GJ54GiYuJ4*&`l^=vDq`|S`7fH@%a7~%EQ-@Ig~^rIl6kFjVPbhp^}`OAKUlZB zuwv|m<r*&JpZAy_{rfZgi>>|GRKKkJExm4Cw&k(zC}vvnGn3nC`9<qnOW)MDlI*v$ z*O{K>^Y>P__j-J;bjD?C3k$Pvcc0ZXR9e3J0;w=NvvNUob`r}&xzh4AYYT^DRyOx~ zLH6w%CZ4dZI$<E$y()W0Yqjcw*|y>A;EoB|xx?>-<m{qk)tqh5wmG>oJ3H4qZ~n1X zYt`7jEp3?2X$|YYc-v+sdmGT!S}i+wTeZyJ)1LaDQ^&}GtEFRBQ^%~PjQsMhe(2l& z?v1-n$z_{n<Ob#?|IA7*GPiU5u3D`{1DzA4WG`c{c5%biEoxZ*`D$|m&Fb6M=f2^- z9erD?S0ArOlJh4&vN_<W53zpi`_;{>pX~RIKYWYzE84VTb#>~d^Hx`zbLICd-FvI! zs=F(rqm{e&)@qf-za=-1C-1~S^5)jM=6ujKXLHw__q)o&weJpit@_>lua@4X6G$hJ uP9U8?I)QWo=>*aVq!UOd@PC*<WpLNNZv^$duDNEF`ui&z_CK=!i^A`|H=E!9 literal 28676 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 diff --git a/UefiCpuPkg/ResetVector/Vtf0/Build.py b/UefiCpuPkg/ResetVector/Vtf0/Build.py index 343c53b5ff..29f29ff0c2 100644 --- a/UefiCpuPkg/ResetVector/Vtf0/Build.py +++ b/UefiCpuPkg/ResetVector/Vtf0/Build.py @@ -1,7 +1,7 @@ ## @file # Automate the process of building the various reset vector types # -# Copyright (c) 2009, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2009 - 2021, Intel Corporation. All rights +reserved.<BR> # # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -32,16 +32,19 @@ for arch in ('ia32', 'x64'): '-o', output, 'Vtf0.nasmb', ) + print(f"Command : {' '.join(commandLine)}") ret = RunCommand(commandLine) - print '\tASM\t' + output - if ret != 0: sys.exit(ret) + if ret != 0: + print(f"something went wrong while executing the {commandLine[-1]}") + sys.exit() + print('\tASM\t' + output) commandLine = ( 'python', 'Tools/FixupForRawSection.py', output, ) - print '\tFIXUP\t' + output + print('\tFIXUP\t' + output) ret = RunCommand(commandLine) if ret != 0: sys.exit(ret) diff --git a/UefiCpuPkg/ResetVector/Vtf0/Ia32/PageTables64.asm b/UefiCpuPkg/ResetVector/Vtf0/Ia32/PageTables64.asm index 87a4125d4b..9cc6f56c17 100644 --- a/UefiCpuPkg/ResetVector/Vtf0/Ia32/PageTables64.asm +++ b/UefiCpuPkg/ResetVector/Vtf0/Ia32/PageTables64.asm @@ -15,7 +15,7 @@ BITS 32 SetCr3ForPageTables64: ; - ; These pages are built into the ROM image in X64/PageTables.asm + ; These pages are built into the ROM image in X64/1GPageTables.asm ; mov eax, ADDR_OF(TopLevelPageDirectory) mov cr3, eax diff --git a/UefiCpuPkg/ResetVector/Vtf0/ReadMe.txt b/UefiCpuPkg/ResetVector/Vtf0/ReadMe.txt index e6e5b54243..eb9dd24ee2 100644 --- a/UefiCpuPkg/ResetVector/Vtf0/ReadMe.txt +++ b/UefiCpuPkg/ResetVector/Vtf0/ReadMe.txt @@ -29,7 +29,7 @@ EBP/RBP - Pointer to the start of the Boot Firmware Volume === HOW TO BUILD VTF0 === Dependencies: -* Python 2.5~2.7 +* Python 3.0 or newer * Nasm 2.03 or newer To rebuild the VTF0 binaries: diff --git a/UefiCpuPkg/ResetVector/Vtf0/Tools/FixupForRawSection.py b/UefiCpuPkg/ResetVector/Vtf0/Tools/FixupForRawSection.py index c77438a0ce..de771eba22 100644 --- a/UefiCpuPkg/ResetVector/Vtf0/Tools/FixupForRawSection.py +++ b/UefiCpuPkg/ResetVector/Vtf0/Tools/FixupForRawSection.py @@ -1,7 +1,7 @@ ## @file # Apply fixup to VTF binary image for FFS Raw section # -# Copyright (c) 2008, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2008 - 2021, Intel Corporation. All rights +reserved.<BR> # # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -15,6 +15,6 @@ c = ((len(d) + 4 + 7) & ~7) - 4 if c > len(d): c -= len(d) f = open(sys.argv[1], 'wb') - f.write('\x90' * c) + f.write(b'\x90' * c) f.write(d) f.close() diff --git a/UefiCpuPkg/ResetVector/Vtf0/Vtf0.nasmb b/UefiCpuPkg/ResetVector/Vtf0/Vtf0.nasmb index 493738c79c..0625efc456 100644 --- a/UefiCpuPkg/ResetVector/Vtf0/Vtf0.nasmb +++ b/UefiCpuPkg/ResetVector/Vtf0/Vtf0.nasmb @@ -2,7 +2,7 @@ ; @file ; This file includes all other code files to assemble the reset vector code ; -; Copyright (c) 2008 - 2013, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2008 - 2021, Intel Corporation. All rights +reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ;------------------------------------------------------------------------------ @@ -36,7 +36,7 @@ %include "PostCodes.inc" %ifdef ARCH_X64 -%include "X64/PageTables.asm" +%include "X64/1GPageTables.asm" %endif %ifdef DEBUG_PORT80 diff --git a/UefiCpuPkg/ResetVector/Vtf0/X64/1GPageTables.asm b/UefiCpuPkg/ResetVector/Vtf0/X64/1GPageTables.asm new file mode 100644 index 0000000000..8ae6c4c98c --- /dev/null +++ b/UefiCpuPkg/ResetVector/Vtf0/X64/1GPageTables.asm @@ -0,0 +1,64 @@ +;---------------------------------------------------------------------- +-------- +; @file +; Emits Page Tables for 1:1 mapping of the addresses 0 - 0x8000000000 +(512GB) ; ; Copyright (c) 2021, Intel Corporation. All rights +reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; +Linear-Address Translation to a 1-GByte Page ; +;---------------------------------------------------------------------- +-------- + +BITS 64 + +%define ALIGN_TOP_TO_4K_FOR_PAGING + +%define PAGE_PRESENT 0x01 +%define PAGE_READ_WRITE 0x02 +%define PAGE_USER_SUPERVISOR 0x04 +%define PAGE_WRITE_THROUGH 0x08 +%define PAGE_CACHE_DISABLE 0x010 +%define PAGE_ACCESSED 0x020 +%define PAGE_DIRTY 0x040 +%define PAGE_PAT 0x080 +%define PAGE_GLOBAL 0x0100 +%define PAGE_1G 0x80 + +%define PAGE_PDP_ATTR (PAGE_ACCESSED + \ + PAGE_READ_WRITE + \ + PAGE_PRESENT) + +%define PAGE_PDP_1G_ATTR (PAGE_ACCESSED + \ + PAGE_READ_WRITE + \ + PAGE_PRESENT + \ + PAGE_1G) + +%define PGTBLS_OFFSET(x) ((x) - TopLevelPageDirectory) %define +PGTBLS_ADDR(x) (ADDR_OF(TopLevelPageDirectory) + (x)) + +%define PDP(offset) (ADDR_OF(TopLevelPageDirectory) + (offset) + \ + PAGE_PDP_ATTR) + +%define PDP_1G(x) ((x << 30) + PAGE_PDP_1G_ATTR) + +ALIGN 16 + +TopLevelPageDirectory: + + ; + ; Top level Page Directory Pointers (1 * 512GB entry) + ; + DQ PDP(0x1000) + + + TIMES 0x1000-PGTBLS_OFFSET($) DB 0 + ; + ; Next level Page Directory Pointers (512 * 1GB entries => 512GB) + ; +%assign i 0 +%rep 512 + DQ PDP_1G(i) + %assign i i+1 +%endrep + + +EndOfPageTables: diff --git a/UefiCpuPkg/ResetVector/Vtf0/X64/PageTables.asm b/UefiCpuPkg/ResetVector/Vtf0/X64/2MPageTables.asm similarity index 100% rename from UefiCpuPkg/ResetVector/Vtf0/X64/PageTables.asm rename to UefiCpuPkg/ResetVector/Vtf0/X64/2MPageTables.asm -- 2.32.0.windows.1
|
|
Re: [PATCH] UefiCpuPkg: SecCoreNative without ResetVector
Ni, Ray
Ashraf,
toggle quoted messageShow quoted text
What unit tests have you performed with this native SecCore? Thanks, Ray
-----Original Message-----
From: S, Ashraf Ali <ashraf.ali.s@...> Sent: Wednesday, July 14, 2021 5:48 PM To: devel@edk2.groups.io Cc: S, Ashraf Ali <ashraf.ali.s@...>; Ni, Ray <ray.ni@...>; Kumar, Rahul1 <rahul1.kumar@...>; De, Debkumar <debkumar.de@...>; Han, Harry <harry.han@...>; West, Catharine <catharine.west@...>; Solanki, Digant H <digant.h.solanki@...>; V, Sangeetha <sangeetha.v@...> Subject: [PATCH] UefiCpuPkg: SecCoreNative without ResetVector REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3492 Currently SecCore.inf having the resetvector code under IA32. if the user wants to use both SecCore and UefiCpuPkg ResetVector it's not possible, since SecCore and ResetVector(VTF0.INF/ResetVector.inf) are sharing the same GUID which is BFV. to overcome this issue we can create the Duplicate version of the SecCore.inf as SecCoreNative.inf which contains pure SecCore Native functionality without resetvector. SecCoreNative.inf should have the Unique GUID so that it can be used along with UefiCpuPkg ResetVector in there implementation. Signed-off-by: Ashraf Ali S <ashraf.ali.s@...> Cc: Ray Ni <ray.ni@...> Cc: Rahul Kumar <rahul1.kumar@...> Cc: Debkumar De <debkumar.de@...> Cc: Harry Han <harry.han@...> Cc: Catharine West <catharine.west@...> Cc: Digant H Solanki <digant.h.solanki@...> Cc: Sangeetha V <sangeetha.v@...> --- UefiCpuPkg/SecCore/SecCoreNative.inf | 80 ++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 UefiCpuPkg/SecCore/SecCoreNative.inf diff --git a/UefiCpuPkg/SecCore/SecCoreNative.inf b/UefiCpuPkg/SecCore/SecCoreNative.inf new file mode 100644 index 0000000000..f89a0e5f38 --- /dev/null +++ b/UefiCpuPkg/SecCore/SecCoreNative.inf @@ -0,0 +1,80 @@ +## @file +# SecCoreNative module that implements the SEC phase. +# +# This is the first module taking control after the reset vector. +# The entry point function is _ModuleEntryPoint in PlatformSecLib. +# The entry point function will start with protected mode, since the # +the transistion to flat mode it done by the resetvector, enable # +temporary memory and call into SecStartup(). +# +# Copyright (c) 2021, Intel Corporation. All rights reserved.<BR> # +SPDX-License-Identifier: BSD-2-Clause-Patent # ## + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = SecCore + MODULE_UNI_FILE = SecCore.uni + FILE_GUID = 43CA74CA-7D29-49A0-B3B9-20F84015B27D + MODULE_TYPE = SEC + VERSION_STRING = 1.0 + + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 EBC +# + +[Sources] + SecMain.c + SecMain.h + FindPeiCore.c + SecBist.c + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + UefiCpuPkg/UefiCpuPkg.dec + +[LibraryClasses] + BaseMemoryLib + DebugLib + PlatformSecLib + PcdLib + DebugAgentLib + UefiCpuLib + PeCoffGetEntryPointLib + PeCoffExtraActionLib + CpuExceptionHandlerLib + ReportStatusCodeLib + PeiServicesLib + PeiServicesTablePointerLib + HobLib + +[Ppis] + ## SOMETIMES_CONSUMES + ## PRODUCES + gEfiSecPlatformInformationPpiGuid + ## SOMETIMES_CONSUMES + ## SOMETIMES_PRODUCES + gEfiSecPlatformInformation2PpiGuid + gEfiTemporaryRamDonePpiGuid ## PRODUCES + ## NOTIFY + ## SOMETIMES_CONSUMES + gPeiSecPerformancePpiGuid + gEfiPeiCoreFvLocationPpiGuid + ## CONSUMES + gRepublishSecPpiPpiGuid + +[Guids] + ## SOMETIMES_PRODUCES ## HOB + gEfiFirmwarePerformanceGuid + +[Pcd] + gUefiCpuPkgTokenSpaceGuid.PcdPeiTemporaryRamStackSize ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdMigrateTemporaryRamFirmwareVolumes +## CONSUMES + +[UserExtensions.TianoCore."ExtraFiles"] + SecCoreExtra.uni -- 2.30.2.windows.1
|
|
Re: [PATCH EDK2 v1 1/1] MdeModulePkg: Modify PCD default value
Ni, Ray
Wenyi,
toggle quoted messageShow quoted text
Can you explain a bit more about "if 52 bit physical address need to be supported, page size should also be set to 64KB alignment"? Can the platform DSC override this value instead of changing the default value in MdeModulePkg.dec which impacts all platforms? Thanks, Ray
-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of wenyi,xie via groups.io Sent: Thursday, July 15, 2021 8:25 PM To: devel@edk2.groups.io; Wang, Jian J <jian.j.wang@...>; Wu, Hao A <hao.a.wu@...> Cc: songdongkuang@...; wanghuiqiang@...; xiewenyi2@... Subject: [edk2-devel] [PATCH EDK2 v1 1/1] MdeModulePkg: Modify PCD default value From: "wenyi.xie" <xiewenyi2@...> The default value of PcdSrIovSystemPageSize is 0x1, it means the memory BAR is 4KB alignment. When page size of OS is set to 64KB, as the resource partitions are different between OS and BIOS, it will cause pcie failture. And if 52 bit physical address need to be supported, page size should also be set to 64KB alignment. So modify the default vaule of PcdSrIovSystemPageSize to 0x10 can meet the requirement above. And even if the OS is 4KB alignment, new value of PCD is compatible for this situation. Cc: Jian J Wang <jian.j.wang@...> Cc: Hao A Wu <hao.a.wu@...> Signed-off-by: Wenyi Xie <xiewenyi2@...> --- MdeModulePkg/MdeModulePkg.dec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index ad84421cf3..426ea1b6cc 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -1853,7 +1853,7 @@ # BIT0 set indicates 4KB alignment<BR> # BIT1 set indicates 8KB alignment<BR> # @Prompt SRIOV system page size. - gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSystemPageSize|0x1|UINT32|0x10000047 + + gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSystemPageSize|0x10|UINT32|0x10 + 000047 ## SMBIOS version. # @Prompt SMBIOS version. -- 2.20.1.windows.1
|
|
Re: [PATCH v2 07/11] OvmfPkg/QemuKernelLoaderFsDxe: call VerifyBlob after fetch from fw_cfg
Brijesh Singh
On 7/6/21 3:54 AM, Dov Murik wrote:
In QemuKernelLoaderFsDxeEntrypoint we use FetchBlob to read the contentThe patch itself is okay. Just curious, do we also need to add a verification for the QEMU FW cfg file ?
|
|