| #
a1ff78f5 |
| 16-Jan-2025 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(smmu): set root port CR0 GPCEN before ACCESSEN" into integration
|
| #
8cc97242 |
| 07-Jan-2025 |
Olivier Deprez <olivier.deprez@arm.com> |
fix(smmu): set root port CR0 GPCEN before ACCESSEN
In the SMMU root port programming model, changing both SMMU_ROOT_CR0.GPCEN and ACCESSEN bits in the same MMIO write operation is permitted by the a
fix(smmu): set root port CR0 GPCEN before ACCESSEN
In the SMMU root port programming model, changing both SMMU_ROOT_CR0.GPCEN and ACCESSEN bits in the same MMIO write operation is permitted by the architecture but left to the SMMU IP implementation to determine the order of completing one or the other operation.
Enforce more determinism by setting CR0.GPCEN, wait for CR0ACK.GPCEN completion, then setting CR0.ACCESSEN and wait for CR0ACK.ACCESSEN completion.
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com> Change-Id: I36ba5fbc13d06c6243226008d18a2d57477b0d28
show more ...
|
| #
2a0ca84f |
| 07-May-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "sm/feat_detect" into integration
* changes: refactor(cpufeat): restore functions in detect_arch_features refactor(cpufeat): add macro to simplify is_feat_xx_present c
Merge changes from topic "sm/feat_detect" into integration
* changes: refactor(cpufeat): restore functions in detect_arch_features refactor(cpufeat): add macro to simplify is_feat_xx_present chore: simplify the macro names in ENABLE_FEAT mechanism
show more ...
|
| #
aaaf2cc3 |
| 13-Mar-2024 |
Sona Mathew <sonarebecca.mathew@arm.com> |
refactor(cpufeat): add macro to simplify is_feat_xx_present
In this patch, we are trying to introduce the wrapper macro CREATE_FEATURE_PRESENT to get the following capability and align it for all th
refactor(cpufeat): add macro to simplify is_feat_xx_present
In this patch, we are trying to introduce the wrapper macro CREATE_FEATURE_PRESENT to get the following capability and align it for all the features:
-> is_feat_xx_present(): Does Hardware implement the feature. -> uniformity in naming the function across multiple features. -> improved readability
The is_feat_xx_present() is implemented to check if the hardware implements the feature and does not take into account the ENABLE_FEAT_XXX flag enabled/disabled in software.
- CREATE_FEATURE_PRESENT(name, idreg, shift, mask, idval) The wrapper macro reduces the function to a single line and creates the is_feat_xx_present function that checks the id register based on the shift and mask values and compares this against a determined idvalue.
Change-Id: I7b91d2c9c6fbe55f94c693aa1b2c50be54fb9ecc Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| #
b2bca9eb |
| 01-Mar-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "smmuv3_fix" into integration
* changes: feat(smmu): separate out smmuv3_security_init from smmuv3_init feat(smmu): fix to perform INV_ALL before enabling GPC
|
| #
a23710b4 |
| 21-Dec-2023 |
Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com> |
feat(smmu): separate out smmuv3_security_init from smmuv3_init
Split the smmuv3_init() to separate smmuv3_security_init() from it in order to allow skipping the default deny policy on reset for cert
feat(smmu): separate out smmuv3_security_init from smmuv3_init
Split the smmuv3_init() to separate smmuv3_security_init() from it in order to allow skipping the default deny policy on reset for certain SMMUv3 implementations. Additionally, fix a couple of MISRA warnings.
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com> Signed-off-by: Vivek Gautam <vivek.gautam@arm.com> Change-Id: I2127943e709dd1ded34145bd022c930e351bbb4a
show more ...
|
| #
70d849c1 |
| 14-Dec-2023 |
Vivek Gautam <vivek.gautam@arm.com> |
feat(smmu): fix to perform INV_ALL before enabling GPC
The SMMU_S_INIT register definition in the Arm SMMUv3 specification says that if SMMUv3 has REALM_IMPL == 1 then it is root firmware’s responsi
feat(smmu): fix to perform INV_ALL before enabling GPC
The SMMU_S_INIT register definition in the Arm SMMUv3 specification says that if SMMUv3 has REALM_IMPL == 1 then it is root firmware’s responsibility to write to INV_ALL before enabling granule protection checks. So fix this flow during smmuv3 init.
Signed-off-by: Vivek Gautam <vivek.gautam@arm.com> Change-Id: Ied9325e1658950c04f06c62485eeab3f28ca1285
show more ...
|
| #
0a9a0edf |
| 19-May-2022 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "mb/drtm-work-phase-1" into integration
* changes: build(changelog): add new scope for Arm SMMU driver feat(smmu): add SMMU abort transaction function docs(build): add
Merge changes from topic "mb/drtm-work-phase-1" into integration
* changes: build(changelog): add new scope for Arm SMMU driver feat(smmu): add SMMU abort transaction function docs(build): add build option for DRTM support build(drtm): add DRTM support build option
show more ...
|
| #
6c5c5320 |
| 25-Mar-2022 |
Lucian Paul-Trifu <lucian.paultrifu@gmail.com> |
feat(smmu): add SMMU abort transaction function
Created a function to abort all pending NS DMA transactions to engage complete DMA protection. This call will be used by the subsequent DRTM implement
feat(smmu): add SMMU abort transaction function
Created a function to abort all pending NS DMA transactions to engage complete DMA protection. This call will be used by the subsequent DRTM implementation changes.
Signed-off-by: Manish V Badarkhe <manish.badarkhe@arm.com> Signed-off-by: Lucian Paul-Trifu <lucian.paultrifu@gmail.com> Change-Id: I94992b54c570327d6746295073822a9c0ebdc85d
show more ...
|
| #
06796a08 |
| 28-Apr-2022 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "feat(smmu): configure SMMU Root interface" into integration
|
| #
52a314af |
| 04-Feb-2022 |
Olivier Deprez <olivier.deprez@arm.com> |
feat(smmu): configure SMMU Root interface
This change performs a basic configuration of the SMMU root registers interface on an RME enabled system. This permits enabling GPC checks for transactions
feat(smmu): configure SMMU Root interface
This change performs a basic configuration of the SMMU root registers interface on an RME enabled system. This permits enabling GPC checks for transactions originated from a non-secure or secure device upstream to an SMMU. It re-uses the boot time GPT base address and configuration programmed on the PE. The root register file offset is platform dependent and has to be supplied on a model command line.
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com> Change-Id: I4f889be6b7afc2afb4d1d147c5c1c3ea68f32e07
show more ...
|
| #
d69f9981 |
| 04-Nov-2019 |
Alexei Fedorov <Alexei.Fedorov@arm.com> |
Merge "SMMUv3:Changed retry loop to delay timer(GENFW-3329)" into integration
|
| #
620dd58b |
| 31-Oct-2019 |
Deepika Bhavnani <deepika.bhavnani@arm.com> |
SMMUv3:Changed retry loop to delay timer(GENFW-3329)
Instead of retry polling, timer of 1ms is used to poll
Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com> Change-Id: I7e028dc68138d2888e
SMMUv3:Changed retry loop to delay timer(GENFW-3329)
Instead of retry polling, timer of 1ms is used to poll
Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com> Change-Id: I7e028dc68138d2888e3cf0cbed744f5e6bc6ff42
show more ...
|
| #
acc18c1f |
| 15-May-2019 |
Soby Mathew <soby.mathew@arm.com> |
Merge "SMMUv3: Abort DMA transactions" into integration
|
| #
1461ad9f |
| 09-May-2019 |
Alexei Fedorov <Alexei.Fedorov@arm.com> |
SMMUv3: Abort DMA transactions
For security DMA should be blocked at the SMMU by default unless explicitly enabled for a device. SMMU is disabled after reset with all streams bypassing the SMMU, and
SMMUv3: Abort DMA transactions
For security DMA should be blocked at the SMMU by default unless explicitly enabled for a device. SMMU is disabled after reset with all streams bypassing the SMMU, and abortion of all incoming transactions implements a default deny policy on reset. This patch also moves "bl1_platform_setup()" function from arm_bl1_setup.c to FVP platforms' fvp_bl1_setup.c and fvp_ve_bl1_setup.c files.
Change-Id: Ie0ffedc10219b1b884eb8af625bd4b6753749b1a Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
show more ...
|
| #
b9c1d185 |
| 03-May-2019 |
Soby Mathew <soby.mathew@arm.com> |
Merge "SMMUv3: refactor the driver code" into integration
|
| #
ccd4d475 |
| 26-Apr-2019 |
Alexei Fedorov <Alexei.Fedorov@arm.com> |
SMMUv3: refactor the driver code
This patch is a preparation for the subsequent changes in SMMUv3 driver. It introduces a new "smmuv3_poll" function and replaces inline functions for accessing SMMU
SMMUv3: refactor the driver code
This patch is a preparation for the subsequent changes in SMMUv3 driver. It introduces a new "smmuv3_poll" function and replaces inline functions for accessing SMMU registers with mmio read/write operations. Also the infinite loop for the poll has been replaced with a counter based timeout.
Change-Id: I7a0547beb1509601f253e126b1a7a6ab3b0307e7 Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
show more ...
|
| #
9a207532 |
| 04-Jan-2019 |
Antonio Niño Díaz <antonio.ninodiaz@arm.com> |
Merge pull request #1726 from antonio-nino-diaz-arm/an/includes
Sanitise includes across codebase
|
| #
09d40e0e |
| 14-Dec-2018 |
Antonio Nino Diaz <antonio.ninodiaz@arm.com> |
Sanitise includes across codebase
Enforce full include path for includes. Deprecate old paths.
The following folders inside include/lib have been left unchanged:
- include/lib/cpus/${ARCH} - inclu
Sanitise includes across codebase
Enforce full include path for includes. Deprecate old paths.
The following folders inside include/lib have been left unchanged:
- include/lib/cpus/${ARCH} - include/lib/el3_runtime/${ARCH}
The reason for this change is that having a global namespace for includes isn't a good idea. It defeats one of the advantages of having folders and it introduces problems that are sometimes subtle (because you may not know the header you are actually including if there are two of them).
For example, this patch had to be created because two headers were called the same way: e0ea0928d5b7 ("Fix gpio includes of mt8173 platform to avoid collision."). More recently, this patch has had similar problems: 46f9b2c3a282 ("drivers: add tzc380 support").
This problem was introduced in commit 4ecca33988b9 ("Move include and source files to logical locations"). At that time, there weren't too many headers so it wasn't a real issue. However, time has shown that this creates problems.
Platforms that want to preserve the way they include headers may add the removed paths to PLAT_INCLUDES, but this is discouraged.
Change-Id: I39dc53ed98f9e297a5966e723d1936d6ccf2fc8f Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
show more ...
|
| #
7e0a38a4 |
| 04-Oct-2018 |
Soby Mathew <soby.mathew@arm.com> |
Merge pull request #1603 from antonio-nino-diaz-arm/db/reclaim-init
Reclaim BL31 initialization code memory for runtime data
|
| #
c9263e62 |
| 18-Sep-2018 |
Daniel Boulby <daniel.boulby@arm.com> |
Mark GICV3, CCI and CCN boot time code as init
Mark the GICv3, CCI and CCN code only used in Bl31 initialization with __init to be reclaimed once no longer needed.
Change-Id: I3d77f36758450d9d1d87e
Mark GICV3, CCI and CCN boot time code as init
Mark the GICv3, CCI and CCN code only used in Bl31 initialization with __init to be reclaimed once no longer needed.
Change-Id: I3d77f36758450d9d1d87ecc60bc1c63fe4082667 Signed-off-by: Daniel Boulby <daniel.boulby@arm.com>
show more ...
|
| #
dcf95e7e |
| 30-Aug-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1542 from antonio-nino-diaz-arm/an/bl31-misra
Some MISRA fixes in BL31, cci and smmu
|
| #
6d5f0631 |
| 21-Aug-2018 |
Antonio Nino Diaz <antonio.ninodiaz@arm.com> |
drivers: smmu: Fix MISRA defects
Change-Id: I2954a99d5b72069bcb7bac9d6926c6209d6ba881 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
|
| #
74a44dca |
| 13-Jun-2018 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
Merge pull request #1399 from danielboulby-arm/db/MISRA
MISRA 5.1, 5.3 & 5.7 compliance changes
|
| #
896a5902 |
| 04-May-2018 |
Daniel Boulby <daniel.boulby@arm.com> |
Fix MISRA Rule 5.3 Part 2
Use a _ prefix for Macro arguments to prevent that argument from hiding variables of the same name in the outer scope
Rule 5.3: An identifier declared in an inner scope sh
Fix MISRA Rule 5.3 Part 2
Use a _ prefix for Macro arguments to prevent that argument from hiding variables of the same name in the outer scope
Rule 5.3: An identifier declared in an inner scope shall not hide an identifier declared in an outer scope
Fixed For: make LOG_LEVEL=50 PLAT=fvp
Change-Id: I67b6b05cbad4aeca65ce52981b4679b340604708 Signed-off-by: Daniel Boulby <daniel.boulby@arm.com>
show more ...
|