git: 2759a169bd8b - main - sysutils/u-boot-bhyve-arm64: New port

From: Mark Johnston <markj_at_FreeBSD.org>
Date: Fri, 03 Nov 2023 13:49:59 UTC
The branch main has been updated by markj:

URL: https://cgit.FreeBSD.org/ports/commit/?id=2759a169bd8b3ecf209b9f7309a2c4e310918d86

commit 2759a169bd8b3ecf209b9f7309a2c4e310918d86
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2023-11-01 17:25:03 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2023-11-03 13:49:39 +0000

    sysutils/u-boot-bhyve-arm64: New port
    
    This is a port of https://github.com/zxombie/u-boot/tree/bhyvearm64 to
    the version of u-boot in the ports tree.  There is a bhyve arm64 port
    that is close to landing, so now seems like a good time to make the port
    available.
    
    In the longer term we would upstream this platform in some form, but
    since arm64 bhyve is experimental, I think trying to upstream at this
    point is premature.  Of course, we prefer not to carry patches in the
    ports tree when possible, but in this case it seems justified to do so
    for some time, to give users a change to test and report problems.
    
    Approved by:    manu
    Sponsored by:   Innovate UK
    Sponsored by:   Klara, Inc. (hardware)
    Differential Revision:  https://reviews.freebsd.org/D42437
---
 sysutils/Makefile                                  |    1 +
 sysutils/u-boot-bhyve-arm64/Makefile               |   12 +
 .../files/patch-arch_arm_Kconfig                   |   31 +
 .../files/patch-arch_arm_dts_Makefile              |   11 +
 .../files/patch-arch_arm_dts_bhyve-arm64.dts       |   14 +
 .../files/patch-arch_arm_mach-bhyve_Kconfig        |   15 +
 .../files/patch-board_emulation_bhyve-arm_Kconfig  |    9 +
 .../patch-board_emulation_bhyve-arm_MAINTAINERS    |    9 +
 .../files/patch-board_emulation_bhyve-arm_Makefile |    6 +
 .../patch-board_emulation_bhyve-arm_bhyve-arm.c    |  102 ++
 .../files/patch-configs_bhyve__arm64__defconfig    | 1498 ++++++++++++++++++++
 .../files/patch-include_configs_bhyve-arm64.h      |   32 +
 sysutils/u-boot-bhyve-arm64/pkg-descr              |    9 +
 13 files changed, 1749 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index bc0ca6f4acdd..7d567cb16adf 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -1476,6 +1476,7 @@
     SUBDIR += u-boot-bananapi
     SUBDIR += u-boot-bananapim2
     SUBDIR += u-boot-beaglebone
+    SUBDIR += u-boot-bhyve-arm64
     SUBDIR += u-boot-chip
     SUBDIR += u-boot-clearfog
     SUBDIR += u-boot-cubieboard
