mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-27 06:04:40 +08:00
Merge branch 'next'
This commit is contained in:
commit
65fbdab272
@ -8,6 +8,17 @@ variables:
|
||||
# since our $(ci_runner_image) user is not root.
|
||||
container_option: -u 0
|
||||
work_dir: /u
|
||||
# We define all of these as variables so we can easily reference them twice
|
||||
am33xx_kirkwood_ls1_mvebu_omap: "am33xx kirkwood ls1 mvebu omap -x siemens,freescale"
|
||||
amlogic_bcm_boundary_engicam_siemens_technexion_oradex: "amlogic bcm boundary engicam siemens technexion toradex -x mips"
|
||||
arm_nxp_minus_imx_and_at91: "at91 freescale -x powerpc,m68k,imx,mx"
|
||||
imx: "mx imx -x boundary,engicam,technexion,toradex"
|
||||
rk: "rk"
|
||||
sunxi: "sunxi"
|
||||
powerpc: "powerpc"
|
||||
arm_catch_all: "arm -x aarch64,am33xx,at91,bcm,ls1,kirkwood,mvebu,omap,rk,siemens,mx,sunxi,technexion,toradex"
|
||||
aarch64_catch_all: "aarch64 -x amlogic,bcm,engicam,imx,ls1,ls2,lx216,mvebu,rk,siemens,sunxi,toradex"
|
||||
everything_but_arm_and_powerpc: "arc m68k microblaze mips nios2 riscv sandbox sh x86 xtensa -x arm,powerpc"
|
||||
|
||||
stages:
|
||||
- stage: testsuites
|
||||
@ -185,6 +196,34 @@ stages:
|
||||
steps:
|
||||
- script: make pip
|
||||
|
||||
- job: count_built_machines
|
||||
displayName: 'Ensure we build all possible machines'
|
||||
pool:
|
||||
vmImage: $(ubuntu_vm)
|
||||
container:
|
||||
image: $(ci_runner_image)
|
||||
options: $(container_option)
|
||||
steps:
|
||||
- script: |
|
||||
BMANARGS="-o /tmp --dry-run -v"
|
||||
# First get the total number of boards
|
||||
total=$(tools/buildman/buildman ${BMANARGS} | grep "Total boards to build for each commit" | cut -d ' ' -f 8)
|
||||
# Now build up the list of what each job built.
|
||||
built="$(tools/buildman/buildman ${BMANARGS} $(am33xx_kirkwood_ls1_mvebu_omap) | grep '^ ')"
|
||||
built="$built $(tools/buildman/buildman ${BMANARGS} $(amlogic_bcm_boundary_engicam_siemens_technexion_oradex) | grep '^ ')"
|
||||
built="$built $(tools/buildman/buildman ${BMANARGS} $(arm_nxp_minus_imx_and_at91) | grep '^ ')"
|
||||
built="$built $(tools/buildman/buildman ${BMANARGS} $(imx) | grep '^ ')"
|
||||
built="$built $(tools/buildman/buildman ${BMANARGS} $(rk) | grep '^ ')"
|
||||
built="$built $(tools/buildman/buildman ${BMANARGS} $(sunxi) | grep '^ ')"
|
||||
built="$built $(tools/buildman/buildman ${BMANARGS} $(powerpc) | grep '^ ')"
|
||||
built="$built $(tools/buildman/buildman ${BMANARGS} $(arm_catch_all) | grep '^ ')"
|
||||
built="$built $(tools/buildman/buildman ${BMANARGS} $(aarch64_catch_all) | grep '^ ')"
|
||||
built="$built $(tools/buildman/buildman ${BMANARGS} $(everything_but_arm_and_powerpc) | grep '^ ')"
|
||||
# Finally see how many machines that is.
|
||||
actual=$(tools/buildman/buildman ${BMANARGS} $built | grep "Total boards to build for each commit" | cut -d ' ' -f 8)
|
||||
echo We would build a total of $actual out of $total platforms this CI run
|
||||
[ $actual -eq $total ] && exit 0 || exit 1
|
||||
|
||||
- job: create_test_py_wrapper_script
|
||||
displayName: 'Create and stage a wrapper for test.py runs'
|
||||
pool:
|
||||
@ -473,29 +512,29 @@ stages:
|
||||
pool:
|
||||
vmImage: $(ubuntu_vm)
|
||||
strategy:
|
||||
# Use almost the same target division in .travis.yml, only merged
|
||||
# 3 small build jobs (arc/microblaze/xtensa) into one.
|
||||
# We split the world up in to 10 jobs as we can have at most 10
|
||||
# parallel jobs going on the free tier of Azure.
|
||||
matrix:
|
||||
am33xx_at91_kirkwood_mvebu_omap:
|
||||
BUILDMAN: "am33xx at91_kirkwood mvebu omap -x siemens"
|
||||
am33xx_kirkwood_ls1_mvebu_omap:
|
||||
BUILDMAN: $(am33xx_kirkwood_ls1_mvebu_omap)
|
||||
amlogic_bcm_boundary_engicam_siemens_technexion_oradex:
|
||||
BUILDMAN: "amlogic bcm boundary engicam siemens technexion toradex -x mips"
|
||||
arm_nxp_minus_imx:
|
||||
BUILDMAN: "freescale -x powerpc,m68k,imx,mx"
|
||||
BUILDMAN: $(amlogic_bcm_boundary_engicam_siemens_technexion_oradex)
|
||||
arm_nxp_minus_imx_and_at91:
|
||||
BUILDMAN: $(arm_nxp_minus_imx_and_at91)
|
||||
imx:
|
||||
BUILDMAN: "mx imx -x boundary,engicam,technexion,toradex"
|
||||
BUILDMAN: $(imx)
|
||||
rk:
|
||||
BUILDMAN: "rk"
|
||||
BUILDMAN: $(rk)
|
||||
sunxi:
|
||||
BUILDMAN: "sunxi"
|
||||
BUILDMAN: $(sunxi)
|
||||
powerpc:
|
||||
BUILDMAN: "powerpc"
|
||||
BUILDMAN: $(powerpc)
|
||||
arm_catch_all:
|
||||
BUILDMAN: "arm -x aarch64,am33xx,at91,bcm,ls1,kirkwood,mvebu,omap,rk,siemens,mx,sunxi,technexion,toradex"
|
||||
BUILDMAN: $(arm_catch_all)
|
||||
aarch64_catch_all:
|
||||
BUILDMAN: "aarch64 -x amlogic,bcm,engicam,imx,ls1,ls2,lx216,mvebu,rk,siemens,sunxi,toradex"
|
||||
BUILDMAN: $(aarch64_catch_all)
|
||||
everything_but_arm_and_powerpc:
|
||||
BUILDMAN: "-x arm,powerpc"
|
||||
BUILDMAN: $(everything_but_arm_and_powerpc)
|
||||
steps:
|
||||
- script: |
|
||||
cat << EOF > build.sh
|
||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -73,6 +73,8 @@ fit-dtb.blob*
|
||||
/capsule.*.efi-capsule
|
||||
/capsule*.map
|
||||
/keep-syms-lto.*
|
||||
/*imx8mimage*
|
||||
/*imx8mcst*
|
||||
|
||||
#
|
||||
# Generated include files
|
||||
|
26
MAINTAINERS
26
MAINTAINERS
@ -306,6 +306,7 @@ F: arch/arm/include/asm/mach-imx/
|
||||
F: board/freescale/*mx*/
|
||||
F: board/freescale/common/
|
||||
F: common/spl/spl_imx_container.c
|
||||
F: doc/imx/
|
||||
F: drivers/serial/serial_mxc.c
|
||||
F: include/imx_container.h
|
||||
|
||||
@ -533,6 +534,7 @@ F: arch/arm/include/asm/arch-rockchip/
|
||||
F: arch/arm/mach-rockchip/
|
||||
F: board/amarula/vyasa-rk3288/
|
||||
F: board/anbernic/rgxx3_rk3566/
|
||||
F: board/armsom/sige7-rk3588/
|
||||
F: board/chipspark/popmetal_rk3288
|
||||
F: board/engicam/px30_core/
|
||||
F: board/firefly/
|
||||
@ -593,6 +595,22 @@ R: Marc Murphy <marc.murphy@sancloud.com>
|
||||
S: Supported
|
||||
F: arch/arm/dts/am335x-sancloud*
|
||||
|
||||
ARM SC5XX
|
||||
M: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
|
||||
M: Greg Malysa <greg.malysa@timesys.com>
|
||||
M: Ian Roberts <ian.roberts@timesys.com>
|
||||
M: Vasileios Bimpikas <vasileios.bimpikas@analog.com>
|
||||
M: Utsav Agarwal <utsav.agarwal@analog.com>
|
||||
M: Arturs Artamonovs <arturs.artamonovs@analog.com>
|
||||
S: Supported
|
||||
T: git https://github.com/analogdevicesinc/lnxdsp-u-boot
|
||||
F: arch/arm/include/asm/arch-adi/
|
||||
F: arch/arm/mach-sc5xx/
|
||||
F: drivers/clk/adi/
|
||||
F: drivers/serial/serial_adi_uart4.c
|
||||
F: drivers/timer/adi_sc5xx_timer.c
|
||||
F: include/env/adi/
|
||||
|
||||
ARM SNAPDRAGON
|
||||
M: Caleb Connolly <caleb.connolly@linaro.org>
|
||||
M: Neil Armstrong <neil.armstrong@linaro.org>
|
||||
@ -1146,6 +1164,14 @@ T: git https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq.git
|
||||
F: drivers/watchdog/sp805_wdt.c
|
||||
F: drivers/watchdog/sbsa_gwdt.c
|
||||
|
||||
FWU Multi Bank Update
|
||||
M: Sughosh Ganu <sughosh.ganu@linaro.org>
|
||||
S: Maintained
|
||||
T: git https://source.denx.de/u-boot/custodians/u-boot-efi.git
|
||||
F: lib/fwu_updates/*
|
||||
F: drivers/fwu-mdata/*
|
||||
F: tools/mkfwumdata.c
|
||||
|
||||
GATEWORKS_SC
|
||||
M: Tim Harvey <tharvey@gateworks.com>
|
||||
S: Maintained
|
||||
|
9
Makefile
9
Makefile
@ -1898,8 +1898,11 @@ $(filter-out tools, $(u-boot-dirs)): tools
|
||||
# is "yes"), so compile examples after U-Boot is compiled.
|
||||
examples: $(filter-out examples, $(u-boot-dirs))
|
||||
|
||||
# The setlocalversion script comes from linux and expects a
|
||||
# KERNELVERSION variable in the environment for figuring out which
|
||||
# annotated tags are relevant. Pass UBOOTVERSION.
|
||||
define filechk_uboot.release
|
||||
echo "$(UBOOTVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))"
|
||||
KERNELVERSION=$(UBOOTVERSION) $(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree)
|
||||
endef
|
||||
|
||||
# Store (new) UBOOTRELEASE string in include/config/uboot.release
|
||||
@ -2210,7 +2213,7 @@ MRPROPER_DIRS += include/config include/generated spl tpl vpl \
|
||||
# Remove include/asm symlink created by U-Boot before v2014.01
|
||||
MRPROPER_FILES += .config .config.old include/autoconf.mk* include/config.h \
|
||||
ctags etags tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS \
|
||||
drivers/video/fonts/*.S include/asm
|
||||
drivers/video/fonts/*.S include/asm *imx8mimage* *imx8mcst*
|
||||
|
||||
# clean - Delete most, but leave enough to build external modules
|
||||
#
|
||||
@ -2426,7 +2429,7 @@ checkstack:
|
||||
$(PERL) $(src)/scripts/checkstack.pl $(ARCH)
|
||||
|
||||
ubootrelease:
|
||||
@echo "$(UBOOTVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))"
|
||||
@$(filechk_uboot.release)
|
||||
|
||||
ubootversion:
|
||||
@echo $(UBOOTVERSION)
|
||||
|
@ -7,11 +7,13 @@
|
||||
|
||||
#include <config.h>
|
||||
#include <command.h>
|
||||
#include <common.h>
|
||||
#include <env.h>
|
||||
#include <malloc.h>
|
||||
#include <time.h>
|
||||
#include <env_internal.h>
|
||||
#include <vsprintf.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/types.h>
|
||||
#include <api_public.h>
|
||||
#include <u-boot/crc.h>
|
||||
|
@ -3,9 +3,9 @@
|
||||
* Copyright (c) 2011 The Chromium OS Authors.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <api_public.h>
|
||||
#include <log.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
/* TODO(clchiou): add support of video device */
|
||||
|
||||
|
@ -6,7 +6,6 @@
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <common.h>
|
||||
#include <net.h>
|
||||
#include <linux/types.h>
|
||||
#include <api_public.h>
|
||||
|
@ -12,7 +12,6 @@
|
||||
#include <linux/types.h>
|
||||
#include <api_public.h>
|
||||
|
||||
#include <asm/u-boot.h>
|
||||
#include <asm/global_data.h>
|
||||
|
||||
#include "api_private.h"
|
||||
|
@ -9,7 +9,6 @@
|
||||
#include <linux/types.h>
|
||||
#include <api_public.h>
|
||||
|
||||
#include <asm/u-boot.h>
|
||||
#include <asm/global_data.h>
|
||||
|
||||
#include "api_private.h"
|
||||
|
@ -12,7 +12,6 @@
|
||||
#include <linux/types.h>
|
||||
#include <api_public.h>
|
||||
|
||||
#include <asm/u-boot.h>
|
||||
#include <asm/global_data.h>
|
||||
|
||||
#include "api_private.h"
|
||||
|
@ -6,10 +6,10 @@
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <common.h>
|
||||
#include <api_public.h>
|
||||
#include <part.h>
|
||||
#include <scsi.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
#if defined(CONFIG_CMD_USB) && defined(CONFIG_USB_STORAGE)
|
||||
#include <usb.h>
|
||||
|
@ -6,6 +6,8 @@
|
||||
#ifndef __ASM_ARC_GLOBAL_DATA_H
|
||||
#define __ASM_ARC_GLOBAL_DATA_H
|
||||
|
||||
#include <asm/u-boot.h>
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
/* Architecture-specific global data */
|
||||
struct arch_global_data {
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include <clock_legacy.h>
|
||||
#include <init.h>
|
||||
#include <malloc.h>
|
||||
#include <vsprintf.h>
|
||||
#include <stdio.h>
|
||||
#include <asm/arcregs.h>
|
||||
#include <asm/cache.h>
|
||||
#include <asm/global_data.h>
|
||||
|
@ -1235,6 +1235,18 @@ config ARCH_VERSAL
|
||||
imply BOARD_LATE_INIT
|
||||
imply ENV_VARS_UBOOT_RUNTIME_CONFIG
|
||||
|
||||
config ARCH_VERSAL2
|
||||
bool "Support AMD Versal Gen 2 Platform"
|
||||
select ARM64
|
||||
select CLK
|
||||
select DM
|
||||
select DM_MMC if MMC
|
||||
select DM_SERIAL
|
||||
select OF_CONTROL
|
||||
imply BOARD_LATE_INIT
|
||||
imply ENV_VARS_UBOOT_RUNTIME_CONFIG
|
||||
imply ZYNQMP_FIRMWARE
|
||||
|
||||
config ARCH_VERSAL_NET
|
||||
bool "Support Xilinx Versal NET Platform"
|
||||
select ARM64
|
||||
@ -1272,7 +1284,7 @@ config ARCH_ZYNQ
|
||||
select OF_CONTROL
|
||||
select MTD
|
||||
select SPI
|
||||
select SPL_BOARD_INIT if SPL
|
||||
select SPL_SOC_INIT if SPL
|
||||
select SPL_CLK if SPL
|
||||
select SPL_DM if SPL
|
||||
select SPL_DM_SPI if SPL
|
||||
@ -1315,7 +1327,7 @@ config ARCH_ZYNQMP
|
||||
imply FIRMWARE
|
||||
select GICV2
|
||||
select OF_CONTROL
|
||||
select SPL_BOARD_INIT if SPL
|
||||
select SPL_SOC_INIT if SPL
|
||||
select SPL_CLK if SPL
|
||||
select SPL_DM if SPL
|
||||
select SPL_DM_SPI if SPI && SPL_DM
|
||||
@ -1853,6 +1865,9 @@ config TARGET_LS1046AFRWY
|
||||
development platform that supports the QorIQ LS1046A
|
||||
Layerscape Architecture processor.
|
||||
|
||||
config ARCH_SC5XX
|
||||
bool "Analog Devices SC5XX-processor family"
|
||||
|
||||
config TARGET_SL28
|
||||
bool "Support sl28"
|
||||
select ARCH_LS1028A
|
||||
@ -2286,6 +2301,8 @@ source "arch/arm/mach-rockchip/Kconfig"
|
||||
|
||||
source "arch/arm/mach-s5pc1xx/Kconfig"
|
||||
|
||||
source "arch/arm/mach-sc5xx/Kconfig"
|
||||
|
||||
source "arch/arm/mach-snapdragon/Kconfig"
|
||||
|
||||
source "arch/arm/mach-socfpga/Kconfig"
|
||||
@ -2312,6 +2329,8 @@ source "arch/arm/mach-zynqmp/Kconfig"
|
||||
|
||||
source "arch/arm/mach-versal/Kconfig"
|
||||
|
||||
source "arch/arm/mach-versal2/Kconfig"
|
||||
|
||||
source "arch/arm/mach-versal-net/Kconfig"
|
||||
|
||||
source "arch/arm/mach-zynqmp-r5/Kconfig"
|
||||
|
@ -78,6 +78,7 @@ machine-$(CONFIG_ARCH_OWL) += owl
|
||||
machine-$(CONFIG_ARCH_RENESAS) += renesas
|
||||
machine-$(CONFIG_ARCH_ROCKCHIP) += rockchip
|
||||
machine-$(CONFIG_ARCH_S5PC1XX) += s5pc1xx
|
||||
machine-$(CONFIG_ARCH_SC5XX) += sc5xx
|
||||
machine-$(CONFIG_ARCH_SNAPDRAGON) += snapdragon
|
||||
machine-$(CONFIG_ARCH_SOCFPGA) += socfpga
|
||||
machine-$(CONFIG_ARCH_STM32) += stm32
|
||||
@ -89,6 +90,7 @@ machine-$(CONFIG_ARCH_OCTEONTX) += octeontx
|
||||
machine-$(CONFIG_ARCH_OCTEONTX2) += octeontx2
|
||||
machine-$(CONFIG_ARCH_UNIPHIER) += uniphier
|
||||
machine-$(CONFIG_ARCH_VERSAL) += versal
|
||||
machine-$(CONFIG_ARCH_VERSAL2) += versal2
|
||||
machine-$(CONFIG_ARCH_VERSAL_NET) += versal-net
|
||||
machine-$(CONFIG_ARCH_ZYNQ) += zynq
|
||||
machine-$(CONFIG_ARCH_ZYNQMP) += zynqmp
|
||||
|
@ -14,7 +14,6 @@
|
||||
* CPU specific code
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <command.h>
|
||||
#include <cpu_func.h>
|
||||
#include <irq_func.h>
|
||||
|
@ -6,7 +6,6 @@
|
||||
* (c) 2007 Pengutronix, Sascha Hauer <s.hauer@pengutronix.de>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/arch/imx-regs.h>
|
||||
#include <asm/arch/clock.h>
|
||||
|
||||
|
@ -4,7 +4,6 @@
|
||||
* Sascha Hauer, Pengutronix
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <div64.h>
|
||||
#include <init.h>
|
||||
#include <asm/arch/imx-regs.h>
|
||||
|
@ -4,7 +4,6 @@
|
||||
* Sascha Hauer, Pengutronix
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <init.h>
|
||||
#include <asm/arch/imx-regs.h>
|
||||
#include <asm/io.h>
|
||||
|
@ -33,11 +33,7 @@ SECTIONS
|
||||
.data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram
|
||||
. = ALIGN(4);
|
||||
__image_copy_end = .;
|
||||
|
||||
.end :
|
||||
{
|
||||
*(.__end)
|
||||
}
|
||||
_end = .;
|
||||
|
||||
.bss :
|
||||
{
|
||||
|
@ -9,7 +9,7 @@
|
||||
* Alex Zuepke <azu@sysgo.de>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
#if defined(CONFIG_ARCH_TEGRA)
|
||||
static ulong timestamp;
|
||||
|
@ -12,7 +12,6 @@
|
||||
* CPU specific code
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <command.h>
|
||||
#include <cpu_func.h>
|
||||
#include <irq_func.h>
|
||||
|
@ -8,7 +8,6 @@
|
||||
*/
|
||||
|
||||
#include <asm-offsets.h>
|
||||
#include <common.h>
|
||||
#include <config.h>
|
||||
|
||||
/*
|
||||
|
@ -6,7 +6,6 @@
|
||||
#include <cpu_func.h>
|
||||
#include <asm/cache.h>
|
||||
#include <linux/types.h>
|
||||
#include <common.h>
|
||||
|
||||
#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
|
||||
void invalidate_dcache_all(void)
|
||||
|
@ -12,7 +12,6 @@
|
||||
* CPU specific code
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <command.h>
|
||||
#include <cpu_func.h>
|
||||
#include <irq_func.h>
|
||||
|
@ -9,7 +9,6 @@
|
||||
* Copyright (C) 2010 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <log.h>
|
||||
#include <linux/errno.h>
|
||||
#include <asm/io.h>
|
||||
|
@ -6,7 +6,6 @@
|
||||
* <armlinux@phytec.de>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <linux/errno.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/arch/clock.h>
|
||||
|
@ -9,7 +9,6 @@
|
||||
* Copyright (C) 2010 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <command.h>
|
||||
#include <cpu_func.h>
|
||||
#include <hang.h>
|
||||
|
@ -6,7 +6,6 @@
|
||||
* on behalf of DENX Software Engineering GmbH
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <config.h>
|
||||
#include <init.h>
|
||||
#include <log.h>
|
||||
|
@ -6,7 +6,6 @@
|
||||
* on behalf of DENX Software Engineering GmbH
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <config.h>
|
||||
#include <log.h>
|
||||
#include <asm/io.h>
|
||||
|
@ -6,7 +6,6 @@
|
||||
* on behalf of DENX Software Engineering GmbH
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <config.h>
|
||||
#include <init.h>
|
||||
#include <log.h>
|
||||
|
@ -6,7 +6,6 @@
|
||||
* on behalf of DENX Software Engineering GmbH
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <config.h>
|
||||
#include <hang.h>
|
||||
#include <log.h>
|
||||
|
@ -20,7 +20,6 @@
|
||||
|
||||
#include <asm-offsets.h>
|
||||
#include <config.h>
|
||||
#include <common.h>
|
||||
#include <system-constants.h>
|
||||
|
||||
/*
|
||||
|
@ -9,7 +9,6 @@
|
||||
* (C) Copyright 2009-2010 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <init.h>
|
||||
#include <time.h>
|
||||
#include <asm/global_data.h>
|
||||
|
@ -49,11 +49,7 @@ SECTIONS
|
||||
__bss_end = .;
|
||||
}
|
||||
|
||||
.end :
|
||||
{
|
||||
*(.__end)
|
||||
}
|
||||
|
||||
_end = .;
|
||||
_image_binary_end = .;
|
||||
|
||||
.dynsym _image_binary_end : { *(.dynsym) }
|
||||
|
@ -16,7 +16,6 @@
|
||||
|
||||
#include <asm-offsets.h>
|
||||
#include <config.h>
|
||||
#include <common.h>
|
||||
#include <linux/linkage.h>
|
||||
|
||||
/*
|
||||
|
@ -12,7 +12,6 @@
|
||||
* CPU specific code
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <command.h>
|
||||
#include <cpu_func.h>
|
||||
#include <irq_func.h>
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Texas Instruments Incorporated, <www.ti.com>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <config.h>
|
||||
#include <init.h>
|
||||
#include <time.h>
|
||||
#include <asm/global_data.h>
|
||||
|
@ -9,7 +9,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/io.h>
|
||||
#include <linux/errno.h>
|
||||
#include <asm/arch/sysmap.h>
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright 2013 Broadcom Corporation.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/io.h>
|
||||
#include <linux/errno.h>
|
||||
#include <asm/arch/sysmap.h>
|
||||
|
@ -9,7 +9,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <log.h>
|
||||
#include <asm/io.h>
|
||||
#include <linux/delay.h>
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright 2014 Broadcom Corporation.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/io.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/errno.h>
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright 2013 Broadcom Corporation.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/io.h>
|
||||
#include <linux/errno.h>
|
||||
#include <asm/arch/sysmap.h>
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright 2014 Broadcom Corporation.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <linux/errno.h>
|
||||
#include <asm/arch/sysmap.h>
|
||||
#include "clk-core.h"
|
||||
|
@ -9,7 +9,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/io.h>
|
||||
#include <linux/errno.h>
|
||||
#include <asm/arch/sysmap.h>
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright 2013 Broadcom Corporation.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/io.h>
|
||||
#include <linux/errno.h>
|
||||
#include <asm/arch/sysmap.h>
|
||||
|
@ -9,7 +9,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <log.h>
|
||||
#include <asm/io.h>
|
||||
#include <linux/delay.h>
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright 2014 Broadcom Corporation.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/io.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/errno.h>
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright 2013 Broadcom Corporation.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/io.h>
|
||||
#include <linux/errno.h>
|
||||
#include <asm/arch/sysmap.h>
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright 2014 Broadcom Corporation.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <linux/errno.h>
|
||||
#include <asm/arch/sysmap.h>
|
||||
#include "clk-core.h"
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright 2013 Broadcom Corporation.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <cpu_func.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/arch/sysmap.h>
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright 2014 Broadcom Corporation.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <cpu_func.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright 2014 Broadcom Corporation.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <cpu_func.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
|
@ -7,7 +7,6 @@
|
||||
#include <cpu_func.h>
|
||||
#include <asm/cache.h>
|
||||
#include <linux/types.h>
|
||||
#include <common.h>
|
||||
#include <asm/armv7.h>
|
||||
#include <asm/utils.h>
|
||||
|
||||
|
@ -7,7 +7,6 @@
|
||||
* CP15 specific code
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <command.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/cache.h>
|
||||
|
@ -14,7 +14,6 @@
|
||||
* CPU specific code
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <command.h>
|
||||
#include <cpu_func.h>
|
||||
#include <irq_func.h>
|
||||
|
@ -8,7 +8,6 @@
|
||||
* secure mode before booting an operating system.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <bootm.h>
|
||||
#include <cpu_func.h>
|
||||
#include <log.h>
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright 2014 Broadcom Corporation.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/iproc-common/armpll.h>
|
||||
#include <asm/iproc-common/sysmap.h>
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright 2014 Broadcom Corporation.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <cpu_func.h>
|
||||
#include <asm/cache.h>
|
||||
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright 2014 Broadcom Corporation.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <div64.h>
|
||||
#include <init.h>
|
||||
#include <time.h>
|
||||
|
@ -3,7 +3,7 @@
|
||||
* Copyright 2014 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <config.h>
|
||||
#include <clock_legacy.h>
|
||||
#include <asm/global_data.h>
|
||||
#include <asm/io.h>
|
||||
|
@ -4,7 +4,6 @@
|
||||
* Copyright 2021 NXP
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <cpu_func.h>
|
||||
#include <init.h>
|
||||
#include <net.h>
|
||||
|
@ -3,7 +3,7 @@
|
||||
* Copyright 2014 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <config.h>
|
||||
#include <clock_legacy.h>
|
||||
#include <net.h>
|
||||
#include <asm/global_data.h>
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright 2014 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
#include "fsl_epu.h"
|
||||
|
@ -3,7 +3,7 @@
|
||||
* Copyright 2014 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <config.h>
|
||||
#include <asm/arch/fsl_serdes.h>
|
||||
#include <asm/arch/immap_ls102xa.h>
|
||||
#include <linux/errno.h>
|
||||
|
@ -3,7 +3,7 @@
|
||||
* Copyright 2014 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <asm/arch/fsl_serdes.h>
|
||||
#include <asm/arch/immap_ls102xa.h>
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
* Copyright 2015 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <config.h>
|
||||
#include <log.h>
|
||||
#include <asm/arch/clock.h>
|
||||
#include <asm/io.h>
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright 2014 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <spl.h>
|
||||
|
||||
u32 spl_boot_device(void)
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright 2014 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <init.h>
|
||||
#include <time.h>
|
||||
#include <asm/global_data.h>
|
||||
|
@ -6,7 +6,6 @@
|
||||
* Lokesh Vutla <lokeshvutla@ti.com>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <command.h>
|
||||
#include <cpu_func.h>
|
||||
#include <asm/armv7.h>
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright (C) 2009 Samsung Electronics
|
||||
* Minkyu Kang <mk7.kang@samsung.com>
|
||||
*/
|
||||
#include <common.h>
|
||||
#include <display_options.h>
|
||||
#include <fdtdec.h>
|
||||
#include <init.h>
|
||||
|
@ -5,7 +5,7 @@
|
||||
* Donghwa Lee <dh09.lee@samsung.com>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <config.h>
|
||||
#include <errno.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/arch/pwm.h>
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Naveen Krishna Ch <ch.naveen@samsung.com>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <config.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/arch/sromc.h>
|
||||
|
||||
|
@ -6,7 +6,6 @@
|
||||
* Minkyu Kang <mk7.kang@samsung.com>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <div64.h>
|
||||
#include <init.h>
|
||||
#include <time.h>
|
||||
|
@ -4,7 +4,6 @@
|
||||
* Hyunseok, Jung <hsjung@nexell.co.kr>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <command.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/cache.h>
|
||||
|
@ -7,7 +7,6 @@
|
||||
* which was based on code by Carl van Schaik <carl@ok-labs.com>.
|
||||
*/
|
||||
#include <config.h>
|
||||
#include <common.h>
|
||||
#include <asm/cache.h>
|
||||
|
||||
#include <asm/arch/cpu.h>
|
||||
|
@ -9,7 +9,6 @@
|
||||
* SRAM init for older sunxi SoCs.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <init.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/arch/cpu.h>
|
||||
|
@ -7,7 +7,6 @@
|
||||
* Syed Mohammed Khasim <khasim@ti.com>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
/************************************************************
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright 2013 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <clock_legacy.h>
|
||||
#include <command.h>
|
||||
#include <cpu_func.h>
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright 2013 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <init.h>
|
||||
#include <time.h>
|
||||
#include <asm/global_data.h>
|
||||
|
@ -15,7 +15,6 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <errno.h>
|
||||
#include <log.h>
|
||||
#include <stdio_dev.h>
|
||||
|
@ -8,7 +8,6 @@
|
||||
* needed to enable ARMv7 virtualization for current hypervisors
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <cpu_func.h>
|
||||
#include <asm/armv7.h>
|
||||
#include <asm/cache.h>
|
||||
|
@ -4,7 +4,6 @@
|
||||
* Author(s): Vikas Manocha, <vikas.manocha@st.com> for STMicroelectronics.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <cpu_func.h>
|
||||
#include <errno.h>
|
||||
#include <log.h>
|
||||
|
@ -7,7 +7,6 @@
|
||||
* Kamil Lulko, <kamil.lulko@gmail.com>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <cpu_func.h>
|
||||
#include <irq_func.h>
|
||||
#include <asm/io.h>
|
||||
|
@ -21,7 +21,7 @@
|
||||
* using CFG_SYS_HZ_CLOCK.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <config.h>
|
||||
#include <init.h>
|
||||
#include <time.h>
|
||||
#include <asm/global_data.h>
|
||||
|
@ -191,6 +191,14 @@ config ARMV8_EA_EL3_FIRST
|
||||
Exception handling at all exception levels for External Abort and
|
||||
SError interrupt exception are taken in EL3.
|
||||
|
||||
config ARMV8_UDELAY_EVENT_STREAM
|
||||
bool "Use the event stream for udelay"
|
||||
default y if ARCH_VEXPRESS64
|
||||
help
|
||||
Use the event stream provided by the AArch64 architectural timer for
|
||||
delays. This is more efficient than the default polling
|
||||
implementation.
|
||||
|
||||
menuconfig ARMV8_CRYPTO
|
||||
bool "ARM64 Accelerated Cryptographic Algorithms"
|
||||
|
||||
|
@ -7,7 +7,6 @@
|
||||
* Alexander Graf <agraf@suse.de>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <cpu_func.h>
|
||||
#include <hang.h>
|
||||
#include <log.h>
|
||||
@ -397,6 +396,251 @@ static int count_ranges(void)
|
||||
return count;
|
||||
}
|
||||
|
||||
#define ALL_ATTRS (3 << 8 | PMD_ATTRINDX_MASK)
|
||||
#define PTE_IS_TABLE(pte, level) (pte_type(&(pte)) == PTE_TYPE_TABLE && (level) < 3)
|
||||
|
||||
enum walker_state {
|
||||
WALKER_STATE_START = 0,
|
||||
WALKER_STATE_TABLE,
|
||||
WALKER_STATE_REGION, /* block or page, depending on level */
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* __pagetable_walk() - Walk through the pagetable and call cb() for each memory region
|
||||
*
|
||||
* This is a software implementation of the ARMv8-A MMU translation table walk. As per
|
||||
* section D5.4 of the ARMv8-A Architecture Reference Manual. It recursively walks the
|
||||
* 4 or 3 levels of the page table and calls the callback function for each discrete
|
||||
* region of memory (that being the discovery of a new table, a collection of blocks
|
||||
* with the same attributes, or of pages with the same attributes).
|
||||
*
|
||||
* U-Boot picks the smallest number of virtual address (VA) bits that it can based on the
|
||||
* memory map configured by the board. If this is less than 39 then the MMU will only use
|
||||
* 3 levels of translation instead of 3 - skipping level 0.
|
||||
*
|
||||
* Each level has 512 entries of 64-bits each. Each entry includes attribute bits and
|
||||
* an address. When the attribute bits indicate a table, the address is the physical
|
||||
* address of the table, so we can recursively call _pagetable_walk() on it (after calling
|
||||
* @cb). If instead they indicate a block or page, we record the start address and attributes
|
||||
* and continue walking until we find a region with different attributes, or the end of the
|
||||
* table, in either case we call @cb with the start and end address of the region.
|
||||
*
|
||||
* This approach can be used to fully emulate the MMU's translation table walk, as per
|
||||
* Figure D5-25 of the ARMv8-A Architecture Reference Manual.
|
||||
*
|
||||
* @addr: The address of the table to walk
|
||||
* @tcr: The TCR register value
|
||||
* @level: The current level of the table
|
||||
* @cb: The callback function to call for each region
|
||||
* @priv: Private data to pass to the callback function
|
||||
*/
|
||||
static void __pagetable_walk(u64 addr, u64 tcr, int level, pte_walker_cb_t cb, void *priv)
|
||||
{
|
||||
u64 *table = (u64 *)addr;
|
||||
u64 attrs, last_attrs = 0, last_addr = 0, entry_start = 0;
|
||||
int i;
|
||||
u64 va_bits = 64 - (tcr & (BIT(6) - 1));
|
||||
static enum walker_state state[4] = { 0 };
|
||||
static bool exit;
|
||||
|
||||
if (!level) {
|
||||
exit = false;
|
||||
if (va_bits < 39)
|
||||
level = 1;
|
||||
}
|
||||
|
||||
state[level] = WALKER_STATE_START;
|
||||
|
||||
/* Walk through the table entries */
|
||||
for (i = 0; i < MAX_PTE_ENTRIES; i++) {
|
||||
u64 pte = table[i];
|
||||
u64 _addr = pte & GENMASK_ULL(va_bits, PAGE_SHIFT);
|
||||
|
||||
if (exit)
|
||||
return;
|
||||
|
||||
if (pte_type(&pte) == PTE_TYPE_FAULT)
|
||||
continue;
|
||||
|
||||
attrs = pte & ALL_ATTRS;
|
||||
/* If we're currently inside a block or set of pages */
|
||||
if (state[level] > WALKER_STATE_START && state[level] != WALKER_STATE_TABLE) {
|
||||
/*
|
||||
* Continue walking if this entry has the same attributes as the last and
|
||||
* is one page/block away -- it's a contiguous region.
|
||||
*/
|
||||
if (attrs == last_attrs && _addr == last_addr + (1 << level2shift(level))) {
|
||||
last_attrs = attrs;
|
||||
last_addr = _addr;
|
||||
continue;
|
||||
} else {
|
||||
/* We either hit a table or a new region */
|
||||
exit = cb(entry_start, last_addr + (1 << level2shift(level)),
|
||||
va_bits, level, priv);
|
||||
if (exit)
|
||||
return;
|
||||
state[level] = WALKER_STATE_START;
|
||||
}
|
||||
}
|
||||
last_attrs = attrs;
|
||||
last_addr = _addr;
|
||||
|
||||
if (PTE_IS_TABLE(pte, level)) {
|
||||
/* After the end of the table might be corrupted data */
|
||||
if (!_addr || (pte & 0xfff) > 0x3ff)
|
||||
return;
|
||||
state[level] = WALKER_STATE_TABLE;
|
||||
/* Signify the start of a table */
|
||||
exit = cb(pte, 0, va_bits, level, priv);
|
||||
if (exit)
|
||||
return;
|
||||
|
||||
/* Go down a level */
|
||||
__pagetable_walk(_addr, tcr, level + 1, cb, priv);
|
||||
state[level] = WALKER_STATE_START;
|
||||
} else if (pte_type(&pte) == PTE_TYPE_BLOCK || pte_type(&pte) == PTE_TYPE_PAGE) {
|
||||
/* We foud a block or page, start walking */
|
||||
entry_start = pte;
|
||||
state[level] = WALKER_STATE_REGION;
|
||||
}
|
||||
}
|
||||
|
||||
if (state[level] > WALKER_STATE_START)
|
||||
exit = cb(entry_start, last_addr + (1 << level2shift(level)), va_bits, level, priv);
|
||||
}
|
||||
|
||||
static void pretty_print_pte_type(u64 pte)
|
||||
{
|
||||
switch (pte_type(&pte)) {
|
||||
case PTE_TYPE_FAULT:
|
||||
printf(" %-5s", "Fault");
|
||||
break;
|
||||
case PTE_TYPE_BLOCK:
|
||||
printf(" %-5s", "Block");
|
||||
break;
|
||||
case PTE_TYPE_PAGE:
|
||||
printf(" %-5s", "Pages");
|
||||
break;
|
||||
default:
|
||||
printf(" %-5s", "Unk");
|
||||
}
|
||||
}
|
||||
|
||||
static void pretty_print_table_attrs(u64 pte)
|
||||
{
|
||||
int ap = (pte & PTE_TABLE_AP) >> 61;
|
||||
|
||||
printf(" | %2s %10s",
|
||||
(ap & 2) ? "RO" : "",
|
||||
(ap & 1) ? "!EL0" : "");
|
||||
printf(" | %3s %2s %2s",
|
||||
(pte & PTE_TABLE_PXN) ? "PXN" : "",
|
||||
(pte & PTE_TABLE_XN) ? "XN" : "",
|
||||
(pte & PTE_TABLE_NS) ? "NS" : "");
|
||||
}
|
||||
|
||||
static void pretty_print_block_attrs(u64 pte)
|
||||
{
|
||||
u64 attrs = pte & PMD_ATTRINDX_MASK;
|
||||
|
||||
switch (attrs) {
|
||||
case PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE):
|
||||
printf(" | %-13s", "Device-nGnRnE");
|
||||
break;
|
||||
case PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRE):
|
||||
printf(" | %-13s", "Device-nGnRE");
|
||||
break;
|
||||
case PTE_BLOCK_MEMTYPE(MT_DEVICE_GRE):
|
||||
printf(" | %-13s", "Device-GRE");
|
||||
break;
|
||||
case PTE_BLOCK_MEMTYPE(MT_NORMAL_NC):
|
||||
printf(" | %-13s", "Normal-NC");
|
||||
break;
|
||||
case PTE_BLOCK_MEMTYPE(MT_NORMAL):
|
||||
printf(" | %-13s", "Normal");
|
||||
break;
|
||||
default:
|
||||
printf(" | %-13s", "Unknown");
|
||||
}
|
||||
}
|
||||
|
||||
static void pretty_print_block_memtype(u64 pte)
|
||||
{
|
||||
u64 share = pte & (3 << 8);
|
||||
|
||||
switch (share) {
|
||||
case PTE_BLOCK_NON_SHARE:
|
||||
printf(" | %-16s", "Non-shareable");
|
||||
break;
|
||||
case PTE_BLOCK_OUTER_SHARE:
|
||||
printf(" | %-16s", "Outer-shareable");
|
||||
break;
|
||||
case PTE_BLOCK_INNER_SHARE:
|
||||
printf(" | %-16s", "Inner-shareable");
|
||||
break;
|
||||
default:
|
||||
printf(" | %-16s", "Unknown");
|
||||
}
|
||||
}
|
||||
|
||||
static void print_pte(u64 pte, int level)
|
||||
{
|
||||
if (PTE_IS_TABLE(pte, level)) {
|
||||
printf(" %-5s", "Table");
|
||||
pretty_print_table_attrs(pte);
|
||||
} else {
|
||||
pretty_print_pte_type(pte);
|
||||
pretty_print_block_attrs(pte);
|
||||
pretty_print_block_memtype(pte);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
/**
|
||||
* pagetable_print_entry() - Callback function to print a single pagetable region
|
||||
*
|
||||
* This is the default callback used by @dump_pagetable(). It does some basic pretty
|
||||
* printing (see example in the U-Boot arm64 documentation). It can be replaced by
|
||||
* a custom callback function if more detailed information is needed.
|
||||
*
|
||||
* @start_attrs: The start address and attributes of the region (or table address)
|
||||
* @end: The end address of the region (or 0 if it's a table)
|
||||
* @va_bits: The number of bits used for the virtual address
|
||||
* @level: The level of the region
|
||||
* @priv: Private data for the callback (unused)
|
||||
*/
|
||||
static bool pagetable_print_entry(u64 start_attrs, u64 end, int va_bits, int level, void *priv)
|
||||
{
|
||||
u64 _addr = start_attrs & GENMASK_ULL(va_bits, PAGE_SHIFT);
|
||||
int indent = va_bits < 39 ? level - 1 : level;
|
||||
|
||||
printf("%*s", indent * 2, "");
|
||||
if (PTE_IS_TABLE(start_attrs, level))
|
||||
printf("[%#011llx]%14s", _addr, "");
|
||||
else
|
||||
printf("[%#011llx - %#011llx]", _addr, end);
|
||||
|
||||
printf("%*s | ", (3 - level) * 2, "");
|
||||
print_pte(start_attrs, level);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void walk_pagetable(u64 ttbr, u64 tcr, pte_walker_cb_t cb, void *priv)
|
||||
{
|
||||
__pagetable_walk(ttbr, tcr, 0, cb, priv);
|
||||
}
|
||||
|
||||
void dump_pagetable(u64 ttbr, u64 tcr)
|
||||
{
|
||||
u64 va_bits = 64 - (tcr & (BIT(6) - 1));
|
||||
|
||||
printf("Walking pagetable at %p, va_bits: %lld. Using %d levels\n", (void *)ttbr,
|
||||
va_bits, va_bits < 39 ? 3 : 4);
|
||||
walk_pagetable(ttbr, tcr, pagetable_print_entry, NULL);
|
||||
}
|
||||
|
||||
/* Returns the estimated required size of all page tables */
|
||||
__weak u64 get_page_table_size(void)
|
||||
{
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright 2016 NXP Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/cache.h>
|
||||
#include <asm/psci.h>
|
||||
#include <asm/system.h>
|
||||
|
@ -10,7 +10,6 @@
|
||||
* Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <command.h>
|
||||
#include <cpu_func.h>
|
||||
#include <irq_func.h>
|
||||
|
@ -8,7 +8,6 @@
|
||||
* level before booting an operating system.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <bootm.h>
|
||||
#include <cpu_func.h>
|
||||
#include <log.h>
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Copyright 2014-2015 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <config.h>
|
||||
#include <clock_legacy.h>
|
||||
#include <cpu_func.h>
|
||||
#include <env.h>
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Copyright 2020-2021 NXP
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <config.h>
|
||||
#include <clock_legacy.h>
|
||||
#include <efi_loader.h>
|
||||
#include <log.h>
|
||||
|
@ -3,11 +3,12 @@
|
||||
* Copyright 2015 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <config.h>
|
||||
#include <log.h>
|
||||
#include <asm/io.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/string.h>
|
||||
#include <asm/arch/fsl_serdes.h>
|
||||
#include <asm/arch/soc.h>
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Copyright 2019 NXP.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <config.h>
|
||||
#include <clock_legacy.h>
|
||||
#include <cpu_func.h>
|
||||
#include <asm/global_data.h>
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Copyright 2014-2015 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <config.h>
|
||||
#include <env.h>
|
||||
#include <log.h>
|
||||
#include <asm/io.h>
|
||||
|
@ -6,7 +6,7 @@
|
||||
* Derived from arch/power/cpu/mpc85xx/speed.c
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <config.h>
|
||||
#include <clock_legacy.h>
|
||||
#include <cpu_func.h>
|
||||
#include <asm/global_data.h>
|
||||
|
@ -3,7 +3,7 @@
|
||||
* Copyright 2018 NXP
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <config.h>
|
||||
#include <linux/libfdt.h>
|
||||
#include <fdt_support.h>
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
* Copyright 2016 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <config.h>
|
||||
#include <asm/arch/fsl_serdes.h>
|
||||
#include <asm/arch/immap_lsch2.h>
|
||||
|
||||
|
@ -3,9 +3,9 @@
|
||||
* Copyright 2019 NXP
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <fdt_support.h>
|
||||
#include <log.h>
|
||||
#include <asm/arch/stream_id_lsch3.h>
|
||||
#include <asm/arch-fsl-layerscape/immap_lsch3.h>
|
||||
#include <asm/arch-fsl-layerscape/fsl_icid.h>
|
||||
#include <asm/arch-fsl-layerscape/fsl_portals.h>
|
||||
|
@ -3,7 +3,8 @@
|
||||
* Copyright 2019 NXP
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <config.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <asm/arch/fsl_serdes.h>
|
||||
|
||||
struct serdes_config {
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user