Skip to content

Commit f5c46ba

Browse files
committed
Merge branch 'CA/a3f/efi'
2 parents 3366e9e + f9c860a commit f5c46ba

16 files changed

Lines changed: 1335 additions & 223 deletions

File tree

arch/arm/configs/efi_v8_defconfig

Lines changed: 266 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,266 @@
1+
CONFIG_64BIT=y
2+
CONFIG_CPU_V8=y
3+
CONFIG_MMU=y
4+
CONFIG_MALLOC_SIZE=0x0
5+
CONFIG_NAME="efi_v8_defconfig"
6+
CONFIG_EFI_PAYLOAD=y
7+
CONFIG_FS_EFI=y
8+
CONFIG_FS_EFIVARFS=y
9+
CONFIG_DRIVER_SERIAL_EFI_STDIO=y
10+
CONFIG_EFI_BLK=y
11+
CONFIG_EFI_BLK_SEPARATE_USBDISK=y
12+
CONFIG_WATCHDOG_EFI=y
13+
CONFIG_HW_RANDOM_EFI=y
14+
CONFIG_I2C_EFI=y
15+
CONFIG_VIDEO=y
16+
CONFIG_DRIVER_VIDEO_EFI_GOP=y
17+
CONFIG_CLOCKSOURCE_EFI=y
18+
CONFIG_SERIAL_EFI_STDIO=y
19+
CONFIG_CMD_EFI_HANDLE_DUMP=y
20+
CONFIG_BOOTM_FITIMAGE=y
21+
CONFIG_PROMPT_HUSH_PS2="y"
22+
CONFIG_CMDLINE_EDITING=y
23+
CONFIG_BOOTM_SHOW_TYPE=y
24+
CONFIG_BOOTM_VERBOSE=y
25+
CONFIG_CONSOLE_ACTIVATE_ALL=y
26+
CONFIG_CONSOLE_ALLOW_COLOR=y
27+
CONFIG_PBL_CONSOLE=y
28+
CONFIG_PROMPT="barebox> "
29+
CONFIG_HUSH_FANCY_PROMPT=y
30+
CONFIG_AUTO_COMPLETE=y
31+
CONFIG_PARTITION_DISK_EFI=y
32+
CONFIG_MENU=y
33+
CONFIG_BOOTM_INITRD=y
34+
CONFIG_BOOTM_OFTREE=y
35+
CONFIG_BLSPEC=y
36+
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
37+
CONFIG_ARM_PSCI_CLIENT=y
38+
CONFIG_KALLSYMS=y
39+
CONFIG_BOOTM_AIMAGE=y
40+
CONFIG_BLSPEC=y
41+
CONFIG_CONSOLE_ACTIVATE_ALL_FALLBACK=y
42+
CONFIG_CONSOLE_RATP=y
43+
CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW=y
44+
CONFIG_STATE=y
45+
CONFIG_BOOTCHOOSER=y
46+
CONFIG_RESET_SOURCE=y
47+
CONFIG_MACHINE_ID=y
48+
CONFIG_FASTBOOT_SPARSE=y
49+
CONFIG_CMD_DMESG=y
50+
CONFIG_LONGHELP=y
51+
CONFIG_CMD_IOMEM=y
52+
CONFIG_CMD_IMD=y
53+
CONFIG_CMD_MEMINFO=y
54+
CONFIG_CMD_ARM_MMUINFO=y
55+
CONFIG_CMD_REGULATOR=y
56+
CONFIG_CMD_BFETCH=y
57+
CONFIG_CMD_MMC_EXTCSD=y
58+
CONFIG_CMD_POLLER=y
59+
CONFIG_CMD_SLICE=y
60+
CONFIG_CMD_GO=y
61+
CONFIG_CMD_LOADB=y
62+
CONFIG_CMD_RESET=y
63+
CONFIG_CMD_BOOTCHOOSER=y
64+
CONFIG_CMD_PARTITION=y
65+
CONFIG_CMD_FINDMNT=y
66+
CONFIG_CMD_EXPORT=y
67+
CONFIG_CMD_DEFAULTENV=y
68+
CONFIG_CMD_LOADENV=y
69+
CONFIG_CMD_PRINTENV=y
70+
CONFIG_CMD_MAGICVAR=y
71+
CONFIG_CMD_MAGICVAR_HELP=y
72+
CONFIG_CMD_SAVEENV=y
73+
CONFIG_CMD_FILETYPE=y
74+
CONFIG_CMD_LN=y
75+
CONFIG_CMD_MD5SUM=y
76+
CONFIG_CMD_SHA1SUM=y
77+
CONFIG_CMD_SHA224SUM=y
78+
CONFIG_CMD_SHA256SUM=y
79+
CONFIG_CMD_UNCOMPRESS=y
80+
CONFIG_CMD_LET=y
81+
CONFIG_CMD_MSLEEP=y
82+
CONFIG_CMD_READF=y
83+
CONFIG_CMD_SLEEP=y
84+
CONFIG_CMD_DHCP=y
85+
CONFIG_CMD_MIITOOL=y
86+
CONFIG_CMD_PING=y
87+
CONFIG_CMD_TFTP=y
88+
CONFIG_CMD_ECHO_E=y
89+
CONFIG_CMD_EDIT=y
90+
CONFIG_CMD_LOGIN=y
91+
CONFIG_CMD_MENU=y
92+
CONFIG_CMD_MENU_MANAGEMENT=y
93+
CONFIG_CMD_MENUTREE=y
94+
CONFIG_CMD_PASSWD=y
95+
CONFIG_CMD_SPLASH=y
96+
CONFIG_CMD_FBTEST=y
97+
CONFIG_CMD_READLINE=y
98+
CONFIG_CMD_TIMEOUT=y
99+
CONFIG_CMD_CRC=y
100+
CONFIG_CMD_CRC_CMP=y
101+
CONFIG_CMD_MEMTEST=y
102+
CONFIG_CMD_MM=y
103+
CONFIG_CMD_CLK=y
104+
CONFIG_CMD_DETECT=y
105+
CONFIG_CMD_FLASH=y
106+
CONFIG_CMD_GPIO=y
107+
CONFIG_CMD_I2C=y
108+
CONFIG_CMD_LED=y
109+
CONFIG_CMD_POWEROFF=y
110+
CONFIG_CMD_SMC=y
111+
CONFIG_CMD_LED_TRIGGER=y
112+
CONFIG_CMD_USBGADGET=y
113+
CONFIG_CMD_WD=y
114+
CONFIG_CMD_BAREBOX_UPDATE=y
115+
CONFIG_CMD_FIRMWARELOAD=y
116+
CONFIG_CMD_OF_DIFF=y
117+
CONFIG_CMD_OF_NODE=y
118+
CONFIG_CMD_OF_PROPERTY=y
119+
CONFIG_CMD_OF_DISPLAY_TIMINGS=y
120+
CONFIG_CMD_OF_FIXUP_STATUS=y
121+
CONFIG_CMD_OF_OVERLAY=y
122+
CONFIG_CMD_OFTREE=y
123+
CONFIG_CMD_TIME=y
124+
CONFIG_NET=y
125+
CONFIG_NET_NETCONSOLE=y
126+
CONFIG_NET_SNTP=y
127+
CONFIG_NET_FASTBOOT=y
128+
CONFIG_NET_9P=y
129+
CONFIG_NET_9P_VIRTIO=y
130+
CONFIG_DEEP_PROBE_DEFAULT=y
131+
CONFIG_OF_BAREBOX_DRIVERS=y
132+
CONFIG_OF_BAREBOX_ENV_IN_FS=y
133+
CONFIG_OF_OVERLAY_LIVE=y
134+
CONFIG_SERIAL_DEV_BUS=y
135+
CONFIG_SERIAL_AMBA_PL011=y
136+
CONFIG_DRIVER_SERIAL_NS16550=y
137+
CONFIG_DRIVER_SERIAL_CADENCE=y
138+
CONFIG_DRIVER_SERIAL_LPUART32=y
139+
CONFIG_VIRTIO_CONSOLE=y
140+
CONFIG_DRIVER_NET_TI_K3_AM65_CPSW_NUSS=y
141+
CONFIG_DRIVER_NET_DESIGNWARE_IMX8=y
142+
CONFIG_DRIVER_NET_DESIGNWARE_ROCKCHIP=y
143+
CONFIG_DRIVER_NET_FEC_IMX=y
144+
CONFIG_DRIVER_NET_FSL_ENETC=y
145+
CONFIG_DRIVER_NET_FSL_FMAN=y
146+
CONFIG_DRIVER_NET_MACB=y
147+
CONFIG_DRIVER_NET_VIRTIO=y
148+
CONFIG_DP83867_PHY=y
149+
CONFIG_MICREL_PHY=y
150+
CONFIG_REALTEK_PHY=y
151+
CONFIG_SMSC_PHY=y
152+
CONFIG_NET_DSA_MV88E6XXX=y
153+
CONFIG_MDIO_BITBANG=y
154+
CONFIG_MDIO_GPIO=y
155+
CONFIG_MDIO_BUS_MUX_GPIO=y
156+
CONFIG_NET_USB=y
157+
CONFIG_NET_USB_ASIX=y
158+
CONFIG_USB_NET_AX88179_178A=y
159+
CONFIG_NET_USB_SMSC95XX=y
160+
CONFIG_NET_USB_RTL8152=y
161+
CONFIG_DRIVER_SPI_FSL_QUADSPI=y
162+
CONFIG_DRIVER_SPI_IMX=y
163+
CONFIG_SPI_NXP_FLEXSPI=y
164+
CONFIG_I2C_GPIO=y
165+
CONFIG_I2C_IMX=y
166+
CONFIG_I2C_OMAP=y
167+
CONFIG_I2C_RK3X=y
168+
CONFIG_I2C_MUX=y
169+
CONFIG_I2C_MUX_PCA954x=y
170+
CONFIG_MTD=y
171+
CONFIG_MTD_CONCAT=y
172+
CONFIG_MTD_M25P80=y
173+
CONFIG_DRIVER_CFI=y
174+
CONFIG_CFI_BUFFER_WRITE=y
175+
CONFIG_VIRTIO_BLK=y
176+
CONFIG_USB_HOST=y
177+
CONFIG_USB_IMX_CHIPIDEA=y
178+
CONFIG_USB_DWC3=y
179+
CONFIG_USB_DWC3_DUAL_ROLE=y
180+
CONFIG_USB_EHCI=y
181+
CONFIG_USB_STORAGE=y
182+
CONFIG_USB_ONBOARD_DEV=y
183+
CONFIG_USB_GADGET=y
184+
CONFIG_USB_GADGET_SERIAL=y
185+
CONFIG_USB_GADGET_FASTBOOT=y
186+
CONFIG_USB_GADGET_MASS_STORAGE=y
187+
CONFIG_VIDEO=y
188+
CONFIG_FRAMEBUFFER_CONSOLE=y
189+
CONFIG_DRIVER_VIDEO_BOCHS_PCI=y
190+
CONFIG_SOUND=y
191+
CONFIG_MCI=y
192+
CONFIG_MCI_MMC_BOOT_PARTITIONS=y
193+
CONFIG_MCI_DW=y
194+
CONFIG_MCI_SUNXI_SMHC=y
195+
CONFIG_MCI_ROCKCHIP_DWCMSHC=y
196+
CONFIG_MCI_IMX_ESDHC=y
197+
CONFIG_MCI_ARASAN=y
198+
CONFIG_MCI_AM654=y
199+
CONFIG_COMMON_CLK=y
200+
CONFIG_COMMON_CLK_SCMI=y
201+
CONFIG_MFD_ACT8846=y
202+
CONFIG_RAVE_SP_CORE=y
203+
CONFIG_MFD_PCA9450=y
204+
CONFIG_MFD_RK808=y
205+
CONFIG_LED=y
206+
CONFIG_LED_GPIO=y
207+
CONFIG_LED_GPIO_OF=y
208+
CONFIG_LED_TRIGGERS=y
209+
CONFIG_LED_PCA955X=y
210+
CONFIG_EEPROM_AT25=y
211+
CONFIG_EEPROM_AT24=y
212+
CONFIG_VIRTIO_INPUT=y
213+
CONFIG_WATCHDOG=y
214+
CONFIG_WATCHDOG_POLLER=y
215+
CONFIG_WATCHDOG_DW=y
216+
CONFIG_WATCHDOG_IMX=y
217+
CONFIG_WATCHDOG_IMXULP=y
218+
CONFIG_RAVE_SP_WATCHDOG=y
219+
CONFIG_K3_RTI_WDT=y
220+
CONFIG_HWRNG=y
221+
CONFIG_HW_RANDOM_VIRTIO=y
222+
CONFIG_DMADEVICES=y
223+
CONFIG_TI_K3_UDMA=y
224+
CONFIG_GPIO_PCA953X=y
225+
CONFIG_GPIO_ZYNQ=y
226+
CONFIG_PINCTRL_SINGLE=y
227+
CONFIG_NVMEM_RMEM=y
228+
CONFIG_IMX_OCOTP_ELE=y
229+
CONFIG_RAVE_SP_EEPROM=y
230+
CONFIG_REGULATOR=y
231+
CONFIG_REGULATOR_FIXED=y
232+
CONFIG_REGULATOR_ARM_SCMI=y
233+
CONFIG_REGULATOR_RK808=y
234+
CONFIG_RESET_IMX7=y
235+
CONFIG_PCI_ECAM_GENERIC=y
236+
CONFIG_RTC_CLASS=y
237+
CONFIG_RTC_DRV_DS1307=y
238+
CONFIG_FIRMWARE_ZYNQMP_FPGA=y
239+
CONFIG_ARM_SCMI_PROTOCOL=y
240+
CONFIG_GENERIC_PHY=y
241+
CONFIG_USB_NOP_XCEIV=y
242+
CONFIG_PHY_ROCKCHIP_INNO_USB2=y
243+
CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY=y
244+
CONFIG_ROCKCHIP_IODOMAIN=y
245+
CONFIG_TI_SCI_PM_DOMAINS=y
246+
CONFIG_NVMEM_REBOOT_MODE=y
247+
CONFIG_VIRTIO_MMIO=y
248+
CONFIG_VIRTIO_PCI=y
249+
CONFIG_MAILBOX=y
250+
CONFIG_FS_CRAMFS=y
251+
CONFIG_FS_EXT4=y
252+
CONFIG_FS_TFTP=y
253+
CONFIG_FS_NFS=y
254+
CONFIG_9P_FS=y
255+
CONFIG_9P_FS_WRITE=y
256+
CONFIG_FS_FAT=y
257+
CONFIG_FS_FAT_WRITE=y
258+
CONFIG_FS_BPKFS=y
259+
CONFIG_FS_UIMAGEFS=y
260+
CONFIG_FS_PSTORE=y
261+
CONFIG_FS_PSTORE_CONSOLE=y
262+
CONFIG_FS_RATP=y
263+
CONFIG_LZO_DECOMPRESS=y
264+
CONFIG_DIGEST_SHA1_ARM64_CE=y
265+
CONFIG_DIGEST_SHA256_ARM64_CE=y
266+
# CONFIG_MISSING_FIRMWARE_ERROR is not set

