History log of /optee_os/core/ (Results 1301 – 1325 of 6456)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
86dbb17927-Nov-2023 Raymond Mao <raymond.mao@linaro.org>

core: remove unused bytes from transfer list

Only marks the minimum bytes required by alignment as 'TL_TAG_EMPTY'
and release the rest of unused bytes from transfer list when downsizing
the data of

core: remove unused bytes from transfer list

Only marks the minimum bytes required by alignment as 'TL_TAG_EMPTY'
and release the rest of unused bytes from transfer list when downsizing
the data of a transfer entry.
Function transfer_list_set_data_size() will remove the unused bytes
from the transfer list so that the freed space is allocable when adding
new transfer entries.

Signed-off-by: Raymond Mao <raymond.mao@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

a5e75b7e17-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

pta: stats: add commands to print clock and regulator trees

Add statistics PTA commands STATS_CMD_PRINT_DRIVERS_INFO to print
device drivers information on console. The implementation currently
allo

pta: stats: add commands to print clock and regulator trees

Add statistics PTA commands STATS_CMD_PRINT_DRIVERS_INFO to print
device drivers information on console. The implementation currently
allows to print the clock tree and the regulator tree to core console.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

d3f6526e01-Dec-2023 Jens Wiklander <jens.wiklander@linaro.org>

core: gic: allow GIC version 1

Before this patch with CFG_ARM_GICV3=n the GIC driver asserted that the
detected GIC version is 2. This is stricter than necessary and breaks
some older platforms so a

core: gic: allow GIC version 1

Before this patch with CFG_ARM_GICV3=n the GIC driver asserted that the
detected GIC version is 2. This is stricter than necessary and breaks
some older platforms so allow version 1 also.

Fixes: 69171bec89ce ("core: gic: check gic version")
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
Tested-by: Andrew Davis <afd@ti.com>

show more ...

7c4883ae30-Nov-2023 Jens Wiklander <jens.wiklander@linaro.org>

core: gic: make GICR base optional

The physical address of the redistributor was, before this patch, always
used, regardless of whether affinity routing is enabled or otherwise not
needed.

Using th

core: gic: make GICR base optional

The physical address of the redistributor was, before this patch, always
used, regardless of whether affinity routing is enabled or otherwise not
needed.

Using the redistributor is optional if gic_init_donate_sgi_to_ns() isn't
called. So allow the GICR base address to be passed as zero if
gic_init_donate_sgi_to_ns() isn't called. However,
gic_init_donate_sgi_to_ns() will panic if called without a previously
configured GICR base address.

Fixes: 05089e5f9a56 ("core: gic: use redistributor CPU interface")
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

b59e43fe01-Dec-2023 Jens Wiklander <jens.wiklander@linaro.org>

core: ffa: fix FFA_NOTIFICATION_GET vm_id

handle_notification_get() has until now read the receiver endpoint ID
from the upper 16 bits of w1, but the receiver endpoint ID is passed in
the lower 16 b

core: ffa: fix FFA_NOTIFICATION_GET vm_id

handle_notification_get() has until now read the receiver endpoint ID
from the upper 16 bits of w1, but the receiver endpoint ID is passed in
the lower 16 bits of w1 passed to FFA_NOTIFICATION_GET. So fix the
function to read the lower 16 bits instead.

Fixes: 2e02a7374b86 ("core: ffa: add notifications with SPMC at S-EL1")
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

ace929f023-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

drivers: regulator: fix variable sized voltages fallback

Fix build issue reported by Clang on variable size field desc
not being located at the end of struct voltages_fallback. The
error was reporte

drivers: regulator: fix variable sized voltages fallback

Fix build issue reported by Clang on variable size field desc
not being located at the end of struct voltages_fallback. The
error was reported with a trace message like below:

core/include/drivers/regulator.h:118:4: warning: field 'voltages_fallback' with variable sized type 'struct voltages_fallback' not at the end of a struct or class is a GNU extension [-Wgnu-variable-sized-type-not-at-end]
} voltages_fallback;
^
core/drivers/regulator/regulator_fixed.c:27:19: warning: field 'regulator' with variable sized type 'struct regulator' not at the end of a struct or class is a GNU extension [-Wgnu-variable-sized-type-not-at-end]
struct regulator regulator;
^
2 warnings generated.

To achieve this the variable size field entries is removed from
struct regulator_voltages that is renamed struct regulator_voltages_desc.
API function regulator_supported_voltages() and regulator drivers handler
function ::supported_voltages are updated the get 2 input arguments the
second being the levels arrays which size is defined by the description
argument.

Impacted sources files are updated accordingly.

Fixes: 43c155ba111d ("drivers: regulator: list supported levels")
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

4a6683cf08-Oct-2023 Tony Han <tony.han@microchip.com>

plat-sam: fix warnings found during checkpatch

Remove 'extern' from function prototypes in .h files.
Align the parameters in functions.

Signed-off-by: Tony Han <tony.han@microchip.com>
Reviewed-by:

