| 26670c82 | 08-Jun-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
tlkd: execute standard SMC calls on the boot CPU
This patch checks if standard SMC calls, meant for TLK, are issued only on the boot CPU. TLK is UP Trusted OS stack and so we need this check to avoi
tlkd: execute standard SMC calls on the boot CPU
This patch checks if standard SMC calls, meant for TLK, are issued only on the boot CPU. TLK is UP Trusted OS stack and so we need this check to avoid the NS world calling into TLK from any other CPU.
The previous check tied TLK to CPU0, but the boot CPU can be other than CPU0 in some scenarios.
Change-Id: I75eaafa32471ce19e9920433c2f97b6b5fc02d86 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| feb5aa24 | 24-May-2016 |
Wayne Lin <wlin@nvidia.com> |
spd: trusty: pass boot params to the Trusted OS
This patch passes the boot parameters, provided by the previous bootloader, to the Trusted OS via X0, X1 and X2.
Original change by: Wayne Lin <wlin@
spd: trusty: pass boot params to the Trusted OS
This patch passes the boot parameters, provided by the previous bootloader, to the Trusted OS via X0, X1 and X2.
Original change by: Wayne Lin <wlin@nvidia.com>
Change-Id: I2039612a8a8226158babfd505ce8c31c4212319c Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 64c07d0f | 20-Apr-2016 |
Anthony Zhou <anzhou@nvidia.com> |
spd: trusty: only process one function ID at a time
In multi-guest trusty environment, all guest's SMCs will be forwarded to Trusty. This change only allows 1 guest's SMC to be forwarded at a time a
spd: trusty: only process one function ID at a time
In multi-guest trusty environment, all guest's SMCs will be forwarded to Trusty. This change only allows 1 guest's SMC to be forwarded at a time and returns 'busy' status to all other requests.
Change-Id: I2144467d11e3680e28ec816adeec2766bca114d4 Signed-off-by: Anthony Zhou <anzhou@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| dae374bf | 30-Oct-2015 |
Anthony Zhou <anzhou@nvidia.com> |
spd: trusty: pass VMID via X7
According to the ARM DEN0028A spec, hypervisor ID(VMID) should be stored in x7 (or w7). This patch gets this value from the context and passes it to Trusty. In order to
spd: trusty: pass VMID via X7
According to the ARM DEN0028A spec, hypervisor ID(VMID) should be stored in x7 (or w7). This patch gets this value from the context and passes it to Trusty. In order to do so, introduce new macros to pass five to eight parameters to the Trusted OS.
Change-Id: I101cf45d0712e1e880466b2274f9a48af755c9fa Signed-off-by: Anthony Zhou <anzhou@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 32bf0e29 | 04-Mar-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #863 from vwadekar/tegra-changes-from-downstream-v4
Tegra changes from downstream v4 |
| 08ba8c6e | 03-Mar-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #854 from rockchip-linux/pm_plat
rockchip: plat_pm.c: Change callbacks implement for our SOCs. |
| bc0a0bea | 28-Feb-2017 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: enable SEPARATE_CODE_AND_RODATA build flag
This patch enables the SEPARATE_CODE_AND_RODATA build flag for all Tegra platforms, to allow setting proper MMU attributes for the RO data and the c
Tegra: enable SEPARATE_CODE_AND_RODATA build flag
This patch enables the SEPARATE_CODE_AND_RODATA build flag for all Tegra platforms, to allow setting proper MMU attributes for the RO data and the code.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| ad2c0567 | 03-Mar-2017 |
tony.xie <tony.xie@rock-chips.com> |
rockchip: Change the callback implement of power domain for rk3368
Change-Id: I6d39b4cac9b34b1f841e9bbddaf9c49785ba0c5e Signed-off-by: tony.xie <tony.xie@rock-chips.com> |
| 7d72bd98 | 28-Dec-2016 |
Harvey Hsieh <hhsieh@nvidia.com> |
Tegra210: assert if afflvl0/1 have incorrect state-ids
The linux kernel v3.10 does not use System Suspend function ID, whereas v4.4 uses it. This means affinity levels 0/1 will have different state
Tegra210: assert if afflvl0/1 have incorrect state-ids
The linux kernel v3.10 does not use System Suspend function ID, whereas v4.4 uses it. This means affinity levels 0/1 will have different state id values during System Suspend entry. This patch updates the assert criteria to check both the state id values.
Change-Id: I07fcaf99501cc9622e40d0a2c1eb4a4a160be10a Signed-off-by: Harvey Hsieh <hhsieh@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 6b51766c | 11-Oct-2016 |
Harvey Hsieh <hhsieh@nvidia.com> |
Tegra: SiP: 64-bit address for Video Memory base
This patch allows the NS world to pass 64-bit base address for the Video Memory carveout region.
Change-Id: I7e47cc1f5425bd39c6763755b801517013e1e0c
Tegra: SiP: 64-bit address for Video Memory base
This patch allows the NS world to pass 64-bit base address for the Video Memory carveout region.
Change-Id: I7e47cc1f5425bd39c6763755b801517013e1e0cd Signed-off-by: Harvey Hsieh <hhsieh@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| b5903dfc | 24-Nov-2016 |
Steven Kao <skao@nvidia.com> |
Tegra: increase ADDR_SPACE_SIZE to 35 bits
This patch increases the ADDR_SPACE_SIZE macro (virtual address) to 35 bits, to support max memory of 32G, for all Tegra platforms.
Change-Id: I8e6861601d
Tegra: increase ADDR_SPACE_SIZE to 35 bits
This patch increases the ADDR_SPACE_SIZE macro (virtual address) to 35 bits, to support max memory of 32G, for all Tegra platforms.
Change-Id: I8e6861601d3a667d7428988c7596b0adebfa0548 Signed-off-by: Steven kao <skao@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 9b514f83 | 07-Nov-2016 |
Damon Duan <danield@nvidia.com> |
Tegra: init the console only if the platform supports it
Some platforms might want to keep the uart console disabled during boot. This patch checks if the platform supports a console, before calling
Tegra: init the console only if the platform supports it
Some platforms might want to keep the uart console disabled during boot. This patch checks if the platform supports a console, before calling console_init().
Change-Id: Icc9c59cb979d91fd0a72e4732403b3284bdd2dfc Signed-off-by: Damon Duan <danield@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 8d8d8d09 | 01-Sep-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra210: new TZDRAM base address
This patch modifies the TZDRAM base address to the new aperture allocated by the bootloader.
Change-Id: Id158d15b1ec9aa681136d258e90fbba930aebf92 Signed-off-by: Va
Tegra210: new TZDRAM base address
This patch modifies the TZDRAM base address to the new aperture allocated by the bootloader.
Change-Id: Id158d15b1ec9aa681136d258e90fbba930aebf92 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 2f6f7206 | 01-Sep-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra210: set core power state during cluster power down
This patch sets the core power state during cluster power down, so that the 'get_target_pwr_state' handler can calculate the proper states fo
Tegra210: set core power state during cluster power down
This patch sets the core power state during cluster power down, so that the 'get_target_pwr_state' handler can calculate the proper states for all the affinity levels.
Change-Id: If4adb001011208916427ee1623c6c923bed99985 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 8539f45d | 01-Sep-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: calculate proper power state for affinity levels
This patch fixes the 'tegra_soc_get_target_pwr_state' handler used to calculate the proper state for each of the affinity levels.
Change-Id:
Tegra: calculate proper power state for affinity levels
This patch fixes the 'tegra_soc_get_target_pwr_state' handler used to calculate the proper state for each of the affinity levels.
Change-Id: Id16bd15b96f0fc633ffeac2d7a390592fbd0454b Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 23cd470f | 23-Aug-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: fix logic to calculate GICD_ISPENDR register address
This patch uses GICD_BASE to calculate the GICD_ISPENDR regsiter address in the platform's 'plat_crash_print_regs' routine.
Reported by:
Tegra: fix logic to calculate GICD_ISPENDR register address
This patch uses GICD_BASE to calculate the GICD_ISPENDR regsiter address in the platform's 'plat_crash_print_regs' routine.
Reported by: Seth Eatinger <seatinger@nvidia.com>
Change-Id: Ic7be29abc781f475ad25b59582ae60a0a2497377 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 5b5928e8 | 02-Aug-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: uninit and re-init console across System Suspend
This patch removes the console_init() from runtime_setup() as we already initialize it earlier and disables/enables it across "System Suspend"
Tegra: uninit and re-init console across System Suspend
This patch removes the console_init() from runtime_setup() as we already initialize it earlier and disables/enables it across "System Suspend".
Change-Id: I992d3ca56ff4797faf83e8d7fa52c0ef3e1c3367 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| e954ab8f | 20-Jul-2016 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: support for silicon/simulation platforms
This patch adds support to identify the underlying platform on which we are running. The currently supported platforms are actual silicon and simulati
Tegra: support for silicon/simulation platforms
This patch adds support to identify the underlying platform on which we are running. The currently supported platforms are actual silicon and simulation platforms.
Change-Id: Iadf96e79ec663b3dbd1a18e9bb95ffcdb82fc8af Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 6feeb081 | 02-Mar-2017 |
danh-arm <dan.handley@arm.com> |
Merge pull request #859 from Summer-ARM/sq/update-doc
Update LOAD_IMAGE_V2 user guide documentation |
| a6b3954b | 14-Feb-2017 |
Soby Mathew <soby.mathew@arm.com> |
AArch32: Enable override of plat_set_my_stack/plat_get_my_stack
This patch makes the default MP definitions of plat_get_my_stack() and plat_set_my_stack() as weak so that they can be overridden by t
AArch32: Enable override of plat_set_my_stack/plat_get_my_stack
This patch makes the default MP definitions of plat_get_my_stack() and plat_set_my_stack() as weak so that they can be overridden by the AArch32 Secure Payload if it requires.
Change-Id: I3b6ddff5750443a776505e3023ff2934227592b6 Signed-off-by: Soby Mathew <soby.mathew@arm.com>
show more ...
|
| e40e075f | 28-Feb-2017 |
Soby Mathew <soby.mathew@arm.com> |
AArch32: Fix conditional inclusion of bakery_locks
Due to incorrect conditional compilation checks, bakery locks were excluded from the CCN driver and the power controller driver for FVP when BL32 w
AArch32: Fix conditional inclusion of bakery_locks
Due to incorrect conditional compilation checks, bakery locks were excluded from the CCN driver and the power controller driver for FVP when BL32 was built as the EL3 Runtime Software in AArch32 mode. This patch corrects the same.
Change-Id: Ib1f163d9167a5c38e4d622232c4835cad9c235aa Signed-off-by: Soby Mathew <soby.mathew@arm.com>
show more ...
|
| 61531a27 | 14-Feb-2017 |
Soby Mathew <soby.mathew@arm.com> |
AArch32: Fix normal memory bakery compilation
This patch fixes a compilation issue with bakery locks when PSCI library is compiled with USE_COHERENT_MEM = 0 build option.
Change-Id: Ic7f6cf9f2bb37f
AArch32: Fix normal memory bakery compilation
This patch fixes a compilation issue with bakery locks when PSCI library is compiled with USE_COHERENT_MEM = 0 build option.
Change-Id: Ic7f6cf9f2bb37f8a946eafbee9cbc3bf0dc7e900 Signed-off-by: Soby Mathew <soby.mathew@arm.com>
show more ...
|
| bea7caff | 02-Mar-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #853 from vwadekar/tegra-changes-from-downstream-v3
Tegra changes from downstream v3 |
| b0408e87 | 05-Jan-2017 |
Jeenu Viswambharan <jeenu.viswambharan@arm.com> |
PSCI: Optimize call paths if all participants are cache-coherent
The current PSCI implementation can apply certain optimizations upon the assumption that all PSCI participants are cache-coherent.
PSCI: Optimize call paths if all participants are cache-coherent
The current PSCI implementation can apply certain optimizations upon the assumption that all PSCI participants are cache-coherent.
- Skip performing cache maintenance during power-up.
- Skip performing cache maintenance during power-down:
At present, on the power-down path, CPU driver disables caches and MMU, and performs cache maintenance in preparation for powering down the CPU. This means that PSCI must perform additional cache maintenance on the extant stack for correct functioning.
If all participating CPUs are cache-coherent, CPU driver would neither disable MMU nor perform cache maintenance. The CPU being powered down, therefore, remain cache-coherent throughout all PSCI call paths. This in turn means that PSCI cache maintenance operations are not required during power down.
- Choose spin locks instead of bakery locks:
The current PSCI implementation must synchronize both cache-coherent and non-cache-coherent participants. Mutual exclusion primitives are not guaranteed to function on non-coherent memory. For this reason, the current PSCI implementation had to resort to bakery locks.
If all participants are cache-coherent, the implementation can enable MMU and data caches early, and substitute bakery locks for spin locks. Spin locks make use of architectural mutual exclusion primitives, and are lighter and faster.
The optimizations are applied when HW_ASSISTED_COHERENCY build option is enabled, as it's expected that all PSCI participants are cache-coherent in those systems.
Change-Id: Iac51c3ed318ea7e2120f6b6a46fd2db2eae46ede Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
show more ...
|
| a10d3632 | 06-Jan-2017 |
Jeenu Viswambharan <jeenu.viswambharan@arm.com> |
PSCI: Introduce cache and barrier wrappers
The PSCI implementation performs cache maintenance operations on its data structures to ensure their visibility to both cache-coherent and non-cache-cohere
PSCI: Introduce cache and barrier wrappers
The PSCI implementation performs cache maintenance operations on its data structures to ensure their visibility to both cache-coherent and non-cache-coherent participants. These cache maintenance operations can be skipped if all PSCI participants are cache-coherent. When HW_ASSISTED_COHERENCY build option is enabled, we assume PSCI participants are cache-coherent.
For usage abstraction, this patch introduces wrappers for PSCI cache maintenance and barrier operations used for state coordination: they are effectively NOPs when HW_ASSISTED_COHERENCY is enabled, but are applied otherwise.
Also refactor local state usage and associated cache operations to make it clearer.
Change-Id: I77f17a90cba41085b7188c1345fe5731c99fad87 Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
show more ...
|