| 9b076436 | 10-Jan-2024 |
Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> |
docs(qemu-sbsa): describe what we get from QEMU
QEMU provides us with minimal information about hardware platform using minimalistic DeviceTree. This is not a Linux DeviceTree. It is not even a firm
docs(qemu-sbsa): describe what we get from QEMU
QEMU provides us with minimal information about hardware platform using minimalistic DeviceTree. This is not a Linux DeviceTree. It is not even a firmware DeviceTree.
Change-Id: I7b6cc5f53a4f78a9ed69bc7fc2fa1a69ea65428d Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
show more ...
|
| 42925c15 | 21-Nov-2023 |
Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> |
feat(qemu-sbsa): handle CPU information
We want to remove use of DeviceTree from EDK2. So we move functions to TF-A:
- counting cpu cores - checking NUMA node id - checking MPIDR
And then it gets
feat(qemu-sbsa): handle CPU information
We want to remove use of DeviceTree from EDK2. So we move functions to TF-A:
- counting cpu cores - checking NUMA node id - checking MPIDR
And then it gets passed to EDK2 via SMC calls.
Change-Id: I1c7fc234ba90ba32433b6e4aa2cf127f26da00fd Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
show more ...
|
| ebe82a39 | 07-Sep-2023 |
Jean-Philippe Brucker <jean-philippe@linaro.org> |
feat(qemu): support TRP for RME
When an external RMM is not provided during make invocation, include the Test Realm Payload (TRP) to the FIP.
Change-Id: I15d396cf268a08d79da63075aadb4172238eb225 Si
feat(qemu): support TRP for RME
When an external RMM is not provided during make invocation, include the Test Realm Payload (TRP) to the FIP.
Change-Id: I15d396cf268a08d79da63075aadb4172238eb225 Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
show more ...
|
| 8ffe0b2e | 07-Sep-2023 |
Jean-Philippe Brucker <jean-philippe@linaro.org> |
feat(qemu): load and run RMM image
When RME is enabled, jump to the RMM image before BL33. When using semihosting rather than FIP, the image called "rmm.bin" is loaded from the runtime directory.
C
feat(qemu): load and run RMM image
When RME is enabled, jump to the RMM image before BL33. When using semihosting rather than FIP, the image called "rmm.bin" is loaded from the runtime directory.
Change-Id: I15863410b1e505aa502276b339b22a2ddcb0b745 Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
show more ...
|
| 6cd113fe | 07-Sep-2023 |
Jean-Philippe Brucker <jean-philippe@linaro.org> |
feat(qemu): setup Granule Protection Table
When RME is enabled, call the GPT library to setup the granule protection tables and partition the physical address space.
Change-Id: Ib466c4579ff55fcff93
feat(qemu): setup Granule Protection Table
When RME is enabled, call the GPT library to setup the granule protection tables and partition the physical address space.
Change-Id: Ib466c4579ff55fcff9307550e6d26d432674779a Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
show more ...
|
| cd75693f | 07-Sep-2023 |
Jean-Philippe Brucker <jean-philippe@linaro.org> |
feat(qemu): setup memory map for RME
Reserve some space in DRAM for RMM, and some space in SRAM for the GPT tables. Create the page table mappings.
Change-Id: I3822e7e505e86eb0fa15b1b5b6298e4122b17
feat(qemu): setup memory map for RME
Reserve some space in DRAM for RMM, and some space in SRAM for the GPT tables. Create the page table mappings.
Change-Id: I3822e7e505e86eb0fa15b1b5b6298e4122b17181 Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
show more ...
|
| a5ab1ef7 | 07-Sep-2023 |
Jean-Philippe Brucker <jean-philippe@linaro.org> |
feat(qemu): update mapping types for RME
With RME, mappings for EL3 use MT_ROOT rather than MT_SECURE. Update the mapping types to select the right memory type: EL3_PAS is MT_ROOT when RME is enable
feat(qemu): update mapping types for RME
With RME, mappings for EL3 use MT_ROOT rather than MT_SECURE. Update the mapping types to select the right memory type: EL3_PAS is MT_ROOT when RME is enabled, MT_SECURE otherwise.
Change-Id: I93e287009515b64e833a6f69545766be4c87e473 Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
show more ...
|
| c69e95ee | 06-Sep-2023 |
Jean-Philippe Brucker <jean-philippe@linaro.org> |
feat(qemu): use mock attestation functions for RME
Since QEMU doesn't yet emulate hardware attestation, provide hardcoded key and token to demonstrate attestation for RME. They are copied from the m
feat(qemu): use mock attestation functions for RME
Since QEMU doesn't yet emulate hardware attestation, provide hardcoded key and token to demonstrate attestation for RME. They are copied from the mock values for the FVP platform.
Change-Id: I9ce686955345854e9409af5c3aad2a648adea226 Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
show more ...
|
| a97f4665 | 13-Nov-2023 |
Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> |
refactor(qemu): change way how we enable cpu features
We have to handle wide selection of cpu cores in one TF-A binary: - v8.0: a53, a57, a72 - v8.2: a55, a76, n1 - v8.4: v1 - v9.0: a710, n2
And th
refactor(qemu): change way how we enable cpu features
We have to handle wide selection of cpu cores in one TF-A binary: - v8.0: a53, a57, a72 - v8.2: a55, a76, n1 - v8.4: v1 - v9.0: a710, n2
And then we have QEMU's hybrid: 'max' which has everything QEMU can emulate.
TF-A for QEMU platforms was built for v8.5 architecture. But turned out that 'max' has v8.7 flag now (HCX) which we need to have. And this enabled set of mandatory features which made TF-A not-bootable on v8.0/8.2 cpus.
So I decided to follow Arm FVP way and do build for v8.0 with set of feature flags enabled. This way we have bare minimum to make v8.0 cpus boot. And then all features from newer cores are enabled with runtime check which makes them boot.
Tested with BSA/SBSA ACS and Debian Linux 6.5 kernel.
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> Change-Id: Ib87bdab992536c65ce0747ce1520682eafc18d39 Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
show more ...
|