| 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 ...
|
| 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 ...
|
| 035c6da4 | 21-Aug-2023 |
Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> |
refactor(qemu): keep AArch64 cpu flags in one section
There is no need to have two "if" checks for same thing one after another.
FGT, RNG, SVE, SME are aarch64 only flags.
Change-Id: I6e5850211c85
refactor(qemu): keep AArch64 cpu flags in one section
There is no need to have two "if" checks for same thing one after another.
FGT, RNG, SVE, SME are aarch64 only flags.
Change-Id: I6e5850211c859dc7a4ccf6bc8dc6a8d600ffe692 Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
show more ...
|
| 941fc383 | 24-Jul-2023 |
Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> |
refactor(qemu): handle SPM_MM builds
SPM_MM is not compatible with ENABLE_SVE_FOR_NS and breaks build early:
> Including SPM Management Mode (MM) makefile > services/std_svc/spm/spm_mm/spm_mm.mk:14
refactor(qemu): handle SPM_MM builds
SPM_MM is not compatible with ENABLE_SVE_FOR_NS and breaks build early:
> Including SPM Management Mode (MM) makefile > services/std_svc/spm/spm_mm/spm_mm.mk:14: *** "Error: SPM_MM is not compatible with ENABLE_SVE_FOR_NS". Stop.
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> Change-Id: Iabe181647fce00a432ae11dc4599b71619364c24
show more ...
|
| c1baf178 | 24-Jul-2023 |
Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> |
refactor(qemu): common cpu features enablement
Enable SVE, SME, RNG, FGT in one place.
qemu gains FGT (needed for 'max' cpu to boot Linux) qemu_sbsa gains RNG
Signed-off-by: Marcin Juszkiewicz <ma
refactor(qemu): common cpu features enablement
Enable SVE, SME, RNG, FGT in one place.
qemu gains FGT (needed for 'max' cpu to boot Linux) qemu_sbsa gains RNG
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> Change-Id: I2e8f971ef3e42d9ebe9f20641b288cc8c40f806a
show more ...
|