arch/arm/cpu/Kconfig

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,15 @@ config CPU_V6
7979

8080
# ARMv7
8181
config CPU_V7
82-
bool
82+
bool "Generic ARMv7 support"
83+
depends on 32BIT
8384
select CPU_32v7
8485

8586
# ARMv8
8687
config CPU_V8
87-
bool
88+
bool "Generic ARMv8 support"
89+
default y
90+
depends on 64BIT
8891
select CPU_64v8
8992
select ARM_EXCEPTIONS
9093
select GENERIC_FIND_NEXT_BIT

drivers/video/Kconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ config DRIVER_VIDEO_ATMEL_HLCD
3232
config DRIVER_VIDEO_EFI_GOP
3333
bool "EFI Graphics Output Protocol (GOP)"
3434
depends on EFI_PAYLOAD
35-
depends on X86
3635

3736
config DRIVER_VIDEO_IMX
3837
bool "i.MX framebuffer driver"

efi/Kconfig

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ config HAVE_EFI_PAYLOAD
66
bool
77

88
config EFI_PAYLOAD
9-
bool "Build as EFI payload" if COMPILE_TEST
9+
bool "Build as EFI payload"
1010
depends on HAVE_EFI_PAYLOAD
1111
select PBL_FULLY_PIC if ARM64
1212
select EFI
@@ -18,6 +18,10 @@ config EFI_PAYLOAD
1818
select PARTITION_DISK
1919
select HW_HAS_PCI
2020

