History log of /rk3399_rockchip-uboot/arch/arm/cpu/armv8/start.S (Results 1 – 25 of 57)
Revision Date Author Comments
# 2f96fde5 04-Feb-2025 Joseph Chen <chenjh@rock-chips.com>

common: Add smp boot support

smp.S from u-boot-tb: #248761 (rk3576: mos: smp.c for dual boot device)

Change-Id: I0f82619f51696b6460f12fcf7912a4a1bfd05746
Signed-off-by: Joseph Chen <chenjh@rock-chi

common: Add smp boot support

smp.S from u-boot-tb: #248761 (rk3576: mos: smp.c for dual boot device)

Change-Id: I0f82619f51696b6460f12fcf7912a4a1bfd05746
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>

show more ...


# 36c449fe 17-May-2023 Joseph Chen <chenjh@rock-chips.com>

common: Add MP boot support

mp_boot build from: a5185c920.

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I8f8b2fe45ee87ad0a60e1dfd6f0950f052d4f1e7


# f28e2313 26-Apr-2023 Joseph Chen <chenjh@rock-chips.com>

arm: v8: Move cpu init from crt0_64.S to start.S

Do init before secondary cpu jump.

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: Idd247743048907384d7f1ed13abf42403ae813d7


# 7cef7918 16-Jul-2021 Joseph Chen <chenjh@rock-chips.com>

irq: simplify the #if expression

Use CONFIG_IS_ENABLED() is better.

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: If4f514cc1dfb9e0f52521954158172bba1eb8f85


# 617c1bec 12-Jul-2021 Joseph Chen <chenjh@rock-chips.com>

arm: v7/v8: Enable SError/Asynchronous external abort for TPL/SPL/U-Boot

Add this patch to support report SError/Asynchronous external abort
immediately in current exception level.

=== issue scene

arm: v7/v8: Enable SError/Asynchronous external abort for TPL/SPL/U-Boot

Add this patch to support report SError/Asynchronous external abort
immediately in current exception level.

=== issue scene ===
When access a illegal address, It results in:
- read: Synchronous data-abort
- write: SError(64-bit)/Asynchronous external abort(32-bit)

=== 64-bit ===
EL3 SError ASynchronous exception in TPL/SPL was already
enabled in start.S and crt0_64.S which sets SCR_EL3.EA=1
and DAIF.A=0. We can test result of TPL/SPL by access address
0xfe108000 in rk3568.
Let's enable SError in U-Boot proper.

=== 32-bit ===
Let's set CPSR.A=0 to enable Asynchronous external abort, we can
test result by access address 0xfe808000 in rv1126.
Note: TPL/SPL vectors only provides "b ." for all exception entry.

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: Id9f660a9275f69fdc8443ad239aabf79682d95d0

show more ...


# 6184121c 29-Apr-2019 Andy Yan <andy.yan@rock-chips.com>

arm: add spl relocation support for armv8

Relocate spl itself to a high memory.

Change-Id: Ia69f05449a0a8e4f07cc6d37a2486c3cd2aa7176
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>


# 37e5dcc8 05-Jul-2018 YouMin Chen <cym@rock-chips.com>

rockchip: ARM64: tpl: modify TPL_TINY_FRAMEWORK flow to reduce code size

If sram size is small for TPL build, it can defined
CONFIG_TPL_TINY_FRAMEWORK to reduce TPL size.
For ARM64 if defined CONFIG

rockchip: ARM64: tpl: modify TPL_TINY_FRAMEWORK flow to reduce code size

If sram size is small for TPL build, it can defined
CONFIG_TPL_TINY_FRAMEWORK to reduce TPL size.
For ARM64 if defined CONFIG_TPL_TINY_FRAMEWORK when build TPL, after
save_boot_params(), it jump to board_init_f() directly, then return to
maskrom. and stack also use maskrom defined result, never change the SP.

Change-Id: I80dc414fcc276f5ea2c09afd6d1eb16e2f2f4cf6
Signed-off-by: YouMin Chen <cym@rock-chips.com>

show more ...


# f00ac1e5 03-Nov-2017 Stephen Warren <swarren@nvidia.com>

UPSTREAM: arm64: support running at addr other than linked to

This is required in the case where U-Boot is typically loaded and run at
a particular address, but for some reason the RAM at that locat

UPSTREAM: arm64: support running at addr other than linked to