diff --git a/sysutils/u-boot-bhyve-arm64/Makefile b/sysutils/u-boot-bhyve-arm64/Makefile
new file mode 100644
index 000000000000..380254843ab6
--- /dev/null
+++ b/sysutils/u-boot-bhyve-arm64/Makefile
@@ -0,0 +1,12 @@
+MASTERDIR=	${.CURDIR}/../u-boot-master
+
+MODEL=		bhyve-arm64
+BOARD_CONFIG=	bhyve_arm64_defconfig
+FAMILY=		bhyve
+UBOOT_ARCH=	aarch64
+
+UBOOT_PLIST=	u-boot.bin
+
+EXTRA_PATCHES=	${.CURDIR}/files/
+
+.include "${MASTERDIR}/Makefile"
diff --git a/sysutils/u-boot-bhyve-arm64/files/patch-arch_arm_Kconfig b/sysutils/u-boot-bhyve-arm64/files/patch-arch_arm_Kconfig
new file mode 100644
index 000000000000..ab32ec0dcb87
--- /dev/null
+++ b/sysutils/u-boot-bhyve-arm64/files/patch-arch_arm_Kconfig
@@ -0,0 +1,31 @@
+--- arch/arm/Kconfig.orig	2023-07-11 15:20:44 UTC
++++ arch/arm/Kconfig
+@@ -569,6 +569,11 @@ config ARCH_AT91
+ 	select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB
+ 	select SPL_SEPARATE_BSS if SPL
+ 
++config ARCH_BHYVE
++	bool "FreeBSD bhyve"
++	select ARM64
++	select DM
++
+ config ARCH_DAVINCI
+ 	bool "TI DaVinci"
+ 	select CPU_ARM926EJS
+@@ -2176,6 +2181,8 @@ source "arch/arm/mach-bcmstb/Kconfig"
+ 
+ source "arch/arm/mach-bcmstb/Kconfig"
+ 
++source "arch/arm/mach-bhyve/Kconfig"
++
+ source "arch/arm/mach-davinci/Kconfig"
+ 
+ source "arch/arm/mach-exynos/Kconfig"
+@@ -2301,6 +2308,7 @@ source "board/eets/pdu001/Kconfig"
+ source "board/broadcom/bcmns3/Kconfig"
+ source "board/cavium/thunderx/Kconfig"
+ source "board/eets/pdu001/Kconfig"
++source "board/emulation/bhyve-arm/Kconfig"
+ source "board/emulation/qemu-arm/Kconfig"
+ source "board/freescale/ls2080aqds/Kconfig"
+ source "board/freescale/ls2080ardb/Kconfig"
diff --git a/sysutils/u-boot-bhyve-arm64/files/patch-arch_arm_dts_Makefile b/sysutils/u-boot-bhyve-arm64/files/patch-arch_arm_dts_Makefile
new file mode 100644
index 000000000000..44c882d9d47d
--- /dev/null
+++ b/sysutils/u-boot-bhyve-arm64/files/patch-arch_arm_dts_Makefile
@@ -0,0 +1,11 @@
+--- arch/arm/dts/Makefile.orig	2023-07-11 15:20:44 UTC
++++ arch/arm/dts/Makefile
+@@ -1379,6 +1379,8 @@ dtb-$(CONFIG_TARGET_EA_LPC3250DEVKITV2) += lpc3250-ea3
+ 
+ dtb-$(CONFIG_TARGET_EA_LPC3250DEVKITV2) += lpc3250-ea3250.dtb
+ 
++dtb-$(CONFIG_ARCH_BHYVE) += bhyve-arm64.dtb
++
+ dtb-$(CONFIG_ARCH_QEMU) += qemu-arm.dtb qemu-arm64.dtb
+ 
+ dtb-$(CONFIG_TARGET_CORSTONE1000) += corstone1000-mps3.dtb \
diff --git a/sysutils/u-boot-bhyve-arm64/files/patch-arch_arm_dts_bhyve-arm64.dts b/sysutils/u-boot-bhyve-arm64/files/patch-arch_arm_dts_bhyve-arm64.dts
new file mode 100644
index 000000000000..c724f76f6929
--- /dev/null
+++ b/sysutils/u-boot-bhyve-arm64/files/patch-arch_arm_dts_bhyve-arm64.dts
@@ -0,0 +1,14 @@
+--- arch/arm/dts/bhyve-arm64.dts.orig	2023-11-01 18:14:48 UTC
++++ arch/arm/dts/bhyve-arm64.dts
+@@ -0,0 +1,11 @@
++// SPDX-License-Identifier: GPL-2.0+ OR MIT
++/*
++ * Empty device tree for bhyve_arm64
++
++ * Copyright 2021 Google LLC
++ */
++
++/dts-v1/;
++
++/ {
++};
diff --git a/sysutils/u-boot-bhyve-arm64/files/patch-arch_arm_mach-bhyve_Kconfig b/sysutils/u-boot-bhyve-arm64/files/patch-arch_arm_mach-bhyve_Kconfig
new file mode 100644
index 000000000000..2208670d6e17
--- /dev/null
+++ b/sysutils/u-boot-bhyve-arm64/files/patch-arch_arm_mach-bhyve_Kconfig
@@ -0,0 +1,15 @@
+--- arch/arm/mach-bhyve/Kconfig.orig	2023-11-01 18:14:48 UTC
++++ arch/arm/mach-bhyve/Kconfig
+@@ -0,0 +1,12 @@
++if ARCH_BHYVE
++
++config SYS_VENDOR
++	default "emulation"
++
++config SYS_BOARD
++	default "bhyve-arm"
++
++config SYS_CONFIG_NAME
++	default "bhyve-arm64"
++
++endif
diff --git a/sysutils/u-boot-bhyve-arm64/files/patch-board_emulation_bhyve-arm_Kconfig b/sysutils/u-boot-bhyve-arm64/files/patch-board_emulation_bhyve-arm_Kconfig
new file mode 100644
index 000000000000..9ffd68f79ecc
--- /dev/null
+++ b/sysutils/u-boot-bhyve-arm64/files/patch-board_emulation_bhyve-arm_Kconfig
@@ -0,0 +1,9 @@
+--- board/emulation/bhyve-arm/Kconfig.orig	2023-11-01 18:14:48 UTC
++++ board/emulation/bhyve-arm/Kconfig
+@@ -0,0 +1,6 @@
++if ARCH_BHYVE
++
++config TEXT_BASE
++	default 0x100000000
++
++endif
diff --git a/sysutils/u-boot-bhyve-arm64/files/patch-board_emulation_bhyve-arm_MAINTAINERS b/sysutils/u-boot-bhyve-arm64/files/patch-board_emulation_bhyve-arm_MAINTAINERS
new file mode 100644
index 000000000000..928ef1c3d158
--- /dev/null
+++ b/sysutils/u-boot-bhyve-arm64/files/patch-board_emulation_bhyve-arm_MAINTAINERS
@@ -0,0 +1,9 @@
+--- board/emulation/bhyve-arm/MAINTAINERS.orig	2023-11-01 18:14:48 UTC
++++ board/emulation/bhyve-arm/MAINTAINERS
+@@ -0,0 +1,6 @@
++QEMU ARM 'VIRT' BOARD
++M:	Andrew Turner <andrew@fubar.geek.nz>
++S:	Maintained
++F:	board/emulation/bhyve-arm/
++F:	include/configs/bhyve-arm.h
++F:	configs/bhyve_arm64_defconfig
diff --git a/sysutils/u-boot-bhyve-arm64/files/patch-board_emulation_bhyve-arm_Makefile b/sysutils/u-boot-bhyve-arm64/files/patch-board_emulation_bhyve-arm_Makefile
new file mode 100644
index 000000000000..ca84b769de72
--- /dev/null
+++ b/sysutils/u-boot-bhyve-arm64/files/patch-board_emulation_bhyve-arm_Makefile
@@ -0,0 +1,6 @@
+--- board/emulation/bhyve-arm/Makefile.orig	2023-11-01 18:14:48 UTC
++++ board/emulation/bhyve-arm/Makefile
+@@ -0,0 +1,3 @@
++# SPDX-License-Identifier: GPL-2.0+
++
++obj-y	+= bhyve-arm.o
diff --git a/sysutils/u-boot-bhyve-arm64/files/patch-board_emulation_bhyve-arm_bhyve-arm.c b/sysutils/u-boot-bhyve-arm64/files/patch-board_emulation_bhyve-arm_bhyve-arm.c
new file mode 100644
index 000000000000..9cf46325cc08
--- /dev/null
+++ b/sysutils/u-boot-bhyve-arm64/files/patch-board_emulation_bhyve-arm_bhyve-arm.c
@@ -0,0 +1,102 @@
+--- board/emulation/bhyve-arm/bhyve-arm.c.orig	2023-11-01 18:14:48 UTC
++++ board/emulation/bhyve-arm/bhyve-arm.c
+@@ -0,0 +1,99 @@
++// SPDX-License-Identifier: GPL-2.0+
++/*
++ * Copyright (c) 2017 Tuomas Tynkkynen
++ */
++
++#include <common.h>
++#include <dm.h>
++#include <fdtdec.h>
++#include <virtio.h>
++
++#include <asm/armv8/mmu.h>
++
++DECLARE_GLOBAL_DATA_PTR;
++
++static struct mm_region bhyve_arm64_mem_map[] = {
++	{
++		/* Peripherals */
++		.virt = 0x10000UL,
++		.phys = 0x10000UL,
++		.size = 0x1000UL,
++		.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
++			 PTE_BLOCK_NON_SHARE |
++			 PTE_BLOCK_PXN | PTE_BLOCK_UXN
++	}, {
++		/* GICv3 */
++		.virt = 0x2f000000UL,
++		.phys = 0x2f000000UL,
++		.size = 0x10000UL,
++		.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
++			 PTE_BLOCK_NON_SHARE |
++			 PTE_BLOCK_PXN | PTE_BLOCK_UXN
++	}, {
++		/* GICv3 */
++		.virt = 0x2f100000UL,
++		.phys = 0x2f100000UL,
++		.size = 0x20000UL,
++		.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
++			 PTE_BLOCK_NON_SHARE |
++			 PTE_BLOCK_PXN | PTE_BLOCK_UXN
++	}, {
++		/* PCI */
++		.virt = 0xa0000000UL,
++		.phys = 0xa0000000UL,
++		.size = 0x50000000UL,
++		.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
++			 PTE_BLOCK_NON_SHARE |
++			 PTE_BLOCK_PXN | PTE_BLOCK_UXN
++	}, {
++		/* RAM */
++		.virt = 0x100000000UL,
++		.phys = 0x100000000UL,
++		.size = 252UL * SZ_1G,
++		.attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
++			 PTE_BLOCK_INNER_SHARE
++	}, {
++		/* List terminator */
++		0,
++	}
++};
++
++struct mm_region *mem_map = bhyve_arm64_mem_map;
++
++int board_init(void)
++{
++	return 0;
++}
++
++int board_late_init(void)
++{
++	/*
++	 * Make sure virtio bus is enumerated so that peripherals
++	 * on the virtio bus can be discovered by their drivers
++	 */
++	virtio_init();
++
++	return 0;
++}
++
++int dram_init(void)
++{
++	if (fdtdec_setup_mem_size_base() != 0)
++		return -EINVAL;
++
++	return 0;
++}
++
++int dram_init_banksize(void)
++{
++	fdtdec_setup_memory_banksize();
++
++	return 0;
++}
++
++void *board_fdt_blob_setup(int *err)
++{
++	*err = 0;
++	/* XXX: Pass in the address from the host */
++	return (void *)0x100100000;
++}
diff --git a/sysutils/u-boot-bhyve-arm64/files/patch-configs_bhyve__arm64__defconfig b/sysutils/u-boot-bhyve-arm64/files/patch-configs_bhyve__arm64__defconfig
new file mode 100644
index 000000000000..8a2bfad53b89
--- /dev/null
+++ b/sysutils/u-boot-bhyve-arm64/files/patch-configs_bhyve__arm64__defconfig
@@ -0,0 +1,1498 @@
+--- configs/bhyve_arm64_defconfig.orig	2023-11-01 18:14:48 UTC
++++ configs/bhyve_arm64_defconfig
+@@ -0,0 +1,1495 @@
++#
++# Automatically generated file; DO NOT EDIT.
++# U-Boot 2023.07.02 Configuration
++#
++
++#
++# Compiler: gcc (FreeBSD Ports Collection) 12.2.0
++#
++CONFIG_CREATE_ARCH_SYMLINK=y
++CONFIG_SYS_CACHE_SHIFT_6=y
++CONFIG_SYS_CACHELINE_SIZE=64
++CONFIG_LINKER_LIST_ALIGN=8
++# CONFIG_ARC is not set
++CONFIG_ARM=y
++# CONFIG_M68K is not set
++# CONFIG_MICROBLAZE is not set
++# CONFIG_MIPS is not set
++# CONFIG_NIOS2 is not set
++# CONFIG_PPC is not set
++# CONFIG_RISCV is not set
++# CONFIG_SANDBOX is not set
++# CONFIG_SH is not set
++# CONFIG_X86 is not set
++# CONFIG_XTENSA is not set
++CONFIG_SYS_ARCH="arm"
++CONFIG_SYS_CPU="armv8"
++CONFIG_SYS_VENDOR="emulation"
++CONFIG_SYS_BOARD="bhyve-arm"
++CONFIG_SYS_CONFIG_NAME="bhyve-arm64"
++
++#
++# Skipping low level initialization functions
++#
++# CONFIG_SKIP_LOWLEVEL_INIT is not set
++# CONFIG_SKIP_LOWLEVEL_INIT_ONLY is not set
++# CONFIG_SYS_ICACHE_OFF is not set
++# CONFIG_SYS_DCACHE_OFF is not set
++
++#
++# ARM architecture
++#
++CONFIG_ARM64=y
++CONFIG_ARM64_CRC32=y
++CONFIG_COUNTER_FREQUENCY=0
++# CONFIG_POSITION_INDEPENDENT is not set
++# CONFIG_INIT_SP_RELATIVE is not set
++# CONFIG_GIC_V3_ITS is not set
++CONFIG_STATIC_RELA=y
++CONFIG_DMA_ADDR_T_64BIT=y
++CONFIG_ARM_ASM_UNIFIED=y
++# CONFIG_SYS_ARM_CACHE_CP15 is not set
++# CONFIG_SYS_ARM_MMU is not set
++# CONFIG_SYS_ARM_MPU is not set
++CONFIG_SYS_ARM_ARCH=8
++CONFIG_SYS_ARM_CACHE_WRITEBACK=y
++# CONFIG_SYS_ARM_CACHE_WRITETHROUGH is not set
++# CONFIG_SYS_ARM_CACHE_WRITEALLOC is not set
++# CONFIG_ARCH_CPU_INIT is not set
++CONFIG_SYS_ARCH_TIMER=y
++CONFIG_ARM_SMCCC=y
++# CONFIG_SYS_L2_PL310 is not set
++# CONFIG_SPL_SYS_L2_PL310 is not set
++# CONFIG_SYS_L2CACHE_OFF is not set
++# CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK is not set
++# CONFIG_USE_ARCH_MEMCPY is not set
++# CONFIG_USE_ARCH_MEMSET is not set
++CONFIG_ARM64_SUPPORT_AARCH32=y
++# CONFIG_ARCH_AT91 is not set
++CONFIG_ARCH_BHYVE=y
++# CONFIG_ARCH_DAVINCI is not set
++# CONFIG_ARCH_HISTB is not set
++# CONFIG_ARCH_KIRKWOOD is not set
++# CONFIG_ARCH_MVEBU is not set
++# CONFIG_ARCH_ORION5X is not set
++# CONFIG_TARGET_STV0991 is not set
++# CONFIG_ARCH_BCM283X is not set
++# CONFIG_ARCH_BCMSTB is not set
++# CONFIG_ARCH_BCMBCA is not set
++# CONFIG_TARGET_VEXPRESS_CA9X4 is not set
++# CONFIG_TARGET_BCMCYGNUS is not set
++# CONFIG_TARGET_BCMNS is not set
++# CONFIG_TARGET_BCMNS2 is not set
++# CONFIG_TARGET_BCMNS3 is not set
++# CONFIG_ARCH_EXYNOS is not set
++# CONFIG_ARCH_S5PC1XX is not set
++# CONFIG_ARCH_HIGHBANK is not set
++# CONFIG_ARCH_INTEGRATOR is not set
++# CONFIG_ARCH_IPQ40XX is not set
++# CONFIG_ARCH_KEYSTONE is not set
++# CONFIG_ARCH_K3 is not set
++# CONFIG_ARCH_OMAP2PLUS is not set
++# CONFIG_ARCH_MESON is not set
++# CONFIG_ARCH_MEDIATEK is not set
++# CONFIG_ARCH_LPC32XX is not set
++# CONFIG_ARCH_IMX8 is not set
++# CONFIG_ARCH_IMX8M is not set
++# CONFIG_ARCH_IMX8ULP is not set
++# CONFIG_ARCH_IMX9 is not set
++# CONFIG_ARCH_IMXRT is not set
++# CONFIG_ARCH_MX23 is not set
++# CONFIG_ARCH_MX28 is not set
++# CONFIG_ARCH_MX31 is not set
++# CONFIG_ARCH_MX7ULP is not set
++# CONFIG_ARCH_MX7 is not set
++# CONFIG_ARCH_MX6 is not set
++# CONFIG_ARCH_MX5 is not set
++# CONFIG_ARCH_NEXELL is not set
++# CONFIG_ARCH_NPCM is not set
++# CONFIG_ARCH_APPLE is not set
++# CONFIG_ARCH_OWL is not set
++# CONFIG_ARCH_QEMU is not set
++# CONFIG_ARCH_RMOBILE is not set
++# CONFIG_ARCH_SNAPDRAGON is not set
++# CONFIG_ARCH_SOCFPGA is not set
++# CONFIG_ARCH_SUNXI is not set
++# CONFIG_ARCH_U8500 is not set
++# CONFIG_ARCH_VERSAL is not set
++# CONFIG_ARCH_VERSAL_NET is not set
++# CONFIG_ARCH_VF610 is not set
++# CONFIG_ARCH_ZYNQ is not set
++# CONFIG_ARCH_ZYNQMP_R5 is not set
++# CONFIG_ARCH_ZYNQMP is not set
++# CONFIG_ARCH_TEGRA is not set
++# CONFIG_ARCH_VEXPRESS64 is not set
++# CONFIG_TARGET_CORSTONE1000 is not set
++# CONFIG_TARGET_TOTAL_COMPUTE is not set
++# CONFIG_TARGET_LS2080A_EMU is not set
++# CONFIG_TARGET_LS1088AQDS is not set
++# CONFIG_TARGET_LS2080AQDS is not set
++# CONFIG_TARGET_LS2080ARDB is not set
++# CONFIG_TARGET_LS2081ARDB is not set
++# CONFIG_TARGET_LX2160ARDB is not set
++# CONFIG_TARGET_LX2160AQDS is not set
++# CONFIG_TARGET_LX2162AQDS is not set
++# CONFIG_TARGET_HIKEY is not set
++# CONFIG_TARGET_HIKEY960 is not set
++# CONFIG_TARGET_POPLAR is not set
++# CONFIG_TARGET_LS1012AQDS is not set
++# CONFIG_TARGET_LS1012ARDB is not set
++# CONFIG_TARGET_LS1012A2G5RDB is not set
++# CONFIG_TARGET_LS1012AFRWY is not set
++# CONFIG_TARGET_LS1012AFRDM is not set
++# CONFIG_TARGET_LS1028AQDS is not set
++# CONFIG_TARGET_LS1028ARDB is not set
++# CONFIG_TARGET_LS1088ARDB is not set
++# CONFIG_TARGET_LS1021AQDS is not set
++# CONFIG_TARGET_LS1021ATWR is not set
++# CONFIG_TARGET_PG_WCOM_SELI8 is not set
++# CONFIG_TARGET_PG_WCOM_EXPU1 is not set
++# CONFIG_TARGET_LS1021ATSN is not set
++# CONFIG_TARGET_LS1021AIOT is not set
++# CONFIG_TARGET_LS1043AQDS is not set
++# CONFIG_TARGET_LS1043ARDB is not set
++# CONFIG_TARGET_LS1046AQDS is not set
++# CONFIG_TARGET_LS1046ARDB is not set
++# CONFIG_TARGET_LS1046AFRWY is not set
++# CONFIG_TARGET_SL28 is not set
++# CONFIG_TARGET_TEN64 is not set
++# CONFIG_ARCH_UNIPHIER is not set
++# CONFIG_ARCH_SYNQUACER is not set
++# CONFIG_ARCH_STM32 is not set
++# CONFIG_ARCH_STI is not set
++# CONFIG_ARCH_STM32MP is not set
++# CONFIG_ARCH_ROCKCHIP is not set
++# CONFIG_ARCH_OCTEONTX is not set
++# CONFIG_ARCH_OCTEONTX2 is not set
++# CONFIG_TARGET_THUNDERX_88XX is not set
++# CONFIG_ARCH_ASPEED is not set
++# CONFIG_TARGET_DURIAN is not set
++# CONFIG_TARGET_POMELO is not set
++# CONFIG_TARGET_PRESIDIO_ASIC is not set
++# CONFIG_TARGET_XENGUEST_ARM64 is not set
++# CONFIG_ARCH_GXP is not set
++# CONFIG_STATIC_MACH_TYPE is not set
++CONFIG_TEXT_BASE=0x100000000
++CONFIG_SYS_MALLOC_LEN=0x400000
++CONFIG_SYS_MALLOC_F_LEN=0x2000
++CONFIG_NR_DRAM_BANKS=4
++CONFIG_ENV_SOURCE_FILE=""
++CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
++CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x100200000
++CONFIG_ENV_SIZE=0x1f000
++# CONFIG_DM_GPIO is not set
++CONFIG_DEFAULT_DEVICE_TREE="bhyve-arm64"
++CONFIG_SYS_PROMPT="=> "
++# CONFIG_OF_LIBFDT_OVERLAY is not set
++CONFIG_MULTI_DTB_FIT_UNCOMPRESS_SZ=0x8000
++# CONFIG_DM_RESET is not set
++CONFIG_SYS_MONITOR_LEN=0
++CONFIG_ERR_PTR_OFFSET=0x0
++CONFIG_BOOTSTAGE_STASH_ADDR=0x0
++CONFIG_IDENT_STRING=""
++CONFIG_SYS_CLK_FREQ=0
++# CONFIG_CHIP_DIP_SCAN is not set
++# CONFIG_CMO_BY_VA_ONLY is not set
++# CONFIG_ARMV8_MULTIENTRY is not set
++# CONFIG_ARMV8_SET_SMPEN is not set
++# CONFIG_ARMV8_SWITCH_TO_EL1 is not set
++
++#
++# ARMv8 secure monitor firmware
++#
++# CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT is not set
++CONFIG_PSCI_RESET=y
++# CONFIG_ARMV8_PSCI is not set
++# CONFIG_ARMV8_EA_EL3_FIRST is not set
++# CONFIG_ARMV8_CRYPTO is not set
++# CONFIG_CMD_DEKBLOB is not set
++# CONFIG_IMX_CAAM_DEK_ENCAP is not set
++# CONFIG_IMX_OPTEE_DEK_ENCAP is not set
++# CONFIG_IMX_SECO_DEK_ENCAP is not set
++# CONFIG_CMD_HDMIDETECT is not set
++CONFIG_IMX_DCD_ADDR=0x00910000
++CONFIG_SYS_MEM_TOP_HIDE=0x0
++CONFIG_SYS_LOAD_ADDR=0x100000000
++
++#
++# ARM debug
++#
++CONFIG_BUILD_TARGET=""
++# CONFIG_SYS_PCI_64BIT is not set
++CONFIG_PCI=y
++CONFIG_FWU_NUM_BANKS=2
++CONFIG_FWU_NUM_IMAGES_PER_BANK=2
++# CONFIG_DEBUG_UART is not set
++# CONFIG_AHCI is not set
++# CONFIG_OF_BOARD_FIXUP is not set
++
++#
++# Functionality shared between NXP SoCs
++#
++# CONFIG_NXP_ESBC is not set
++
++#
++# General setup
++#
++CONFIG_LOCALVERSION=""
++CONFIG_LOCALVERSION_AUTO=y
++CONFIG_CC_IS_GCC=y
++CONFIG_GCC_VERSION=120200
++CONFIG_CLANG_VERSION=0
++CONFIG_CC_OPTIMIZE_FOR_SIZE=y
++# CONFIG_CC_OPTIMIZE_FOR_SPEED is not set
++# CONFIG_CC_OPTIMIZE_FOR_DEBUG is not set
++# CONFIG_OPTIMIZE_INLINING is not set
++CONFIG_ARCH_SUPPORTS_LTO=y
++# CONFIG_LTO is not set
++CONFIG_CC_HAS_ASM_INLINE=y
++# CONFIG_XEN is not set
++CONFIG_ENV_VARS_UBOOT_CONFIG=y
++# CONFIG_SYS_BOOT_GET_CMDLINE is not set
++# CONFIG_SYS_BOOT_GET_KBD is not set
++CONFIG_SYS_MALLOC_F=y
++# CONFIG_VALGRIND is not set
++CONFIG_EXPERT=y
++CONFIG_SYS_MALLOC_CLEAR_ON_INIT=y
++# CONFIG_SYS_MALLOC_DEFAULT_TO_INIT is not set
++# CONFIG_TOOLS_DEBUG is not set
++CONFIG_PHYS_64BIT=y
++CONFIG_FDT_64BIT=y
++# CONFIG_REMAKE_ELF is not set
++# CONFIG_HAS_BOARD_SIZE_LIMIT is not set
++# CONFIG_SYS_CUSTOM_LDSCRIPT is not set
++CONFIG_PLATFORM_ELFENTRY="_start"
++CONFIG_STACK_SIZE=0x1000000
++CONFIG_SYS_SRAM_BASE=0x0
++CONFIG_SYS_SRAM_SIZE=0x0
++# CONFIG_MP is not set
++# CONFIG_API is not set
++
++#
++# Boot options
++#
++
++#
++# Boot images
++#
++# CONFIG_ANDROID_BOOT_IMAGE is not set
++# CONFIG_FIT is not set
++# CONFIG_TIMESTAMP is not set
++CONFIG_PXE_UTILS=y
++CONFIG_BOOT_DEFAULTS=y
++CONFIG_BOOTSTD=y
++# CONFIG_BOOTSTD_FULL is not set
++# CONFIG_BOOTSTD_DEFAULTS is not set
++CONFIG_BOOTSTD_BOOTCOMMAND=y
++CONFIG_BOOTMETH_GLOBAL=y
++CONFIG_BOOTMETH_EXTLINUX=y
++CONFIG_BOOTMETH_EXTLINUX_PXE=y
++CONFIG_BOOTMETH_EFILOADER=y
++# CONFIG_BOOTMETH_SCRIPT is not set
++CONFIG_LEGACY_IMAGE_FORMAT=y
++CONFIG_SUPPORT_RAW_INITRD=y
++# CONFIG_OF_BOARD_SETUP is not set
++# CONFIG_OF_SYSTEM_SETUP is not set
++# CONFIG_OF_STDOUT_VIA_ALIAS is not set
++CONFIG_HAVE_TEXT_BASE=y
++# CONFIG_DYNAMIC_SYS_CLK_FREQ is not set
++CONFIG_ARCH_FIXUP_FDT_MEMORY=y
++# CONFIG_CHROMEOS is not set
++# CONFIG_CHROMEOS_VBOOT is not set
++# CONFIG_RAMBOOT_PBL is not set
++CONFIG_SYS_BOOT_RAMDISK_HIGH=y
++CONFIG_DISTRO_DEFAULTS=y
++
++#
++# Boot timing
++#
++# CONFIG_BOOTSTAGE is not set
++CONFIG_BOOTSTAGE_STASH_SIZE=0x1000
++# CONFIG_SHOW_BOOT_PROGRESS is not set
++
++#
++# Boot media
++#
++# CONFIG_NAND_BOOT is not set
++# CONFIG_ONENAND_BOOT is not set
++# CONFIG_QSPI_BOOT is not set
++# CONFIG_SATA_BOOT is not set
++# CONFIG_SD_BOOT is not set
++# CONFIG_SD_BOOT_QSPI is not set
++# CONFIG_SPI_BOOT is not set
++
++#
++# Autoboot options
++#
++CONFIG_AUTOBOOT=y
++CONFIG_BOOTDELAY=2
++# CONFIG_AUTOBOOT_KEYED is not set
++# CONFIG_AUTOBOOT_USE_MENUKEY is not set
++# CONFIG_BOOT_RETRY is not set
++
++#
++# Image support
++#
++# CONFIG_IMAGE_PRE_LOAD is not set
++# CONFIG_USE_BOOTARGS is not set
++# CONFIG_BOOTARGS_SUBST is not set
++CONFIG_USE_BOOTCOMMAND=y
++CONFIG_BOOTCOMMAND="run distro_bootcmd"
++# CONFIG_USE_PREBOOT is not set
++CONFIG_DEFAULT_FDT_FILE=""
++# CONFIG_SAVE_PREV_BL_FDT_ADDR is not set
++# CONFIG_SAVE_PREV_BL_INITRAMFS_START_ADDR is not set
++
++#
++# Console
++#
++CONFIG_MENU=y
++# CONFIG_CONSOLE_RECORD is not set
++# CONFIG_DISABLE_CONSOLE is not set
++CONFIG_LOGLEVEL=4
++# CONFIG_SILENT_CONSOLE is not set
++# CONFIG_SPL_SILENT_CONSOLE is not set
++# CONFIG_TPL_SILENT_CONSOLE is not set
++# CONFIG_PRE_CONSOLE_BUFFER is not set
++CONFIG_CONSOLE_FLUSH_SUPPORT=y
++# CONFIG_CONSOLE_MUX is not set
++# CONFIG_SYS_CONSOLE_IS_IN_ENV is not set
++# CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE is not set
++# CONFIG_SYS_CONSOLE_ENV_OVERWRITE is not set
++# CONFIG_SYS_CONSOLE_INFO_QUIET is not set
++# CONFIG_SYS_STDIO_DEREGISTER is not set
++# CONFIG_SPL_SYS_STDIO_DEREGISTER is not set
++# CONFIG_SYS_DEVICE_NULLDEV is not set
++
++#
++# Logging
++#
++# CONFIG_LOG is not set
++
++#
++# Init options
++#
++# CONFIG_BOARD_TYPES is not set
++# CONFIG_DISPLAY_CPUINFO is not set
++# CONFIG_DISPLAY_BOARDINFO is not set
++# CONFIG_DISPLAY_BOARDINFO_LATE is not set
++
++#
++# Start-up hooks
++#
++# CONFIG_CYCLIC is not set
++CONFIG_EVENT=y
++CONFIG_EVENT_DYNAMIC=y
++# CONFIG_EVENT_DEBUG is not set
++# CONFIG_ARCH_MISC_INIT is not set
++# CONFIG_BOARD_EARLY_INIT_F is not set
++# CONFIG_BOARD_EARLY_INIT_R is not set
++# CONFIG_BOARD_POSTCLK_INIT is not set
++# CONFIG_BOARD_LATE_INIT is not set
++# CONFIG_CLOCKS is not set
++# CONFIG_HWCONFIG is not set
++# CONFIG_LAST_STAGE_INIT is not set
++# CONFIG_MISC_INIT_R is not set
++# CONFIG_SYS_MALLOC_BOOTPARAMS is not set
++# CONFIG_ID_EEPROM is not set
++# CONFIG_PCI_INIT_R is not set
++# CONFIG_RESET_PHY_R is not set
++
++#
++# Security support
++#
++CONFIG_HASH=y
++# CONFIG_STACKPROTECTOR is not set
++# CONFIG_BOARD_RNG_SEED is not set
++
++#
++# Update support
++#
++# CONFIG_ANDROID_AB is not set
++
++#
++# Blob list
++#
++# CONFIG_BLOBLIST is not set
++# CONFIG_FDT_SIMPLEFB is not set
++# CONFIG_BMP is not set
++
++#
++# Command line interface
++#
++CONFIG_CMDLINE=y
++CONFIG_HUSH_PARSER=y
++CONFIG_CMDLINE_EDITING=y
++# CONFIG_CMDLINE_PS_SUPPORT is not set
++CONFIG_AUTO_COMPLETE=y
++CONFIG_SYS_LONGHELP=y
++CONFIG_SYS_PROMPT_HUSH_PS2="> "
++CONFIG_SYS_MAXARGS=16
++CONFIG_SYS_CBSIZE=1024
++CONFIG_SYS_PBSIZE=1044
++CONFIG_SYS_XTRACE=y
++
++#
++# Commands
++#
++
++#
++# Info commands
++#
++CONFIG_CMD_BDI=y
++# CONFIG_CMD_CONFIG is not set
++CONFIG_CMD_CONSOLE=y
++# CONFIG_CMD_LICENSE is not set
++# CONFIG_CMD_PMC is not set
++
++#
++# Boot commands
++#
++CONFIG_CMD_BOOTD=y
++CONFIG_CMD_BOOTM=y
++# CONFIG_CMD_BOOTDEV is not set
++CONFIG_CMD_BOOTFLOW=y
++# CONFIG_CMD_BOOTMETH is not set
++# CONFIG_CMD_BOOTZ is not set
++CONFIG_CMD_BOOTI=y
++CONFIG_BOOTM_LINUX=y
++CONFIG_BOOTM_NETBSD=y
++# CONFIG_BOOTM_OPENRTOS is not set
++# CONFIG_BOOTM_OSE is not set
++CONFIG_BOOTM_PLAN9=y
++CONFIG_BOOTM_RTEMS=y
++CONFIG_BOOTM_VXWORKS=y
++CONFIG_SYS_BOOTM_LEN=0x4000000
++CONFIG_CMD_BOOTEFI=y
++CONFIG_CMD_BOOTEFI_HELLO_COMPILE=y
++# CONFIG_CMD_BOOTEFI_HELLO is not set
++# CONFIG_CMD_BOOTEFI_SELFTEST is not set
++# CONFIG_CMD_BOOTMENU is not set
++# CONFIG_CMD_ADTIMG is not set
++CONFIG_CMD_ELF=y
++CONFIG_CMD_FDT=y
++CONFIG_CMD_GO=y
++CONFIG_CMD_RUN=y
++CONFIG_CMD_IMI=y
++# CONFIG_CMD_IMLS is not set
++CONFIG_CMD_XIMG=y
++# CONFIG_CMD_XXD is not set
++# CONFIG_CMD_THOR_DOWNLOAD is not set
++# CONFIG_CMD_ZBOOT is not set
++
++#
++# Environment commands
++#
++# CONFIG_CMD_ASKENV is not set
++CONFIG_CMD_EXPORTENV=y
++CONFIG_CMD_IMPORTENV=y
++CONFIG_CMD_EDITENV=y
++# CONFIG_CMD_GREPENV is not set
++CONFIG_CMD_SAVEENV=y
++# CONFIG_CMD_ERASEENV is not set
++CONFIG_CMD_ENV_EXISTS=y
++# CONFIG_CMD_ENV_CALLBACK is not set
++# CONFIG_CMD_ENV_FLAGS is not set
++# CONFIG_CMD_NVEDIT_EFI is not set
++# CONFIG_CMD_NVEDIT_INDIRECT is not set
++# CONFIG_CMD_NVEDIT_INFO is not set
++# CONFIG_CMD_NVEDIT_LOAD is not set
++# CONFIG_CMD_NVEDIT_SELECT is not set
++
++#
++# Memory commands
++#
++# CONFIG_CMD_BINOP is not set
++# CONFIG_CMD_BLOBLIST is not set
++CONFIG_CMD_CRC32=y
++# CONFIG_CRC32_VERIFY is not set
++# CONFIG_CMD_EEPROM is not set
++# CONFIG_LOOPW is not set
++# CONFIG_CMD_MD5SUM is not set
++# CONFIG_CMD_MEMINFO is not set
++CONFIG_CMD_MEMORY=y
++# CONFIG_CMD_MEM_SEARCH is not set
++# CONFIG_CMD_MX_CYCLIC is not set
++CONFIG_CMD_RANDOM=y
++# CONFIG_CMD_MEMTEST is not set
++# CONFIG_CMD_SHA1SUM is not set
++# CONFIG_CMD_STRINGS is not set
++
++#
++# Compression commands
++#
++CONFIG_CMD_LZMADEC=y
++CONFIG_CMD_UNLZ4=y
++CONFIG_CMD_UNZIP=y
++# CONFIG_CMD_ZIP is not set
++
++#
++# Device access commands
++#
++# CONFIG_CMD_ARMFLASH is not set
++# CONFIG_CMD_BCB is not set
++# CONFIG_CMD_BIND is not set
++# CONFIG_CMD_CLK is not set
++# CONFIG_CMD_DEMO is not set
++# CONFIG_CMD_DFU is not set
++CONFIG_CMD_DM=y
++# CONFIG_CMD_FPGAD is not set
++# CONFIG_CMD_FUSE is not set
++# CONFIG_CMD_GPIO is not set
++# CONFIG_CMD_GPT is not set
++# CONFIG_RANDOM_UUID is not set
++# CONFIG_CMD_IDE is not set
++# CONFIG_CMD_IO is not set
++# CONFIG_CMD_IOTRACE is not set
++# CONFIG_CMD_I2C is not set
++CONFIG_CMD_LOADB=y
++# CONFIG_CMD_LOADM is not set
++CONFIG_CMD_LOADS=y
++# CONFIG_LOADS_ECHO is not set
++# CONFIG_CMD_SAVES is not set
++# CONFIG_SYS_LOADS_BAUD_CHANGE is not set
++CONFIG_CMD_LOADXY_TIMEOUT=90
++# CONFIG_CMD_LSBLK is not set
++# CONFIG_CMD_MBR is not set
++# CONFIG_CMD_MMC is not set
++# CONFIG_CMD_CLONE is not set
++# CONFIG_CMD_OSD is not set
++CONFIG_CMD_PART=y
++CONFIG_CMD_PCI=y
++# CONFIG_CMD_PCI_MPS is not set
++CONFIG_CMD_POWEROFF=y
++# CONFIG_CMD_READ is not set
++# CONFIG_CMD_SATA is not set
++# CONFIG_CMD_SDRAM is not set
++# CONFIG_CMD_TSI148 is not set
++# CONFIG_CMD_UNIVERSE is not set
++# CONFIG_CMD_USB_SDP is not set
++CONFIG_CMD_VIRTIO=y
++# CONFIG_CMD_WRITE is not set
++
++#
++# Shell scripting commands
++#
++# CONFIG_CMD_CAT is not set
++CONFIG_CMD_ECHO=y
++CONFIG_CMD_ITEST=y
++CONFIG_CMD_SOURCE=y
++CONFIG_CMD_SETEXPR=y
++# CONFIG_CMD_SETEXPR_FMT is not set
++
++#
++# Android support commands
++#
++CONFIG_CMD_NET=y
++CONFIG_CMD_BOOTP=y
++CONFIG_CMD_DHCP=y
++# CONFIG_BOOTP_MAY_FAIL is not set
++CONFIG_BOOTP_BOOTPATH=y
++# CONFIG_BOOTP_VENDOREX is not set
++# CONFIG_BOOTP_BOOTFILESIZE is not set
++CONFIG_BOOTP_DNS=y
++# CONFIG_BOOTP_DNS2 is not set
++CONFIG_BOOTP_GATEWAY=y
++CONFIG_BOOTP_HOSTNAME=y
++# CONFIG_BOOTP_PREFER_SERVERIP is not set
++CONFIG_BOOTP_SUBNETMASK=y
++# CONFIG_BOOTP_NISDOMAIN is not set
++# CONFIG_BOOTP_NTPSERVER is not set
++# CONFIG_CMD_PCAP is not set
++CONFIG_BOOTP_PXE=y
++CONFIG_BOOTP_PXE_CLIENTARCH=0x16
++CONFIG_BOOTP_VCI_STRING="U-Boot.armv8"
++CONFIG_CMD_TFTPBOOT=y
++# CONFIG_CMD_TFTPPUT is not set
++# CONFIG_CMD_TFTPSRV is not set
++CONFIG_NET_TFTP_VARS=y
++# CONFIG_CMD_RARP is not set
++CONFIG_CMD_NFS=y
++CONFIG_NFS_TIMEOUT=2000
++# CONFIG_SYS_DISABLE_AUTOLOAD is not set
++# CONFIG_CMD_WGET is not set
++# CONFIG_CMD_MII is not set
++CONFIG_CMD_PING=y
++# CONFIG_CMD_CDP is not set
++# CONFIG_CMD_SNTP is not set
++# CONFIG_CMD_DNS is not set
++# CONFIG_CMD_LINK_LOCAL is not set
++# CONFIG_CMD_ETHSW is not set
++CONFIG_CMD_PXE=y
++# CONFIG_CMD_WOL is not set
++
++#
++# Misc commands
++#
++# CONFIG_CMD_2048 is not set
++# CONFIG_CMD_BSP is not set
++CONFIG_CMD_BLOCK_CACHE=y
++# CONFIG_CMD_CACHE is not set
++# CONFIG_CMD_CONITRACE is not set
++# CONFIG_CMD_CLS is not set
++# CONFIG_CMD_EFIDEBUG is not set
++CONFIG_CMD_EFICONFIG=y
++# CONFIG_CMD_EXCEPTION is not set
++# CONFIG_CMD_INI is not set
++# CONFIG_CMD_DATE is not set
++# CONFIG_CMD_TIME is not set
++# CONFIG_CMD_GETTIME is not set
++# CONFIG_CMD_PAUSE is not set
++CONFIG_CMD_SLEEP=y
++# CONFIG_CMD_TIMER is not set
++CONFIG_CMD_SYSBOOT=y
++# CONFIG_CMD_QFW is not set
++# CONFIG_CMD_PSTORE is not set
++# CONFIG_CMD_TERMINAL is not set
++# CONFIG_CMD_UUID is not set
++
++#
++# TI specific command line interface
++#
++# CONFIG_CMD_DDR3 is not set
++
++#
++# Power commands
++#
++
++#
++# Security commands
*** 889 LINES SKIPPED ***