21+
if EFI_PAYLOAD
22+
source "efi/payload/Kconfig"
23+
endif
24+
2125
config EFI
2226
bool
2327

@@ -50,4 +54,21 @@ config EFI_PAYLOAD_DEFAULT_PATH
5054

5155
endif
5256

57+
config EFI_FDT_FORCE
58+
bool "Force EFI provided FDT"
59+
default n
60+
help
61+
with this options we keep the fdt passed by EFI in the
62+
system configuration table, EFI has to suppot FDT otherwise
63+
an empty fdt will be generated when linux boots by efi.
64+
65+
config EFI_INITRD_INSTALL
66+
bool "Install the initramfs by barebox"
67+
default n
68+
help
69+
with this option barebox will install the initrd to the
70+
system configuration table, same as what kernel do after
71+
calling read file2 boot services, in this case the initrd
72+
will be read directly by the kernel as an initramfs.
73+
5374
endmenu

efi/guid.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ const efi_guid_t efi_load_file_protocol_guid = EFI_LOAD_FILE_PROTOCOL_GUID;
4444
const efi_guid_t efi_load_file2_protocol_guid = EFI_LOAD_FILE2_PROTOCOL_GUID;
4545
const efi_guid_t efi_device_path_utilities_protocol_guid =
4646
EFI_DEVICE_PATH_UTILITIES_PROTOCOL_GUID;
47+
const efi_guid_t efi_linux_initrd_media_guid = EFI_LINUX_INITRD_MEDIA_GUID;
4748