This is required in the case where U-Boot is typically loaded and run at
a particular address, but for some reason the RAM at that location is not
available, e.g. due to memory fragmentation loading other boot binaries or
firmware, splitting an SMP complex between various different OSs without
using e.g. the EL2 second-stage page tables to hide the memory asignments,
or due to known ECC failures.

Change-Id: I2fd535325517921c6036188b74ab4facd37b7118
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 49e93875a62fb9e96a4a7483b9bd5d8ae27ea76e)

show more ...


# f4fc5f8d 10-Nov-2017 Kever Yang <kever.yang@rock-chips.com>

arm: irq: do not enable irq in SPL/TPL

Change-Id: I6a9b8b883ede2e45e2c5760c633f04bd9ab4fe4e
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>


# fa40f8a0 25-Sep-2017 Joseph Chen <chenjh@rock-chips.com>

ARM: add support for irq interrup framework

both GICV2 and GICV3 are supported

Change-Id: Ie928cc781c0e0830b98d12c4033e45a43befc2ff
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>


# 541f538f 03-Jun-2017 Tom Rini <trini@konsulko.com>

Merge git://git.denx.de/u-boot-fsl-qoriq


# 399e2bb6 15-May-2017 York Sun <york.sun@nxp.com>

armv8: layerscape: Make U-Boot EL2 safe

When U-Boot boots from EL2, skip some lowlevel init code requiring
EL3, including CCI-400/CCN-504, trust zone, GIC, etc. These
initialization tasks are carrie

armv8: layerscape: Make U-Boot EL2 safe

When U-Boot boots from EL2, skip some lowlevel init code requiring
EL3, including CCI-400/CCN-504, trust zone, GIC, etc. These
initialization tasks are carried out before U-Boot runs. This applies
to the RAM version image used for SPL boot if PPA is loaded first.

Signed-off-by: York Sun <york.sun@nxp.com>

show more ...


# 9ad7147b 27-Apr-2017 Dinh Nguyen <dinguyen@kernel.org>

armv8: minor fix to comment for enabling SMPEN bit

The SMPEN bit is located in the cpuectlr_el1 register and not the
cpuactlr_el1 register. Adjust the comment accordingly and also fix
a spelling err

armv8: minor fix to comment for enabling SMPEN bit

The SMPEN bit is located in the cpuectlr_el1 register and not the
cpuactlr_el1 register. Adjust the comment accordingly and also fix
a spelling error.

Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
CC: Mingkai Hu <mingkai.hu@nxp.com>
CC: Gong Qianyu <Qianyu.Gong@nxp.com>
CC: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
CC: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
CC: York Sun <york.sun@nxp.com>
CC: Albert Aribaud <albert.u.boot@aribaud.net>
CC: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: York Sun <york.sun@nxp.com>

show more ...


# 0675f992 19-Jan-2017 Tom Rini <trini@konsulko.com>

Merge git://git.denx.de/u-boot-fsl-qoriq


# 7c5e1feb 17-Jan-2017 Alison Wang <b18965@freescale.com>

armv8: aarch64: Fix the warning about x1-x3 nonzero issue

For 64-bit kernel, there is a warning about x1-x3 nonzero in violation
of boot protocol. To fix this issue, input argument 4 is added for
ar

armv8: aarch64: Fix the warning about x1-x3 nonzero issue

For 64-bit kernel, there is a warning about x1-x3 nonzero in violation
of boot protocol. To fix this issue, input argument 4 is added for
armv8_switch_to_el2 and armv8_switch_to_el1. The input argument 4 will
be set to the right value, such as zero.

Signed-off-by: Alison Wang <alison.wang@nxp.com>
Reviewed-by: Alexander Graf <agraf@suse.de>
Tested-by: Ryan Harkin <ryan.harkin@linaro.org>
Tested-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: York Sun <york.sun@nxp.com>

show more ...


# 3aec452e 06-Jan-2017 Mingkai Hu <mingkai.hu@nxp.com>

armv8: Enable CPUECTLR.SMPEN for coherency

For A53, data coherency is enabled only when the CPUECTLR.SMPEN bit is
set. The SMPEN bit should be set before enabling the data cache.
If not enabled, the

armv8: Enable CPUECTLR.SMPEN for coherency

For A53, data coherency is enabled only when the CPUECTLR.SMPEN bit is
set. The SMPEN bit should be set before enabling the data cache.
If not enabled, the cache is not coherent with other cores and
data corruption could occur.

For A57/A72, SMPEN bit enables the processor to receive instruction
cache and TLB maintenance operations broadcast from other processors
in the cluster. This bit should be set before enabling the caches and
MMU, or performing any cache and TLB maintenance operations.

