| 69e57dcf | 10-Sep-2019 |
Jerome Forissier <jerome@forissier.org> |
core: arm64: crypto: AES-GCM: fix incorrect assembly syntax
"umov w0, v0.4s[0]" is not valid UAL syntax; the 4 should not be here. GCC accepts it fine but Clang does not. Fix it.
Signed-off-by: Jer
core: arm64: crypto: AES-GCM: fix incorrect assembly syntax
"umov w0, v0.4s[0]" is not valid UAL syntax; the 4 should not be here. GCC accepts it fine but Clang does not. Fix it.
Signed-off-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| f8f95bc1 | 10-Sep-2019 |
Jerome Forissier <jerome@forissier.org> |
Get rid of option -Wno-suggest-attribute=noreturn
The GCC option -Wno-suggest-attribute=noreturn is not supported by Clang. Instead of playing with compiler options, let's fix the code according to
Get rid of option -Wno-suggest-attribute=noreturn
The GCC option -Wno-suggest-attribute=noreturn is not supported by Clang. Instead of playing with compiler options, let's fix the code according to the following rules: - If a function is know to never return, it should have the __noreturn attribute in the header file. - If only some implementation of a function never returns, __noreturn shall be applied to that particular implementation in the .c file.
Signed-off-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 1df107b6 | 03-Sep-2019 |
Sumit Garg <sumit.garg@linaro.org> |
ftrace: exclude only foreign interrupt time
Current TA function execution time feature only reports user mode execution time and exclude any non-user mode execution time. But in case of syscalls whi
ftrace: exclude only foreign interrupt time
Current TA function execution time feature only reports user mode execution time and exclude any non-user mode execution time. But in case of syscalls which are essentially function invocations from TA into the kernel, we shouldn't exclude syscall execution time in order to account for actual function execution time. That means we only exclude time that is spent serving foreign interrupts.
So changes in this patch allows to incorporate syscall execution time in the function graph output.
Fixes: f5df167c2ffb ("ftrace: Add function execution time support") Signed-off-by: Sumit Garg <sumit.garg@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| a28e3d9d | 04-Sep-2019 |
Jerome Forissier <jerome@forissier.org> |
hikey960: add ASAN shadow offset for 32-bit build
Adds the proper CFG_ASAN_SHADOW_OFFSET value for HiKey960 in 32-bit mode. This allows to run with the kernel address sanitizer enabled (CFG_CORE_SAN
hikey960: add ASAN shadow offset for 32-bit build
Adds the proper CFG_ASAN_SHADOW_OFFSET value for HiKey960 in 32-bit mode. This allows to run with the kernel address sanitizer enabled (CFG_CORE_SANITIZE_KADDRESS=y).
Signed-off-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| f5ae8b29 | 28-Aug-2019 |
Ricardo Salveti <ricardo@foundries.io> |
core: imx: add mx6dapalis/mx6qapalis platform flavor
Add Toradex Apalis iMX6D and iMX6Q (1GB module variant) platform flavors.
CFG_DDR_SIZE needs to be manually set by the user (e.g. 0x80000000) if
core: imx: add mx6dapalis/mx6qapalis platform flavor
Add Toradex Apalis iMX6D and iMX6Q (1GB module variant) platform flavors.
CFG_DDR_SIZE needs to be manually set by the user (e.g. 0x80000000) if using the 2GB module variants.
Signed-off-by: Ricardo Salveti <ricardo@foundries.io> Reviewed-by: Rouven Czerwinski <r.czerwinski@pengutronix.de> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| f795b673 | 12-Aug-2019 |
Clement Faure <clement.faure@nxp.com> |
core: imx: add support for i.MX 8MN
Add support for i.MX 8MN. Add board flavor: * imx8mnevk
Signed-off-by: Clement Faure <clement.faure@nxp.com> Reviewed-by: Jerome Forissier <jerome.forissier@lin
core: imx: add support for i.MX 8MN
Add support for i.MX 8MN. Add board flavor: * imx8mnevk
Signed-off-by: Clement Faure <clement.faure@nxp.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Peng Fan <peng.fan@nxp.com>
show more ...
|
| bacb1a4b | 22-Nov-2018 |
Silvano di Ninno <silvano.dininno@nxp.com> |
core: imx: add support for i.MX 8QM
Add support for i.MX 8QM. Add board flavors: * imx8qmmek
Signed-off-by: Silvano di Ninno <silvano.dininno@nxp.com> Signed-off-by: Clement Faure <clement.faure@n
core: imx: add support for i.MX 8QM
Add support for i.MX 8QM. Add board flavors: * imx8qmmek
Signed-off-by: Silvano di Ninno <silvano.dininno@nxp.com> Signed-off-by: Clement Faure <clement.faure@nxp.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Peng Fan <peng.fan@nxp.com>
show more ...
|
| d3bf580a | 22-Nov-2018 |
Silvano di Ninno <silvano.dininno@nxp.com> |
core: imx: add support for i.MX 8QxP
Add support for i.MX 8QxP Add board flavors: * imx8qxpmek
Signed-off-by: Silvano di Ninno <silvano.dininno@nxp.com> Signed-off-by: Alessandro Di Chiara <alessa
core: imx: add support for i.MX 8QxP
Add support for i.MX 8QxP Add board flavors: * imx8qxpmek
Signed-off-by: Silvano di Ninno <silvano.dininno@nxp.com> Signed-off-by: Alessandro Di Chiara <alessandro.dichiara@nxp.com> Signed-off-by: Clement Faure <clement.faure@nxp.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Peng Fan <peng.fan@nxp.com>
show more ...
|
| ada502b8 | 12-Aug-2019 |
Clement Faure <clement.faure@nxp.com> |
core: imx: allow to boot without console
Allow imx SoCs to boot without console when CONSOLE_UART_BASE is not defined.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Reviewed-by: Jerome Foris
core: imx: allow to boot without console
Allow imx SoCs to boot without console when CONSOLE_UART_BASE is not defined.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Peng Fan <peng.fan@nxp.com>
show more ...
|
| 2f6dffbd | 02-Sep-2019 |
Jerome Forissier <jerome@forissier.org> |
build: do not use -Wp with the preprocessor and use -o instead of a redirection
This patch cleans up the command line where we use the C preprocessor to better reflect the documented usage in the GC
build: do not use -Wp with the preprocessor and use -o instead of a redirection
This patch cleans up the command line where we use the C preprocessor to better reflect the documented usage in the GCC man page, thus preparing for Clang support.
1. When invoking the C preprocessor, there is no need for -Wp to pass arguments, so remove it.
2. -MD is not supposed to take a file name when passed to cpp. The dependency output file name is overridden with -MF.
3. Lastly, it is better to use -o to specify the output file instead of redirecting standard output, because if an error occurs during preprocessing we don't want the output file to be created.
Signed-off-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b516aa97 | 29-Aug-2019 |
Rouven Czerwinski <r.czerwinski@pengutronix.de> |
core: add missing arch_extension to thread assembly
Compilation with newer gcc versions fails:
core/arch/arm/kernel/thread_optee_smc_a32.S: Assembler messages: core/arch/arm/kernel/thread_optee_smc
core: add missing arch_extension to thread assembly
Compilation with newer gcc versions fails:
core/arch/arm/kernel/thread_optee_smc_a32.S: Assembler messages: core/arch/arm/kernel/thread_optee_smc_a32.S:29: Error: selected processor does not support `smc #0' in ARM mode
add the required .arch_extension sec to the recently added assembly file.
Fixes: 2786f1438fc8 ("core: thread: separate old SMC interface handling") Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de> Reviewed-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| c462c674 | 02-Aug-2019 |
Cedric Neveux <cedric.neveux@nxp.com> |
core: arm64: add read_ctr_el0 function
Add the read_ctr_el0 function in the arm64.h file
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 6d22d98c | 05-Jul-2019 |
Cedric Neveux <cedric.neveux@nxp.com> |
core: kernel: move DT pack at the end of boot
This change moves the DT pack operation at the end of the generic boot, in release_external_dt(). This change allows any driver or initialization functi
core: kernel: move DT pack at the end of boot
This change moves the DT pack operation at the end of the generic boot, in release_external_dt(). This change allows any driver or initialization function to change the DT and get its content repacked before DT is accessed by another boot agent.
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| f9bfeacb | 18-Apr-2019 |
Cedric Neveux <cedric.neveux@nxp.com> |
plat-imx: Add CRM registers mapping
Add registers to handle CAAM clocks
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 330823b7 | 02-Jul-2019 |
Cedric Neveux <cedric.neveux@nxp.com> |
core: arm64 Add sev/wfe inline function
Add functions sev() and wfe() to implememt assembly instructions WFE/SEV.
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Reviewed-by: Jens Wiklander <j
core: arm64 Add sev/wfe inline function
Add functions sev() and wfe() to implememt assembly instructions WFE/SEV.
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| c9ab9073 | 27-Aug-2019 |
Ricardo Salveti <ricardo@foundries.io> |
core: link.mk: support reproducible builds via SOURCE_DATE_EPOCH
Allow using SOURCE_DATE_EPOCH when defining DATE_STR in order to support reproducible builds.
See https://reproducible-builds.org/sp
core: link.mk: support reproducible builds via SOURCE_DATE_EPOCH
Allow using SOURCE_DATE_EPOCH when defining DATE_STR in order to support reproducible builds.
See https://reproducible-builds.org/specs/source-date-epoch/
Signed-off-by: Ricardo Salveti <ricardo@foundries.io> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 10ed1717 | 18-Aug-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: remove some redundant RPC return registers
Removes SMC ID and thread ID from RPC returned registers. This saves a bit of stack space but also makes it more clear which registers are passed bac
core: remove some redundant RPC return registers
Removes SMC ID and thread ID from RPC returned registers. This saves a bit of stack space but also makes it more clear which registers are passed back and forth.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 4c07eaed | 19-Aug-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: thread_handle_std_smc() takes arguments by value
thread_handle_std_smc() takes its arguments by value instead of a structure containing all the registers. The returned values is reduced to a s
core: thread_handle_std_smc() takes arguments by value
thread_handle_std_smc() takes its arguments by value instead of a structure containing all the registers. The returned values is reduced to a single 32-bit value. This saves a bit of stack space but also makes it more clear which registers are passed back and forth.
Since 32-bit AAPCS (Procedure Call Standard for the ARM® Architecture) only passes arguments in r0-r3 the remaining r4-r7 still need to be passed via the stack, however the arguments are passed like normal value parameters for the C function.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 6e558fa9 | 18-Aug-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: __thread_std_smc_entry() takes arguments by value
__thread_std_smc_entry() and thread_std_smc_entry() takes their arguments by value instead of a structure containing all the registers. The ar
core: __thread_std_smc_entry() takes arguments by value
__thread_std_smc_entry() and thread_std_smc_entry() takes their arguments by value instead of a structure containing all the registers. The arguments are also reduced to only allow the four first 32-bit registers, r0-r3 or w0-w3. The returned values is reduced to a single 32-bit value. This saves a bit of stack space but also makes it more clear which registers are passed back and forth.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| e9f46c74 | 13-Aug-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: replace thread_nintr_handler_ptr with weak function
Removes registration of platform specific secure interrupt handler in thread_nintr_handler_ptr. Instead a __weak overridable itr_core_handle
core: replace thread_nintr_handler_ptr with weak function
Removes registration of platform specific secure interrupt handler in thread_nintr_handler_ptr. Instead a __weak overridable itr_core_handler() is provided. Platforms which expects to receive secure interrupts must override the default function. The default function calls panic() if called.
With this also nintr is removed from struct thread_handlers and consequently all platforms are updated to stop using that field.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 612791d0 | 13-Aug-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: replace thread_fast_smc_handler_ptr with weak function
Removes registration of platform specific fast SMC entry function in thread_fast_smc_handler_ptr. Instead a __weak overridable tee_entry_
core: replace thread_fast_smc_handler_ptr with weak function
Removes registration of platform specific fast SMC entry function in thread_fast_smc_handler_ptr. Instead a __weak overridable tee_entry_fast() is provided. Platforms that need a special tee_entry_fast() (currently on plat-zynq7k) provides their own tee_entry_fast() instead which at the end should call __tee_entry_fast() which does the generic fast call handling.
With this also fast_smc is removed from struct thread_handlers and consequently all platforms are updated to stop using that field.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2dd2ca5f | 13-Aug-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: replace thread_std_smc_handler_ptr with weak function
Removes registration of platform specific standard SMC entry function in thread_std_smc_handler_ptr. Instead a __weak overridable tee_entr
core: replace thread_std_smc_handler_ptr with weak function
Removes registration of platform specific standard SMC entry function in thread_std_smc_handler_ptr. Instead a __weak overridable tee_entry_std() is provided. Platforms that need a special tee_entry_std() (currently on some STM platform) provides their own tee_entry_std() instead which at the end should call __tee_entry_std() which does the generic standard call handling.
With this also std_smc is removed from struct thread_handlers and consequently all platforms are updated to stop using that field.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2786f143 | 08-Aug-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: thread: separate old SMC interface handling
Moves the old SMC interface handing parts for thread*.S into separate files to make way for SPCI which will provide another interface towards normal
core: thread: separate old SMC interface handling
Moves the old SMC interface handing parts for thread*.S into separate files to make way for SPCI which will provide another interface towards normal world.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 81d80da2 | 01-Aug-2019 |
Jeffrey Lin <linjunemail@gmail.com> |
core: LPAE finer grain remap support
Correct core_mmu_entry_to_finer_grained() when remapping an already mapped area. Prior this change were the page descriptors filled with corrupted data: physical
core: LPAE finer grain remap support
Correct core_mmu_entry_to_finer_grained() when remapping an already mapped area. Prior this change were the page descriptors filled with corrupted data: physical address was badly computed and the table/block mapping tag was wrong.
Fixes: 4c4ae2107715 ("mmu: replace _prepare_small_page_mapping with _entry_to_finer_grained") Signed-off-by: Jeffrey Lin <linjunemail@gmail.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| ebef121c | 01-Aug-2019 |
Jerome Forissier <jerome.forissier@linaro.org> |
core, ldelf: add support for runtime loading of shared libraries
This commit prepares the introduction of libdl, a dynamic linking library which will allow TAs to load shared libraries at run time,
core, ldelf: add support for runtime loading of shared libraries
This commit prepares the introduction of libdl, a dynamic linking library which will allow TAs to load shared libraries at run time, and resolve symbols on demand. It adds the following function to the system PTA, inspired from the POSIX dlopen() and dlsym():
- system_dlopen(): takes a UUID and flags. Performs an upcall into ldelf which then uses the usual system PTA functions to load an map the requested library into the address space of the calling TA. - system_dlsym(): takes a UUID and a symbol name. The symbol is looked up in the library specified by UUID by calling into ldelf. If UUID is all zeros, all the mapped binaries are searched.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|