| 5b1b8182 | 30-May-2018 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
core_mmu: add get_memory_map() function
When virtualization is enabled, there is separate memory map for every virtual guest.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by:
core_mmu: add get_memory_map() function
When virtualization is enabled, there is separate memory map for every virtual guest.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 5e0db9cd | 30-May-2018 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
thread: move threads initialization to one place
Virtualization subsystem will initialize threads every time new guest context is created, so it is good to have whole thread initialization in one fu
thread: move threads initialization to one place
Virtualization subsystem will initialize threads every time new guest context is created, so it is good to have whole thread initialization in one function.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 92054fec | 25-May-2018 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
core_mmu: introduce mmu partitions
For virtualization support we need to have multiple mmu partitions. One partition per virtual machine. Partition holds information about page tables, ASID, etc. Wh
core_mmu: introduce mmu partitions
For virtualization support we need to have multiple mmu partitions. One partition per virtual machine. Partition holds information about page tables, ASID, etc. When OP-TEE switches to another partition, it effectivelly changes how it sees memory. In this way it is possible to have multiple memory layouts with different shared buffers and TAs mapped, even with different .bss and .data sections.
If virtualization is disabled, then only one, default partition exists and it is impossible to allocate more.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 11901c7a | 25-May-2018 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
core_mmu: add MEM_AREA_SEC_RAM_OVERALL memory type
This memory type describes mapping that covers all secure memory as a flat mapping, so it is possible to access any portion of secure memory at any
core_mmu: add MEM_AREA_SEC_RAM_OVERALL memory type
This memory type describes mapping that covers all secure memory as a flat mapping, so it is possible to access any portion of secure memory at any time.
It will be used with virtualization extensions.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| a386ba2e | 07-Feb-2018 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
tee_mm: add TEE_MM_POOL_NEX_MALLOC flag
This flag tells tee_mm to use nex_malloc pool instead of default malloc
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jens Wiklander
tee_mm: add TEE_MM_POOL_NEX_MALLOC flag
This flag tells tee_mm to use nex_malloc pool instead of default malloc
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 4a810b90 | 17-Dec-2018 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
console: use nex_strdup() instead of strdup()
strdup() uses malloc() internally, which is not good for nexus part of OP-TEE.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: J
console: use nex_strdup() instead of strdup()
strdup() uses malloc() internally, which is not good for nexus part of OP-TEE.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| cebd81a8 | 17-Dec-2018 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
pl011.c: use nex_malloc allocator
pl011 driver is a core code, so it should use nexus memory allocator.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jens Wiklander <jens.w
pl011.c: use nex_malloc allocator
pl011 driver is a core code, so it should use nexus memory allocator.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c211d0a4 | 06-Feb-2018 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
virt: tag variables with __nex_data and __nex_bss
Variables that are needed by OP-TEE nexus will be moved to nexus memory.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Acked-by: Jens W
virt: tag variables with __nex_data and __nex_bss
Variables that are needed by OP-TEE nexus will be moved to nexus memory.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 15216d4d | 06-Feb-2018 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
virt: add nexus memory area
This patch is the first in series of patches that split OP-TEE RW memory into two regions: nexus memory and TEE memory. Nexus memory will be always mapped and it will be
virt: add nexus memory area
This patch is the first in series of patches that split OP-TEE RW memory into two regions: nexus memory and TEE memory. Nexus memory will be always mapped and it will be used to store all data that is vital for OP-TEE core and is not bound to virtual guests.
TEE memory is a memory that holds data specific for certain guest. There will be TEE memory bank for every guest and it will be mapped into OP-TEE address space only during call from that guest.
This patch adds nexus memory and moves stacks into it. Also it provides __nex_bss and __nex_data macros, so one can easily set right section for a variable.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| acd819ef | 05-Feb-2018 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
pta_stats: add support for nex_malloc stats
Add statistic for OP-TEE nexus memory allocator.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@li
pta_stats: add support for nex_malloc stats
Add statistic for OP-TEE nexus memory allocator.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b9b5b3a4 | 05-Feb-2018 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
core_self_tests.c: add tests for nex_malloc
Now, when we have separate allocator for nexus part of OP-TEE, it is good to add tests for it.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com>
core_self_tests.c: add tests for nex_malloc
Now, when we have separate allocator for nexus part of OP-TEE, it is good to add tests for it.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 386fc264 | 05-Feb-2018 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
bget_malloc: add nex_malloc pool
If virtualization enabled, this pool will be used to allocate memory for OP-TEE nexus needs. Without virtualization, generic malloc pool will be used.
Signed-off-by
bget_malloc: add nex_malloc pool
If virtualization enabled, this pool will be used to allocate memory for OP-TEE nexus needs. Without virtualization, generic malloc pool will be used.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b0b3a51c | 25-Jan-2019 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
plat-rcar: Use generic memory layout
plat-rcar have quite standard memory layout, so there is no sense to maintain separate configuration if it possible to use generic one.
Signed-off-by: Volodymyr
plat-rcar: Use generic memory layout
plat-rcar have quite standard memory layout, so there is no sense to maintain separate configuration if it possible to use generic one.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b55335fa | 31-Jan-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pta_stats: add memleak function
Adds a memleak function to the status PTA which calls mdbg_check(1) to dump all allocations.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed
core: pta_stats: add memleak function
Adds a memleak function to the status PTA which calls mdbg_check(1) to dump all allocations.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 6d8fa932 | 30-Jan-2019 |
Oliver Chiang <rockerfeynman@gmail.com> |
ltc: fix the CBC_MAC error
When there is some data already pending in the cbc->block and the input data size is not large enough to do cbc_encrypt(), the pending data is going to be overwritten. For
ltc: fix the CBC_MAC error
When there is some data already pending in the cbc->block and the input data size is not large enough to do cbc_encrypt(), the pending data is going to be overwritten. For example, a serial input with size like 3,3... uncovers this bug.
Signed-off-by: Oliver Chiang <rockerfeynman@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (QEMU)
show more ...
|
| 1656edf3 | 30-Jan-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: fix get_elf_segments() segs initialization
get_elf_segments() doesn't initialize the returned segs array properly, some fields are left uninitialized. Fix this by doing a compound assignment w
core: fix get_elf_segments() segs initialization
get_elf_segments() doesn't initialize the returned segs array properly, some fields are left uninitialized. Fix this by doing a compound assignment when initializing new elements in the array.
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 42cf03c3 | 24-Jan-2019 |
Oliver Chiang <rockerfeynman@gmail.com> |
core: check the value of tee_otp_get_die_id()
Just like the get_prop_tee_dev_id() in tee_svc.c, it returns TEE_ERROR_BAD_STATE, when tee_otp_get_die_id() reports someting bad. Put the same check in
core: check the value of tee_otp_get_die_id()
Just like the get_prop_tee_dev_id() in tee_svc.c, it returns TEE_ERROR_BAD_STATE, when tee_otp_get_die_id() reports someting bad. Put the same check in tee_fs_init_key_manager() as well.
Fixes: https://github.com/OP-TEE/optee_os/issues/2762 Signed-off-by: Oliver Chiang <rockerfeynman@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> [jf: use URL in Fixes: tag] Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 1e0efa5b | 30-Jan-2019 |
Sahil Malhotra <sahil.malhotra@nxp.com> |
core: ta_open(): free allocated memory on error
In error condition on checking "ta_size", was returning error from function without cleaning allocated memory.
Signed-off-by: Sahil Malhotra <sahil.m
core: ta_open(): free allocated memory on error
In error condition on checking "ta_size", was returning error from function without cleaning allocated memory.
Signed-off-by: Sahil Malhotra <sahil.malhotra@nxp.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Fixes: https://github.com/OP-TEE/optee_os/pull/2776 [jf: minor edits to commit message] Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 9171d16c | 30-Jan-2019 |
Jerome Forissier <jerome.forissier@linaro.org> |
scripts: re-indent Python scripts
Fixes the following warnings:
$ pycodestyle --version 2.5.0
$ pycodestyle scripts/*.py scripts/bin_to_c.py:15:9: E117 over-indented scripts/bin_to_c.py:34:9:
scripts: re-indent Python scripts
Fixes the following warnings:
$ pycodestyle --version 2.5.0
$ pycodestyle scripts/*.py scripts/bin_to_c.py:15:9: E117 over-indented scripts/bin_to_c.py:34:9: E117 over-indented scripts/bin_to_c.py:37:17: E117 over-indented scripts/bin_to_c.py:49:17: E117 over-indented scripts/bin_to_c.py:50:25: E117 over-indented scripts/bin_to_c.py:54:25: E117 over-indented scripts/bin_to_c.py:56:25: E117 over-indented scripts/bin_to_c.py:62:9: E117 over-indented
$ cd core/arch/arm/plat-stm32mp1/scripts; \ pycodestyle stm32image.py stm32image.py:21:9: E117 over-indented stm32image.py:27:9: E117 over-indented stm32image.py:29:17: E117 over-indented stm32image.py:39:9: E117 over-indented stm32image.py:77:9: E117 over-indented stm32image.py:84:17: E117 over-indented stm32image.py:96:9: E117 over-indented stm32image.py:100:9: E117 over-indented stm32image.py:125:9: E117 over-indented stm32image.py:140:9: E117 over-indented
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 1a4fa97d | 25-Jan-2019 |
Sandeep Tripathy <sandeep.tripathy@broadcom.com> |
plat-bcm: Add Broadcom ARMv8-A SoC ns3
Add base platform support for Broadcom ns3 SoC. Broadcom ns3 is ARMv8-A based SoS with Cortex-A72 cores and GICv3. It is configured to run with TF-A.
Signed-o
plat-bcm: Add Broadcom ARMv8-A SoC ns3
Add base platform support for Broadcom ns3 SoC. Broadcom ns3 is ARMv8-A based SoS with Cortex-A72 cores and GICv3. It is configured to run with TF-A.
Signed-off-by: Sandeep Tripathy <sandeep.tripathy@broadcom.com> Reviewed-by: Raveendra Padasalagi <raveendra.padasalagi@broadcom.com> Reviewed-by: Scott Branden <scott.branden@broadcom.com> Reviewed-by: Pramod Kumar <pramod.kumar@broadcom.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 86b8b340 | 23-Jan-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm32: fix gicv3 fiq race
Fixes a race where FIQ isn't masked in the abort handler which results lost register content and invalid processing of the abort when resumed.
Fixes: 18901324e00a ("
core: arm32: fix gicv3 fiq race
Fixes a race where FIQ isn't masked in the abort handler which results lost register content and invalid processing of the abort when resumed.
Fixes: 18901324e00a ("Support ARM GICv3 mode") Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 41b29406 | 16-Jan-2019 |
Oliver Chiang <rockerfeynman@gmail.com> |
core: syscall_storage_obj_create(): fix a memory leak
Free the o->attr in the error handling part.
Fixes: https://github.com/OP-TEE/optee_os/issues/2738 Signed-off-by: Oliver Chiang <rockerfeynman@
core: syscall_storage_obj_create(): fix a memory leak
Free the o->attr in the error handling part.
Fixes: https://github.com/OP-TEE/optee_os/issues/2738 Signed-off-by: Oliver Chiang <rockerfeynman@gmail.com> [jf: do not set o->attr = 0; move tee_obj_free(o) under if (o) { ... }] [jf: add spaces to subject; use URL in Fixes: tag] Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (QEMU)
show more ...
|
| 41985789 | 21-Jan-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
plat-vexpress: disable uart IT with TF-A and GICv3
Disables uart interrupts if compiled for TF-A and GICv3 since TF-A doesn't know which interrupts OP-TEE will handle.
Acked-by: Jerome Forissier <j
plat-vexpress: disable uart IT with TF-A and GICv3
Disables uart interrupts if compiled for TF-A and GICv3 since TF-A doesn't know which interrupts OP-TEE will handle.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 84e9c40b | 20-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: svc_cryp: fix truncated buffer length
Fixes truncated buffer length in multiple crypto syscalls. The buffer length is truncated on 32-bit systems because a size_t can't hold a uint64_t which i
core: svc_cryp: fix truncated buffer length
Fixes truncated buffer length in multiple crypto syscalls. The buffer length is truncated on 32-bit systems because a size_t can't hold a uint64_t which is use to carry the buffer length.
Fixes: "Truncated buffer length in crypto system calls (x4)" as reported by Riscure.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Joakim Bech <joakim.bech@linaro.org> (QEMU v7, v8) Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reported-by: Riscure <inforequest@riscure.com> Reported-by: Alyssa Milburn <a.a.milburn@vu.nl> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| d5c5b0b7 | 20-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: svc: always check ta parameters
Always check TA parameters from a user TA. This prevents a user TA from passing invalid pointers to a pseudo TA.
Fixes: OP-TEE-2018-0007: "Buffer checks missin
core: svc: always check ta parameters
Always check TA parameters from a user TA. This prevents a user TA from passing invalid pointers to a pseudo TA.
Fixes: OP-TEE-2018-0007: "Buffer checks missing when calling pseudo TAs".
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Joakim Bech <joakim.bech@linaro.org> (QEMU v7, v8) Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reported-by: Riscure <inforequest@riscure.com> Reported-by: Alyssa Milburn <a.a.milburn@vu.nl> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|