Topics

[edk2-platform][PATCH v1 1/1] Platforms/RaspberryPi: Fix RPi4 GICC PMU PPI


Samer El-Haj-Mahmoud
 

Arm SBSA specification section ver 6.0, 4.1.5 defines specific PPI
values for certain standard interrupt IDs. The value for
"Performance Monitors Interrupt" needs to be 23.

REF: https://developer.arm.com/documentation/den0029/latest

This partially fixes SBSA test #11 ("Incorrect PPI value") reported in
https://github.com/pftf/RPi4/issues/74

Cc: Leif Lindholm <leif@...>
Cc: Pete Batard <@pbatard>
Cc: Andrei Warkentin <awarkentin@...>
Cc: Ard Biesheuvel <ard.biesheuvel@...>
Signed-off-by: Samer El-Haj-Mahmoud <samer.el-haj-mahmoud@...>
---
Platform/RaspberryPi/RPi4/RPi4.dsc | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Platform/RaspberryPi/RPi4/RPi4.dsc b/Platform/RaspberryPi/RPi4/RPi4.dsc
index c481c3534263..00683afe96b9 100644
--- a/Platform/RaspberryPi/RPi4/RPi4.dsc
+++ b/Platform/RaspberryPi/RPi4/RPi4.dsc
@@ -433,10 +433,10 @@ [PcdsFixedAtBuild.common]
gRaspberryPiTokenSpaceGuid.PcdGicInterruptInterfaceHBase|0xFF844000
gRaspberryPiTokenSpaceGuid.PcdGicInterruptInterfaceVBase|0xFF846000
gRaspberryPiTokenSpaceGuid.PcdGicGsivId|0x19
- gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq0|0x30
- gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq1|0x31
- gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq2|0x32
- gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq3|0x33
+ gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq0|23
+ gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq1|23
+ gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq2|23
+ gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq3|23

#
# Fixed CPU settings.
--
2.17.1


Pete Batard
 

On 2020.07.28 22:00, Samer El-Haj-Mahmoud wrote:
Arm SBSA specification section ver 6.0, 4.1.5 defines specific PPI
values for certain standard interrupt IDs. The value for
"Performance Monitors Interrupt" needs to be 23.
REF: https://developer.arm.com/documentation/den0029/latest
This partially fixes SBSA test #11 ("Incorrect PPI value") reported in
https://github.com/pftf/RPi4/issues/74
Cc: Leif Lindholm <leif@...>
Cc: Pete Batard <@pbatard>
Cc: Andrei Warkentin <awarkentin@...>
Cc: Ard Biesheuvel <ard.biesheuvel@...>
Signed-off-by: Samer El-Haj-Mahmoud <samer.el-haj-mahmoud@...>
---
Platform/RaspberryPi/RPi4/RPi4.dsc | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/Platform/RaspberryPi/RPi4/RPi4.dsc b/Platform/RaspberryPi/RPi4/RPi4.dsc
index c481c3534263..00683afe96b9 100644
--- a/Platform/RaspberryPi/RPi4/RPi4.dsc
+++ b/Platform/RaspberryPi/RPi4/RPi4.dsc
@@ -433,10 +433,10 @@ [PcdsFixedAtBuild.common]
gRaspberryPiTokenSpaceGuid.PcdGicInterruptInterfaceHBase|0xFF844000
gRaspberryPiTokenSpaceGuid.PcdGicInterruptInterfaceVBase|0xFF846000
gRaspberryPiTokenSpaceGuid.PcdGicGsivId|0x19
- gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq0|0x30
- gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq1|0x31
- gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq2|0x32
- gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq3|0x33
+ gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq0|23
+ gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq1|23
+ gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq2|23
+ gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq3|23
#
# Fixed CPU settings.
Reviewed-by: Pete Batard <@pbatard>


Pete Batard
 

Adding a tested-by, since these are values that could potentially trip the custom handling that Windows seems to have of MADT, and I hadn't tested that yet.

Testing shows that Windows is happy with these new values, so with this:

On 2020.07.31 08:55, Pete Batard via groups.io wrote:
On 2020.07.28 22:00, Samer El-Haj-Mahmoud wrote:
Arm SBSA specification section ver 6.0, 4.1.5 defines specific PPI
values for certain standard interrupt IDs. The value for
"Performance Monitors Interrupt" needs to be 23.

REF: https://developer.arm.com/documentation/den0029/latest

This partially fixes SBSA test #11 ("Incorrect PPI value") reported in
https://github.com/pftf/RPi4/issues/74

Cc: Leif Lindholm <leif@...>
Cc: Pete Batard <@pbatard>
Cc: Andrei Warkentin <awarkentin@...>
Cc: Ard Biesheuvel <ard.biesheuvel@...>
Signed-off-by: Samer El-Haj-Mahmoud <samer.el-haj-mahmoud@...>
---
  Platform/RaspberryPi/RPi4/RPi4.dsc | 8 ++++----
  1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Platform/RaspberryPi/RPi4/RPi4.dsc b/Platform/RaspberryPi/RPi4/RPi4.dsc
index c481c3534263..00683afe96b9 100644
--- a/Platform/RaspberryPi/RPi4/RPi4.dsc
+++ b/Platform/RaspberryPi/RPi4/RPi4.dsc
@@ -433,10 +433,10 @@ [PcdsFixedAtBuild.common]
    gRaspberryPiTokenSpaceGuid.PcdGicInterruptInterfaceHBase|0xFF844000
    gRaspberryPiTokenSpaceGuid.PcdGicInterruptInterfaceVBase|0xFF846000
    gRaspberryPiTokenSpaceGuid.PcdGicGsivId|0x19