4849
#define EFI_GUID_STRING(guid, short, long) do { \
4950
if (!efi_guidcmp(guid, *g)) \
@@ -128,5 +129,11 @@ const char *efi_guid_string(efi_guid_t *g)
128129
EFI_GUID_STRING(EFI_ISCSIDXE_INF_GUID, "IScsiDxe.inf", "EFI IScsiDxe.inf File GUID");
129130
EFI_GUID_STRING(EFI_VLANCONFIGDXE_INF_GUID, "VlanConfigDxe.inf", "EFI VlanConfigDxe.inf File GUID");
130131

132+
/* FDT */
133+
EFI_GUID_STRING(EFI_DEVICE_TREE_GUID, "DeviceTree", "EFI Device Tree GUID");
134+
135+
/* Ramdisk */
136+
EFI_GUID_STRING(EFI_LINUX_INITRD_MEDIA_GUID, "Initrd Media", "EFI Linux Initrd Media GUID");
137+
131138
return "unknown";
132139
}

efi/payload/Kconfig

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# SPDX-License-Identifier: GPL-2.0-only
2+
3+
config EFI_HANDOVER_PROTOCOL
4+
def_bool X86
5+
6+
config EFI_PAYLOAD_BOOTM
7+
def_bool !EFI_HANDOVER_PROTOCOL

efi/payload/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
obj-y += init.o
44
obj-y += image.o
5+
obj-$(CONFIG_EFI_HANDOVER_PROTOCOL) += handover.o
6+
obj-$(CONFIG_EFI_PAYLOAD_BOOTM) += bootm.o
7+
obj-y += efi-initrd.o
58
obj-$(CONFIG_OFTREE) += fdt.o
69
bbenv-y += env-efi
710
obj-$(CONFIG_CMD_IOMEM) += iomem.o

0 commit comments

Comments
 (0)