Signed-off-by: Mingkai Hu <mingkai.hu@nxp.com>
Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>

show more ...


# 4b105f6c 27-Dec-2016 Oded Gabbay <oded.gabbay@gmail.com>

armv8: fix #if around spin-table code in start.S

Using CONFIG_IS_ENABLED() doesn't work in SPL. This patch replaces the only
occurrence of CONFIG_IS_ENABLED() in start.S to a regular #if defined().

armv8: fix #if around spin-table code in start.S

Using CONFIG_IS_ENABLED() doesn't work in SPL. This patch replaces the only
occurrence of CONFIG_IS_ENABLED() in start.S to a regular #if defined().
It also adds "&& !defined(CONFIG_SPL_BUILD)" to that #if statement because
the spin-table code can't currently work in SPL, and the spin-table file
isn't even compiled in SPL.

Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>

show more ...


# 0b840433 10-Jan-2017 Tom Rini <trini@konsulko.com>

Merge branch 'master' of git://git.denx.de/u-boot-sunxi


# ce62e57f 02-Jan-2017 Andre Przywara <andre.przywara@arm.com>

ARM: boot0 hook: remove macro, include whole header file

For prepending some board specific header area to U-Boot images we
were so far including a header file with a macro definition containing
the

ARM: boot0 hook: remove macro, include whole header file

For prepending some board specific header area to U-Boot images we
were so far including a header file with a macro definition containing
the actual header specification.
This works fine if there are just a few statements and if there is only
one alternative.
However adding more complex code quickly gets messy with this approach,
so let's just drop that intermediate macro and let the #include actually
insert the code directly.
This converts the callers and the callees, but doesn't change anything
at this point.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Steve Rae <steve.rae@raedomain.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>

show more ...


# a5168a59 02-Jan-2017 Andre Przywara <andre.przywara@arm.com>

armv8: move reset branch into boot hook

The boot0 hook we have so far is applied _after_ the initial branch
to the "reset" entry point. An upcoming change requires even this
branch to be changed, so

armv8: move reset branch into boot hook

The boot0 hook we have so far is applied _after_ the initial branch
to the "reset" entry point. An upcoming change requires even this
branch to be changed, so we apply the hook macro at the earliest
point, and have the branch in the hook file as well.
This is no functional change at this point, just refactoring to simplify
upcoming patches.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jagan Teki <jagan@openedev.com>

show more ...


# 2d221489 29-Nov-2016 Stefano Babic <sbabic@denx.de>

Merge branch 'master' of git://git.denx.de/u-boot

Signed-off-by: Stefano Babic <sbabic@denx.de>


# ed77ccd0 25-Nov-2016 Tom Rini <trini@konsulko.com>

Merge git://git.denx.de/u-boot-fsl-qoriq

Signed-off-by: Tom Rini <trini@konsulko.com>

Conflicts:
arch/arm/Kconfig


# ec6617c3 10-Nov-2016 Alison Wang <b18965@freescale.com>

armv8: Support loading 32-bit OS in AArch32 execution state

To support loading a 32-bit OS, the execution state will change from
AArch64 to AArch32 when jumping to kernel.

The architecture informat

armv8: Support loading 32-bit OS in AArch32 execution state

To support loading a 32-bit OS, the execution state will change from
AArch64 to AArch32 when jumping to kernel.

The architecture information will be got through checking FIT image,
then U-Boot will load 32-bit OS or 64-bit OS automatically.

Signed-off-by: Ebony Zhu <ebony.zhu@nxp.com>
Signed-off-by: Alison Wang <alison.wang@nxp.com>
Signed-off-by: Chenhui Zhao <chenhui.zhao@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>

show more ...


# 9f84da8d 21-Jul-2016 Tom Rini <trini@konsulko.com>

Merge branch 'master' of git://git.denx.de/u-boot-tegra


# 0e2b5350 18-Jul-2016 Stephen Warren <swarren@nvidia.com>

ARM: Add save_boot_params for ARMv8

Implement a hook to allow boards to save boot-time CPU state for later
use. When U-Boot is chain-loaded by another bootloader, CPU registers may
contain useful in

ARM: Add save_boot_params for ARMv8

Implement a hook to allow boards to save boot-time CPU state for later
use. When U-Boot is chain-loaded by another bootloader, CPU registers may
contain useful information such as system configuration information. This
feature mirrors the equivalent ARMv7 feature.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>

show more ...


123