plat-sam: fix warnings found during checkpatch

Remove 'extern' from function prototypes in .h files.
Align the parameters in functions.

Signed-off-by: Tony Han <tony.han@microchip.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

8122e61d04-Dec-2023 Zexi Yu <yuzexi@hisilicon.com>

drivers: crypto: hisilicon: fix QM cache start and done define

Address offset of qm_cache_wb_start and qm_cache_wb_done
is wrong.

Fixes: c7f9abcee87f ("drivers: implement HiSilicon Queue Management

drivers: crypto: hisilicon: fix QM cache start and done define

Address offset of qm_cache_wb_start and qm_cache_wb_done
is wrong.

Fixes: c7f9abcee87f ("drivers: implement HiSilicon Queue Management (QM) module")
Signed-off-by: Zexi Yu <yuzexi@hisilicon.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
[Edit commit subject]
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

01ef3c7901-Dec-2023 Jens Wiklander <jens.wiklander@linaro.org>

core: panic(): avoid panic in panic

When configured with CFG_HALT_CORES_ON_PANIC=y panic() sends a secure
SGI to all other CPUs to trap all of them, but if interrupts haven't
been configured yet it

core: panic(): avoid panic in panic

When configured with CFG_HALT_CORES_ON_PANIC=y panic() sends a secure
SGI to all other CPUs to trap all of them, but if interrupts haven't
been configured yet it triggers a cascade of panics. So add a check to
see if interrupts are configured before trying to trap the other CPUs.

Fixes: 2b719df0fc1c ("core: interrupt: halt other cores when one is panicking")
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>

show more ...

245a552c01-Dec-2023 Jens Wiklander <jens.wiklander@linaro.org>

core: add interrupt_get_main_chip_may_fail()

Add interrupt_get_main_chip_may_fail() to be able to check if it's
possible to use interrupts without causing a panic.

Signed-off-by: Jens Wiklander <je

core: add interrupt_get_main_chip_may_fail()

Add interrupt_get_main_chip_may_fail() to be able to check if it's
possible to use interrupts without causing a panic.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>

show more ...

c038f3da29-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

core: dt_driver: do not defer probe on skip phandler arguments

Prevent dt_driver_device_from_node_idx_prop() to request driver probe
deferral when needing to skip phandle arguments cells related to

core: dt_driver: do not defer probe on skip phandler arguments

Prevent dt_driver_device_from_node_idx_prop() to request driver probe
deferral when needing to skip phandle arguments cells related to
providers not yet registered. When skipping these phandle argument cells
we don't really need the skipped provider is registered, we can read
the #xxx-cells property in the provider DT node straight.

For example, consider a driver which DT node defines:
clocks = <&foo_clock 1 2 3>, <&bar_clock 2>;
clock-names = "foo", "bar";
If driver calls clk_get_by_name(fdt, node, "bar"), it does not need to
wait &foo_clock related driver to be already probed, it does not even
need the driver to be ever probed.

Fixes: a22e85b25772 ("core: dt_driver: factorize clk_dt_get_from_provider()")
Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

37a87df823-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

pta: stats: rename statistics PTA

Rename statistics PTA to "stats.pta" for consistency.

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.o

pta: stats: rename statistics PTA

Rename statistics PTA to "stats.pta" for consistency.

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

a05577ea23-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

tree wide: clarify PTA ABI

Explicitly describe the statistics PTA ABI using dedicated inline
comments and moving struct pta_stats_ta and struct pta_stats_alloc
from respectively tee_ta_manager.c and

tree wide: clarify PTA ABI

Explicitly describe the statistics PTA ABI using dedicated inline
comments and moving struct pta_stats_ta and struct pta_stats_alloc
from respectively tee_ta_manager.c and malloc.h to pta_stats.h
header file.

For that purpose, define ALLOC_ID_* macros to identify each allocator
one can query information from through the statistics PTA API.

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

761fc6ec22-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

pta: stats: export PTA API definition to TA devkit

Move statistics PTA API definitions and description to a header
file that is exported to the TA devkit. This change makes the
description that PTA

pta: stats: export PTA API definition to TA devkit

Move statistics PTA API definitions and description to a header
file that is exported to the TA devkit. This change makes the
description that PTA API more consistent regarding other PTAs.

Explicitly include tee_api_types.h from stats.c source file.

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

12f658b923-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

pta: stats: initialize local variables where defined

Initialize local variables where defined in the statistics PTA.

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Jerome Forissi

pta: stats: initialize local variables where defined

Initialize local variables where defined in the statistics PTA.

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

5411580923-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

core: rename struct tee_ta_dump_stats

Rename struct tee_ta_dump_stats to struct pta_stats_ta to prepare
the creation of pta_stats.h header file that will define the
whole statistics PTA API and ABI,

core: rename struct tee_ta_dump_stats

Rename struct tee_ta_dump_stats to struct pta_stats_ta to prepare
the creation of pta_stats.h header file that will define the
whole statistics PTA API and ABI, located in libutee/include/
as already done for all other PTAs.

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

2617f49f22-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

tree wide: rename struct malloc_stats

Rename struct malloc_stats to struct pta_stats_alloc to prepare
the creation of pta_stats.h header file that will define the
whole statistics PTA API and ABI, l

tree wide: rename struct malloc_stats

Rename struct malloc_stats to struct pta_stats_alloc to prepare
the creation of pta_stats.h header file that will define the
whole statistics PTA API and ABI, located in libutee/include/
as already done for all other PTAs.

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

83f153ae30-Nov-2023 Chia-Wei Wang <chiawei_wang@aspeedtech.com>

plat-aspeed: ast2700: use gic_init_v3()

Use gic_init_v3() with the GICR base address.

Signed-off-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

7954812c30-Nov-2023 Chia-Wei Wang <chiawei_wang@aspeedtech.com>

core: arm: fix NS entry for secondary cores

The NS entry was originally stashed from LR to R5.
The commit f332e77c4b7c ("core: arm: refactor boot argument handling")
revised the LR preservation to R

core: arm: fix NS entry for secondary cores

The NS entry was originally stashed from LR to R5.
The commit f332e77c4b7c ("core: arm: refactor boot argument handling")
revised the LR preservation to R8. Therefore, the way to retrieve the
NS entry for secondary cores should be updated as well.

Fixes: f332e77c4b7c ("core: arm: refactor boot argument handling")
Signed-off-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

0f50ba5a28-Nov-2023 Jens Wiklander <jens.wiklander@linaro.org>

core: fix objectUsage handling for persistent objects

Before this patch was the object usage field stored in the
non-persistent part of an object handle, regardless of whether the
storage object was

core: fix objectUsage handling for persistent objects

Before this patch was the object usage field stored in the
non-persistent part of an object handle, regardless of whether the
storage object was persistent. This prevents updates to this field from
being restored the next time the persistent object is opened. Updates to
the field are also not replicated to eventual other open handles for the
object. Fix this by storing the "usage" bits in a new obj_info_usage
field in struct tee_pobj for persistent objects. Updates to the field
are also written into secure storage to preserve the content the next
time the object is opened.

Fixes: b01047730e77 ("Open-source the TEE Core")
Closes: https://github.com/OP-TEE/optee_os/issues/6495
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

aac2c71628-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

drivers: clk: print clock tree with debug trace level

Change clk_print_tree() to print the clock tree with debug trace
level instead of info trace level.

Add a test on TRACE_LEVEL >= TRACE_DEBUG in

drivers: clk: print clock tree with debug trace level

Change clk_print_tree() to print the clock tree with debug trace
level instead of info trace level.

Add a test on TRACE_LEVEL >= TRACE_DEBUG in clk_print_tree()
to ensures no unless code is embedded when the trace level is too low.

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

4362d4f927-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

drivers: clk: remove spinlock in clk_print_tree()

Remove spinlock handling from clk_print_tree(). This lock may mask
interrupts for a long period of time which and may affect the system
behavior. Si

drivers: clk: remove spinlock in clk_print_tree()

Remove spinlock handling from clk_print_tree(). This lock may mask
interrupts for a long period of time which and may affect the system
behavior. Since there is no clock unregistering and clock destroying
function, all clock references used are safe to use, even outside
the locked state. Whether or not printed information is accurate is
not an issue as clk_print_tree() is concerned as the function is only
informative.

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

e64dede326-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

drivers: clk: print tree without recursion

Remove recursive calls used in clk_print_tree() implementation using
list parsing algorithm to prevent uncontrolled stack overflows.

Print "-- No register

drivers: clk: print tree without recursion

Remove recursive calls used in clk_print_tree() implementation using
list parsing algorithm to prevent uncontrolled stack overflows.

Print "-- No registered clock" instead of nothing after
"Clock tree summary" trace message when there are no registered clocks.

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Co-developed-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

bff6a84826-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

drivers: clk: assert registered clock pointer is not NULL

Fix clk_register() assertion entry instruction to print an assertion
error message on NULL clock pointer instead of issuing a segmentation
f

drivers: clk: assert registered clock pointer is not NULL

Fix clk_register() assertion entry instruction to print an assertion
error message on NULL clock pointer instead of issuing a segmentation
fault.

Fixes: 2305544b3b9b ("drivers: clk: add generic clock framework")
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

f729983623-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

drivers: clk: clk_print_tree() stub for disabled CFG_DRIVERS_CLK

Add an stub implementation of clk_print_tree() when CFG_DRIVERS_CLK
is disabled. This allows generic code as the statistics PTA to no

drivers: clk: clk_print_tree() stub for disabled CFG_DRIVERS_CLK

Add an stub implementation of clk_print_tree() when CFG_DRIVERS_CLK
is disabled. This allows generic code as the statistics PTA to not
rely on #ifdef CFG_DRIVERS_CLK pragma.

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

1...<<51525354555657585960>>...259