-  gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq0|0x30
-  gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq1|0x31
-  gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq2|0x32
-  gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq3|0x33
+  gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq0|23
+  gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq1|23
+  gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq2|23
+  gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq3|23
    #
    # Fixed CPU settings.
Reviewed-by: Pete Batard <@pbatard>
Tested-by: Pete Batard <@pbatard>


Samer El-Haj-Mahmoud
 

Thanks Pete.

Ard, Leif,

If there are no concerns, can you please push this patch, along with the other series that are reviews:

https://edk2.groups.io/g/devel/message/63042
https://edk2.groups.io/g/devel/message/62790

Thanks,
--Samer

-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Pete
Batard via groups.io
Sent: Monday, August 3, 2020 1:12 PM
To: devel@edk2.groups.io; Samer El-Haj-Mahmoud <Samer.El-Haj-
Mahmoud@...>
Cc: Leif Lindholm <leif@...>; Andrei Warkentin
(awarkentin@...) <awarkentin@...>; Ard Biesheuvel
<Ard.Biesheuvel@...>
Subject: Re: [edk2-devel] [edk2-platform][PATCH v1 1/1]
Platforms/RaspberryPi: Fix RPi4 GICC PMU PPI

Adding a tested-by, since these are values that could potentially trip the
custom handling that Windows seems to have of MADT, and I hadn't tested
that yet.

Testing shows that Windows is happy with these new values, so with this:

On 2020.07.31 08:55, Pete Batard via groups.io wrote:
On 2020.07.28 22:00, Samer El-Haj-Mahmoud wrote:
Arm SBSA specification section ver 6.0, 4.1.5 defines specific PPI
values for certain standard interrupt IDs. The value for "Performance
Monitors Interrupt" needs to be 23.

REF: https://developer.arm.com/documentation/den0029/latest

This partially fixes SBSA test #11 ("Incorrect PPI value") reported
in
https://github.com/pftf/RPi4/issues/74

Cc: Leif Lindholm <leif@...>
Cc: Pete Batard <@pbatard>
Cc: Andrei Warkentin <awarkentin@...>
Cc: Ard Biesheuvel <ard.biesheuvel@...>
Signed-off-by: Samer El-Haj-Mahmoud <samer.el-haj-
mahmoud@...>
---
Platform/RaspberryPi/RPi4/RPi4.dsc | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Platform/RaspberryPi/RPi4/RPi4.dsc
b/Platform/RaspberryPi/RPi4/RPi4.dsc
index c481c3534263..00683afe96b9 100644
--- a/Platform/RaspberryPi/RPi4/RPi4.dsc
+++ b/Platform/RaspberryPi/RPi4/RPi4.dsc
@@ -433,10 +433,10 @@ [PcdsFixedAtBuild.common]

gRaspberryPiTokenSpaceGuid.PcdGicInterruptInterfaceHBase|0xFF844000

gRaspberryPiTokenSpaceGuid.PcdGicInterruptInterfaceVBase|0xFF846000
gRaspberryPiTokenSpaceGuid.PcdGicGsivId|0x19
- gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq0|0x30
- gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq1|0x31
- gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq2|0x32
- gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq3|0x33
+ gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq0|23
+ gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq1|23
+ gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq2|23
+ gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq3|23
#
# Fixed CPU settings.
Reviewed-by: Pete Batard <@pbatard>
Tested-by: Pete Batard <@pbatard>




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.


Ard Biesheuvel
 

On 7/31/20 9:55 AM, Pete Batard wrote:
On 2020.07.28 22:00, Samer El-Haj-Mahmoud wrote:
Arm SBSA specification section ver 6.0, 4.1.5 defines specific PPI
values for certain standard interrupt IDs. The value for
"Performance Monitors Interrupt" needs to be 23.

REF: https://developer.arm.com/documentation/den0029/latest

This partially fixes SBSA test #11 ("Incorrect PPI value") reported in
https://github.com/pftf/RPi4/issues/74

Cc: Leif Lindholm <leif@...>
Cc: Pete Batard <@pbatard>
Cc: Andrei Warkentin <awarkentin@...>
Cc: Ard Biesheuvel <ard.biesheuvel@...>
Signed-off-by: Samer El-Haj-Mahmoud <samer.el-haj-mahmoud@...>
---
  Platform/RaspberryPi/RPi4/RPi4.dsc | 8 ++++----
  1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Platform/RaspberryPi/RPi4/RPi4.dsc b/Platform/RaspberryPi/RPi4/RPi4.dsc
index c481c3534263..00683afe96b9 100644
--- a/Platform/RaspberryPi/RPi4/RPi4.dsc
+++ b/Platform/RaspberryPi/RPi4/RPi4.dsc
@@ -433,10 +433,10 @@ [PcdsFixedAtBuild.common]
    gRaspberryPiTokenSpaceGuid.PcdGicInterruptInterfaceHBase|0xFF844000
    gRaspberryPiTokenSpaceGuid.PcdGicInterruptInterfaceVBase|0xFF846000
    gRaspberryPiTokenSpaceGuid.PcdGicGsivId|0x19
-  gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq0|0x30
-  gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq1|0x31
-  gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq2|0x32
-  gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq3|0x33
+  gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq0|23
+  gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq1|23
+  gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq2|23
+  gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq3|23
    #
    # Fixed CPU settings.
Reviewed-by: Pete Batard <@pbatard>
Thanks

Pushed as cf825de918f9..602a7ea1ab6d