-
Notifications
You must be signed in to change notification settings - Fork 582
Reserve ecam v express #730
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Add a RES0 device to the SSDT to reserve the PCI ECAM area. This fixes the firmware bug reported by Linux: acpi PNP0A08:00: [Firmware Bug]: ECAM area [mem 0x40000000-0x4fffffff] not reserved in ACPI namespace With this change, the above message is replaced with: acpi PNP0A08:00: ECAM area [mem 0x40000000-0x4fffffff] reserved by PNP0C02:00 This patch is based on commit 1e5be97 ("Platform/ARM/JunoPkg: Reserve the ECAM area in ACPI with RES0 device") REF:https://developer.arm.com/documentation/100964/1127/Base-Platform/ Base-Platform-memory/Base-Platform-memory-map?lang=en Signed-off-by: Varshit Pandya <varshit.pandya@arm.com>
Since Juno and VExpress are using the same PCDs using a common name for both the platforms. Signed-off-by: Varshit Pandya <varshit.pandya@arm.com>
|
@samimujawar can you please take a look at this PR ? |
| QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, | ||
| 0x0000000000000000, // Granularity | ||
| FixedPcdGet64 (PcdPciExpressBaseAddress), // Range Minimum | ||
| FixedPcdGet64 (PcdPciConfigurationSpaceLimit), // Range Maximum |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you check if the Size be used from https://github.com/tianocore/edk2-platforms/blob/master/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc#L212-L213, please?
If so believe the Limit can be computed, right?
| gArmVExpressTokenSpaceGuid.PcdHdLcdVideoModeOscId|0|UINT32|0x00000005 | ||
| gArmVExpressTokenSpaceGuid.PcdArmMaliDpMaxMode|0|UINT32|0x00000008 | ||
|
|
||
| gArmTokenSpaceGuid.PcdPciConfigurationSpaceSize|0x10000000|UINT64|0x00000011 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How is the gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseSize different from gArmTokenSpaceGuid.PcdPciConfigurationSpaceSize, can you check, please?
See https://github.com/tianocore/edk2/blob/master/MdePkg/MdePkg.dec#L2538
|
@vbpandya any update on the status of this PR? |
This one slipped through the cracks, in the mean time FVP has moved to Dynamic table (makes implementing your feedback easy) which Juno is still on static tables, will close this PR for now, since it will be good to move Juno to Dynamic Table and then use common PCD for both platforms. |
|
I think we should drop the static tables support and keep Dynamic Tables Framework based support only for Juno. Can you send a separate PR for that, please? Also, I think the SSDT PCIe generator may be taking care of the Firmware bug issue which the Linux kernel reports. Can you check and report back, please? In that case this PR can be closed. |
Platform/Arm/VExpressPkg: Reserve the ECAM area in ACPI with RES0 device
Add a RES0 device to the SSDT to reserve the PCI ECAM area.This fixes the firmware bug reported by Linux:
acpi PNP0A08:00: [Firmware Bug]: ECAM area [mem 0x40000000-0x4fffffff]not reserved in ACPI namespaceWith this change, the above message is replaced with:
acpi PNP0A08:00: ECAM area [mem 0x40000000-0x4fffffff] reserved by PNP0C02:00This patch is based on commit 1e5be97 ("Platform/ARM/JunoPkg:Reserve the ECAM area in ACPI with RES0 device")
REF:https://developer.arm.com/documentation/100964/1127/Base-Platform/Base-Platform-memory/Base-Platform-memory-map?lang=en
Also use same PCD for Juno and VExpress.