In the case of GPT, the UEFI specification requires that the PMBR
(Protective MBR) partition table contain one partition record, which
starts at LBA 1, containing the GPT Header. Hence, the field 'first_lba'
of the first partition table entry of the PMBR should always be set to 1
when GPT is used. However, this is not the case for plain MBR.
The function load_mbr_header() should also work for plain MBR
partitioning, so the check 'if (tmp.first_lba != 1)' has been relocated.
Change-Id: Iad990e61b2186c21f942537dfd140ed0e023ac4c
Signed-off-by: Bogdan Roman <bogdan-gabriel.roman@nxp.com>
Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
Fixed below MISRA violation:
- MISRA Violation: MISRA-C:2012 R.8.3:
- All declarations of an object or function shall use the same names
and type qualifiers.
- Fix:
- Made same name parameters and type qualifiers in function declaration
and definition.
Change-Id: Idb4f986cec957102bb4ba1ef22f2e7937aaeb54d
Signed-off-by: Devanshi Chauhan Alpeshbhai <devanshi.chauhanalpeshbhai@amd.com>
Fixed below MISRA violation:
- MISRA Violation: MISRA-C:2012 R.14.4:
- The controlling expression of an if statement and the controlling
expression of an iteration-statement shall have essentially Boolean
type.
- Fix:
- Converted controlling expression of if statement into essential
Boolean type.
Change-Id: I2642ff4d6446bc0719d27cd95b1ad35c36f40211
Signed-off-by: Devanshi Chauhan Alpeshbhai <devanshi.chauhanalpeshbhai@amd.com>
Fixed below MISRA violation:
- MISRA Violation: MISRA-C:2012 R.10.4:
- Both operands of an operator in which the usual arithmetic conversions
are performed shall have the same essential type category.
- Fix:
- Made data type same for both the operands.
Change-Id: I0cea19477f3c10265d95ea1d5d2ea151dbf174bb
Signed-off-by: Devanshi Chauhan Alpeshbhai <devanshi.chauhanalpeshbhai@amd.com>
Fixed below MISRA violation:
- MISRA Violation: MISRA-C:2012 R.10.3:
- The value of an expression shall not be assigned to an object
with a narrower essential type or of a different essential type
category.
- Fix:
- Explicitly type casted to narrower essential type or of a different
essential type category.
Change-Id: Ia4258d2d0655f7847f832804a13d182ac0a2a29b
Signed-off-by: Devanshi Chauhan Alpeshbhai <devanshi.chauhanalpeshbhai@amd.com>
The current code does the following:
sp_state_wait_switch:
lock()
if (status == 0)
status = 1
unlock()
[critical section]
sp_state_set:
lock()
status = 0
unlock()
One core will obtain the status for itself and then all other cores will
get the lock, see the status is not available, release the lock, and try
again. However, when there are many cores this causes a lot of lock
contention and the original core is racing to obtain the lock to release
the status. This starves the holder of the lock, resulting in an
apparent deadlock, although given enough time it will pass.
Hold the lock throughout to prevent this.
Also make the functions static as they are never exported and drop
sp_state_try_switch() as its unused and would not work anymore.
Change-Id: I0861d04ed95437e4ca9f203d9e79a6296b1ead56
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
tlkd is not fully adopted to work with FEAT_D128, currently we avoid
building tlkd when FEAT_D128 is enabled.
Add a build error when we build tlkd with FEAT_D128.
Change-Id: I6ebc0eb8b551701897a62e0d800e786ce81beadf
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
The function is declared with 2 const parameters, however it is defined
without the const qualifiers, leading to compiler warnings.
Change-Id: Ibe021336ea50e2028799bd6b1f0c5b513490185d
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
When building with LTO, GCC is uncomfortable that these variables are
uninitialised and complains that they may be used before they are
initialised. Set them to 0 as there are plenty of asserts to make sure
these branches cannot be taken.
Change-Id: Ic1f05e77252e93bdafab033dcb24ad42856ebf9a
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Following the renaming of printer functions to follow the
event_log_{func} convention, update RPI3 to use the new function names
for consistency with the logging library.
Change-Id: I7a009e78611398f0978e362a7ee5327276286126
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
Following the renaming of printer functions to follow the
event_log_{func} convention, update IMX8M to use the new function names
for consistency with the logging library.
Change-Id: I2e5afc3ef077b45dfd2cdd284d45a7b4230ac479
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
Following the renaming of printer functions to follow the
event_log_{func} convention, update QEMU to use the new function names
for consistency with the logging library.
Additionally, the common/debug.h header was previously exposed via the
event log library. As the event log library moves toward becoming
standalone, pull in this dependency directly from TF-A instead of
relying on it being transitively included.
Change-Id: Iafcdab0d4abff648c025bef853919541b5c3fdb7
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
Following the renaming of printer functions to follow the
event_log_{func} convention, update FVP to use the new function names
for consistency with the logging library.
Change-Id: I1c3b1311d51174c76903e147c28d51f986b52712
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
Rename existing printer functions to follow the `event_log_{func}`
convention used in other parts of the logging library. This is the first
in a series of changes to prepare the event log library to be a
standalone component.
Change-Id: I11c924587c0f67af383f7c68d64d78bbe931cfcd
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
New Defects reported by Coverity Scan found value "-6" to "ret" here,
but that stored value is overwritten before it can be used.
We'd rather just return from those places to avoid this, similar
to how it was being done in k3_psci as well.
Change-Id: I7661586f191aad541387c06ab221c1d7cb58e461
Signed-off-by: Dhruva Gole <d-gole@ti.com>
As RD-E1-Edge platform has been deprecated and removed, remove the scope
used by the platform from changelog.
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: Ib3706cd76ae1d8d05f37794629739a687ed26b9a
add the path for RD-V3 and variants to the maintained paths under
Neoverse reference design platforms.
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: Ib9323143bedf49304ed6f07b20dc39b8821464c5
deprecate and remove support for RD-V1 and RD-V1-MC platform variants.
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: Ifab7b95e00615806986e316e0bde7788dc8af04f
deprecate and remove support for RD-N1-Edge and RD-N1-Edgex2 platform
variants.
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I59dce73b70014b3416d89b0d024d7204356b1b77
deprecate and remove support for SGI-575 platform.
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: Iffee2fa8f4faa463c4b4df591182f72a461c880b
* changes:
feat(ti): introduce basic support for the AM62L
feat(ti): introduce PSCI Driver for AM62L
feat(ti): add support for TI mailbox driver
refactor(ti): move out k3/common to ti/common
refactor(ti): introduce ti_bl31_setup
refactor(ti): add the sec hdr to the ti sci msg
refactor(ti): rename the k3_sec_proxy_chan_id
refactor(ti): rename the sec_proxy functions
refactor(ti): add top level ti_sci transport layer
refactor(ti): move TI SCI and sec proxy to drivers
The only platform to use this is fvp_r. As this platform is now gone, so
is the need for this file. Remove it
Change-Id: If65f1c5f525283e19c8421cfa31498480370b933
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
The only platform to use this is fvp_r. As this platform is now gone, so
is the need for this library. Support for it never went out of
"experimental" so it does not appear to be finished.
Change-Id: I76499b92ca4368651330f17dc80803991158cc36
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
RECLAIM_INIT_CODE is useful to remove code that is only necessary during
boot. However, these functions are generally called once and as such
prime candidates for inlining. When building with LTO, the compiler is
pretty good at inlining every single one, making this option pointless.
So tell the compiler to not inline these functions. This ensures they
are kept separate and they can be garbage collected later. This is
expected to cost a little bit of speed due to the extra branching.
Change-Id: Ie83a9ec8db03cb42139742fc6d728d12ce8549d3
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Its last user was removed some time ago so it is no longer necessary.
Change-Id: I28264367abd2902ed0d3f207f686538a82a44eba
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
The Linux Automation Test Automation Controller (LXA TAC)[1] is an embedded
software development tool built around the Octavo Systems OSD32MP15x SiP.
The device contains an eMMC for storage, a DSA-capable on board ethernet
switch with two external ports, dual CAN busses, a power switch to turn
a device under test on or off and some other I/O.
[1]: https://www.linux-automation.com/en/products/lxa-tac.html
Signed-off-by: Rouven Czerwinski <rouven@czerwinskis.de>
Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de>
Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
[m.felsch@pengutronix.de: sort phandles alphabetical]
[m.felsch@pengutronix.de: adapt st,pkcs to st,clksrc]
[m.felsch@pengutronix.de: adapt pll vco setup]
[m.felsch@pengutronix.de: adapt commit message]
Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
Change-Id: Ic943da379557adba2673064160b85d308d962a29
A potential problem with clang version < 17 can cause resolving nested
'cfi_startproc' to fail compilation.
So add a variant of check_errara/reset_macros that is compatible with
clang version < 17 to ignore `cfi_startproc` and `cfi_endproc`.
This wouldn't cause any performance issue and will not affect any
functional behaviour.
Change-Id: I46147af2dd0accd5be14ddb26dea03bb2f87cba8
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
Update documentation to reflect the use of GCC version 14.2.Rel1,
the latest production release available at:
https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
TF-A is built in CI using x86_64 Linux-hosted cross toolchains:
---------------------------------------------------------------
* AArch32 bare-metal target (arm-none-eabi)
* AArch64 bare-metal target (aarch64-none-elf)
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
Change-Id: I4cd2c16fa9daac1ce518d2280169e92562e3766d
* Using "TF_MBEDTLS_RSA_AND_ECDSA" algorithm with toolchain 14.2.1
causes the BL2 image to exceed RAM limits, triggering a link error
("region `RAM' overflowed by 4096 bytes").
* Resolved by increasing PLAT_ARM_MAX_BL2_SIZE by 4KB to accommodate
the larger image.
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
Change-Id: Ie9d411c1207801436d8cffcf72fec2752371eb69
Commit 2cadf21bc removed fvp_r but did not list it as such. Do that.
Change-Id: I84e83196add3d0f912fd503cd253bc5496647dd6
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>