| a78ef925 | 30-Nov-2018 |
Etienne Carriere <etienne.carriere@st.com> |
stm32mp1: add a platform banner
Platform banner stating platform flavor and embedded DTB if any.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com> Acked-by: Jerome Forissier <jerome.forissi
stm32mp1: add a platform banner
Platform banner stating platform flavor and embedded DTB if any.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 12941fdc | 30-Nov-2018 |
Etienne Carriere <etienne.carriere@st.com> |
stm32mp1: device tree platform description
This change introduces the device tree source files describing boards EV1 and ED1 and the related bindings.
The stm32mp1 DTS files and bindings header fil
stm32mp1: device tree platform description
This change introduces the device tree source files describing boards EV1 and ED1 and the related bindings.
The stm32mp1 DTS files and bindings header files are dumped from latest Linux kernel (v4.19). Bindings documentation is not stored in OP-TEE OS source tree, one shall refer to the bindings documentation from latest Linux kernel source tree.
Note that license terms where changed for binding header file gpio.h to release them under dual 2-Clause DSB/GPLv2.0 instead of GPLv2.0 as release in the Linux kernel.
Platform relies on DT source file (CFG_EMBED_DTB_SOURCE_FILE) to distinguish between the platform flavors for the few configuration directive that are static and cannot be provided only through FDT.
Default configuration locates the secure DDR area (TZDRAM) from the base address of the last 32MBytes of the DDR over 30Mbyte. The last 2MBytes of the DDR are the OP-TEE static shared memory.
Many contributors not listed below.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| ee90f22c | 30-Nov-2018 |
Etienne Carriere <etienne.carriere@linaro.org> |
checkpatch: do not check DTS files
DTS files may not conform to OP-TEE OS C-source coding style. This change makes checkpatch script not the check DTS files.
Signed-off-by: Etienne Carriere <etienn
checkpatch: do not check DTS files
DTS files may not conform to OP-TEE OS C-source coding style. This change makes checkpatch script not the check DTS files.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| e7d51f42 | 12-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
mempool: add mempool_calloc()
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 7294172c | 28-Nov-2018 |
Etienne Carriere <etienne.carriere@st.com> |
stm32mp1: release constraint on core count
Minor cleaning and allow CFG_TEE_CORE_NB_CORE to be set to 1.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com> Acked-by: Jens Wiklander <jens.wik
stm32mp1: release constraint on core count
Minor cleaning and allow CFG_TEE_CORE_NB_CORE to be set to 1.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 630d13fb | 29-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: serial8250_uart_dev_init(): use calloc()
Allocate pl011_data with calloc() instead of malloc() get initialized memory.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Fixes: d2769
core: serial8250_uart_dev_init(): use calloc()
Allocate pl011_data with calloc() instead of malloc() get initialized memory.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Fixes: d276907c8c4f ("core: drivers: serial8250_uart: Add DT support") Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 052bffff | 29-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pl011_dev_alloc(): use calloc()
Allocate pl011_data with calloc() instead of malloc() get initialized memory.
Without this could pd->base.va contain garbage when pl011_init() is called.
Revi
core: pl011_dev_alloc(): use calloc()
Allocate pl011_data with calloc() instead of malloc() get initialized memory.
Without this could pd->base.va contain garbage when pl011_init() is called.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Fixes: ddf45954360c ("pl011: dt: Add DT support") Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 241593c5 | 26-Nov-2018 |
Bryan O'Donoghue <bryan.odonoghue@linaro.org> |
documentation: Add some text to describe DTB overlays to optee_design
This patch adds some documentary text to optee_design.md describing how OPTEE DTB overlay works.
Signed-off-by: Bryan O'Donoghu
documentation: Add some text to describe DTB overlays to optee_design
This patch adds some documentary text to optee_design.md describing how OPTEE DTB overlay works.
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| f41e7926 | 20-Nov-2018 |
Bryan O'Donoghue <bryan.odonoghue@linaro.org> |
core: generic_boot: Add init_dt_overlay()
This patch adds init_dt_overlay() into to the DT boot flow.
init_dt_overlay() operates in one of two ways.
1. By appending to a DT overlay passed from a p
core: generic_boot: Add init_dt_overlay()
This patch adds init_dt_overlay() into to the DT boot flow.
init_dt_overlay() operates in one of two ways.
1. By appending to a DT overlay passed from a prior boot stage such as ATF. In this case OPTEE DT nodes will be appended to the existing DT overlay.
2. By creating an OPTEE specific DT overlay at CFG_DT_ADDR.
A subsequent boot phase must then pick up the DT overlay in-memory and merge that overlay into a main DTB structure.
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 2c803670 | 19-Nov-2018 |
Bryan O'Donoghue <bryan.odonoghue@linaro.org> |
core: generic_boot: Add device-tree fragments
This patch adds a call into add_dt_overlay_fragment() at add_dt_path_subnode() affecting at the time of writing
- /firmware/optee - /psci - /memory/res
core: generic_boot: Add device-tree fragments
This patch adds a call into add_dt_overlay_fragment() at add_dt_path_subnode() affecting at the time of writing
- /firmware/optee - /psci - /memory/reserved
if CFG_EXTERNAL_DTB_OVERLAY is defined then the set of OPTEE DTB entries is treated as a set of DT overlay fragments to be populated into the specified address at CFG_DTB_ADDR.
This allows ATF or u-boot to pass a blank DTB instead of a populated DTB into OPTEE and for OPTEE then to return back a DTB with overlay fragments.
A subsequent boot stage can then merge the OPTEE provided overlay into the main DTB.
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0a3ad9b6 | 19-Nov-2018 |
Bryan O'Donoghue <bryan.odonoghue@linaro.org> |
core: generic_boot: Add add_dt_overlay_fragment()
This patch adds a dt routine add_dt_overlay_fragment(). This purpose of which is to encapsulate the dynamic FDT node entries OPTEE provides inside o
core: generic_boot: Add add_dt_overlay_fragment()
This patch adds a dt routine add_dt_overlay_fragment(). This purpose of which is to encapsulate the dynamic FDT node entries OPTEE provides inside of a
fragment@0 { target-path = "/"; __overlay__ { /* OPTEE nodes go here */ }; };
A subsequent set of patches will wrapper up existing dynamic OPTEE nodes
- /firmware/optee - /psci - /reserved/memory optee@0xaddress
Once done it will be possible for a DTB in memory to be populated with OPTEE fragments and for a subsequent bootloader to merge the OPTEE populated overlay into a DTB loaded by a later stage.
if CFG_EXTERNAL_DTB_OVERLAY is not defined then this code has no effect.
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| fe24f1a1 | 22-Nov-2018 |
Bryan O'Donoghue <bryan.odonoghue@linaro.org> |
core: generic_boot: Utilize add_dt_path_subnode where appropriate
This patch replaces some repetitive code of the form
offs = fdt_path_offset(fdt, "path"); if (offs < 0) return -1; offs = fdt_add_
core: generic_boot: Utilize add_dt_path_subnode where appropriate
This patch replaces some repetitive code of the form
offs = fdt_path_offset(fdt, "path"); if (offs < 0) return -1; offs = fdt_add_subnode(fdt, offs, "subnode");
with
offs = add_dt_path_subnode(fdt, "path", "subnode");
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| d89697a0 | 22-Nov-2018 |
Bryan O'Donoghue <bryan.odonoghue@linaro.org> |
core: generic_boot: Add helper add_dt_path_subnode()
A common pattern in the DT code is
offs = fdt_path_offset(fdt, "/"); if (offs < 0) return -1; offs = fdt_add_subnode(fdt, offs, "newnode"); if
core: generic_boot: Add helper add_dt_path_subnode()
A common pattern in the DT code is
offs = fdt_path_offset(fdt, "/"); if (offs < 0) return -1; offs = fdt_add_subnode(fdt, offs, "newnode"); if (offs < 0) return -1;
as was pointed out by Jerome in a related PR to-do with adding overlays this is a candidate for functional decomposition.
This patch adds the necessary helper function.
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Suggested-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 412dcda1 | 29-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
TA: export CFG_TEE_TA_LOG_LEVEL to dev-kit
Exports CFG_TEE_TA_LOG_LEVEL to TA dev-kit. It can still be overridden when compiling the TA, but it makes sense to default to the value used when compilin
TA: export CFG_TEE_TA_LOG_LEVEL to dev-kit
Exports CFG_TEE_TA_LOG_LEVEL to TA dev-kit. It can still be overridden when compiling the TA, but it makes sense to default to the value used when compiling the dev-kit.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| de36bcad | 23-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: base TA store on scatter array
The TA store interface is now implemented using scatter array.
The priorities of the different TA store are also changed to use 2, 4 and 9 instead or 5, 9, 10 a
core: base TA store on scatter array
The TA store interface is now implemented using scatter array.
The priorities of the different TA store are also changed to use 2, 4 and 9 instead or 5, 9, 10 as they are now sorted alphabetically. The new allocation makes it easier to stick something between "Secure Storage TA" and the "REE" stores. It's doubtful that anyone would ever want to make something higher priority than the "early TA" store, but just in case a few numbers are reserved.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey960) Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| f9da4034 | 22-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: base memory registration on scatter array
The register_*() macros are now implemented using scatter array.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissi
core: base memory registration on scatter array
The register_*() macros are now implemented using scatter array.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2f0cd8af | 22-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: base pseudo_ta_register() on scatter array
The pseudo_ta_register() implementation is now based on scatter array.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome
core: base pseudo_ta_register() on scatter array
The pseudo_ta_register() implementation is now based on scatter array.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 9e592338 | 22-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: initcall.h use scattered array
Initcalls uses generic scattered array instead of special implementation.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier
core: initcall.h use scattered array
Initcalls uses generic scattered array instead of special implementation.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 5e4210e9 | 22-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add scattered array
Adds a scattered array which allows defining arrays scattered over several source files. The implementation is based on some support by the linker.
This is a generic solut
core: add scattered array
Adds a scattered array which allows defining arrays scattered over several source files. The implementation is based on some support by the linker.
This is a generic solution to initcalls and other similar scattered initializations.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 8d527cd6 | 22-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: keep.h: avoid duplicate symbols
Prior to this patch if the KEEP_*() macros are used with two static variables with the same name but in different source files it will result in a duplicated gl
core: keep.h: avoid duplicate symbols
Prior to this patch if the KEEP_*() macros are used with two static variables with the same name but in different source files it will result in a duplicated global symbol. This happens because the internal trickery uses global variables based on the static symbol it's supposed to keep. With this patch the global variables uses the file unique define __FILE_ID__ to avoid the conflict.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| d3353b42 | 22-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
mk/compile.mk: define __FILE_ID__ for all files
Defines __FILE_ID__ with a unique name of the file being compiled. Useful to create globally unique variables.
Acked-by: Etienne Carriere <etienne.ca
mk/compile.mk: define __FILE_ID__ for all files
Defines __FILE_ID__ with a unique name of the file being compiled. Useful to create globally unique variables.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 57cf66e1 | 23-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: asan: support GCC version >= 7.0
With GCC 7.0 there was an ABI change for the address sanitizer. This patch extends struct asan_global with the new odr_indicator field to work with this new AB
core: asan: support GCC version >= 7.0
With GCC 7.0 there was an ABI change for the address sanitizer. This patch extends struct asan_global with the new odr_indicator field to work with this new ABI.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| cac9f265 | 23-Nov-2018 |
Etienne Carriere <etienne.carriere@linaro.org> |
documentation: description of core/include/
Add missing description of the file-tree content of directory core/include.
Sub-directory core/include/dt-bindings is mentioned even if currently empty a
documentation: description of core/include/
Add missing description of the file-tree content of directory core/include.
Sub-directory core/include/dt-bindings is mentioned even if currently empty as it is where the device tree bindings header files should be located.
Remove deprecated core/arch/user_mode description.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c95b9511 | 23-Nov-2018 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: embedded secure device tree
This change introduces configurations CFG_EMDED_DTB and CFG_EMBED_DTB_SOURCE_FILE. When CFG_EMDED_DTB=y a device tree blob (DTB) is embedded in a read-only section
core: embedded secure device tree
This change introduces configurations CFG_EMDED_DTB and CFG_EMBED_DTB_SOURCE_FILE. When CFG_EMDED_DTB=y a device tree blob (DTB) is embedded in a read-only section of the core based on an in-tree device tree source (DTS) file.
CFG_EMBED_DTS_SOURCE_FILE defines the relative path of the target device in core/arch/$(ARCH)/dts.
Non empty CFG_EMBED_DTS_SOURCE_FILE content implies CFG_EMBED_DTB=y. CFG_EMBED_DTB=y mandates CFG_EMBED_DTS_SOURCE_FILE definition. CFG_EMDED_DTB=y mandates CFG_DT=y.
Since the embedded DTB is read-only, core do not attempt to modify it adding information such as OP-TEE resources nodes and properties. Core still get generic information such as system memory address range and debug console configuration from the embedded DTB.
Documentation includes a DT section in the OP-TEE design description.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| f0d19bd5 | 23-Nov-2018 |
Etienne Carriere <etienne.carriere@linaro.org> |
scripts: bin_to_c.py
bin_to_c.py generates an ANSI-C source file from a binary image file. The C source defines an unsigned byte array that stores the binary data with a 64bit alignment constraint.
scripts: bin_to_c.py
bin_to_c.py generates an ANSI-C source file from a binary image file. The C source defines an unsigned byte array that stores the binary data with a 64bit alignment constraint.
The label of the array is provided as input argument to the script.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome.Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|