Skip to content

Commit 73ae7f8

Browse files
payloads/bareflank: load Bareflank before main payload
Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com>
1 parent d938537 commit 73ae7f8

File tree

5 files changed

+23
-9
lines changed

5 files changed

+23
-9
lines changed

payloads/Kconfig

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,7 @@ config BAREFLANK_SECONDARY_PAYLOAD
129129
default n
130130
depends on ARCH_X86
131131
help
132-
Bareflank can be loaded as a secondary payload under SeaBIOS, GRUB,
133-
or any other payload that can load additional payloads.
132+
Bareflank can be loaded before primary payload.
134133

135134
config MEMTEST_SECONDARY_PAYLOAD
136135
bool "Load Memtest86+ as a secondary payload"

payloads/Makefile.inc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
## GNU General Public License for more details.
1414
##
1515

16-
cbfs-files-$(CONFIG_BAREFLANK_SECONDARY_PAYLOAD) += img/bareflank
17-
img/bareflank-file := payloads/bareflank/build/bareflank.elf
18-
img/bareflank-type := payload
19-
img/bareflank-compression := $(CBFS_SECONDARY_PAYLOAD_COMPRESS_FLAG)
16+
cbfs-files-$(CONFIG_BAREFLANK_SECONDARY_PAYLOAD) += $(CONFIG_CBFS_PREFIX)/payload
17+
$(CONFIG_CBFS_PREFIX)/payload-file := payloads/bareflank/build/bareflank.elf
18+
$(CONFIG_CBFS_PREFIX)/payload-type := payload
19+
$(CONFIG_CBFS_PREFIX)/payload-compression := $(CBFS_SECONDARY_PAYLOAD_COMPRESS_FLAG)
2020

2121
cbfs-files-$(CONFIG_COREINFO_SECONDARY_PAYLOAD) += img/coreinfo
2222
img/coreinfo-file := payloads/coreinfo/build/coreinfo.elf
@@ -45,7 +45,7 @@ payloads/external/LinuxBoot \
4545
payloads/external/Yabits \
4646

4747
payloads/bareflank/build/bareflank.elf bareflank:
48-
$(MAKE) -C payloads/bareflank defaultbuild
48+
$(MAKE) -C payloads/bareflank defaultbuild CONFIG_CBFS_PREFIX=$(CONFIG_CBFS_PREFIX)
4949

5050
payloads/coreinfo/build/coreinfo.elf coreinfo:
5151
$(MAKE) -C payloads/coreinfo defaultbuild

payloads/bareflank/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ $(coreinfo_obj)/%.S.o: $(src)/%.S libpayload
100100

101101
$(coreinfo_obj)/%.o: $(src)/%.c libpayload
102102
printf " LPCC $(subst $(CURDIR)/,,$(@))\n"
103-
$(LPCC) $(CFLAGS) -c -o $@ $<
103+
$(LPCC) $(CFLAGS) -c -o $@ $< -DCONFIG_CBFS_PREFIX=\"$(CONFIG_CBFS_PREFIX)\"
104104

105105
else
106106
real-all: config

payloads/bareflank/entry.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,8 +195,11 @@ int main(void)
195195
ioctl_load_vmm();
196196
ioctl_start_vmm();
197197

198-
payload = cbfs_load_payload(CBFS_DEFAULT_MEDIA, "img/seabios");
198+
payload = cbfs_load_payload(CBFS_DEFAULT_MEDIA, CONFIG_CBFS_PREFIX "/realpayload");
199199

200200
cbfs_run_payload(payload);
201+
202+
printf("Should not get here...\n");
203+
201204
return 0;
202205
}

payloads/external/Makefile.inc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,17 @@ ifneq ($(strip $(call strip_quotes,$(CONFIG_PAYLOAD_OPTIONS))),)
4747
ADDITIONAL_PAYLOAD_CONFIG+=$(strip $(call strip_quotes,$(CONFIG_PAYLOAD_OPTIONS)))
4848
endif
4949

50+
ifeq ($(CONFIG_BAREFLANK_SECONDARY_PAYLOAD),y)
51+
cbfs-files-y += $(CONFIG_CBFS_PREFIX)/realpayload
52+
$(CONFIG_CBFS_PREFIX)/realpayload-file := $(CONFIG_PAYLOAD_FILE)
53+
ifeq ($(CONFIG_PAYLOAD_IS_FLAT_BINARY),y)
54+
$(CONFIG_CBFS_PREFIX)/realpayload-type := flat-binary
55+
else
56+
$(CONFIG_CBFS_PREFIX)/realpayload-type := payload
57+
endif
58+
$(CONFIG_CBFS_PREFIX)/realpayload-compression := $(CBFS_PAYLOAD_COMPRESS_FLAG)
59+
$(CONFIG_CBFS_PREFIX)/realpayload-options := $(ADDITIONAL_PAYLOAD_CONFIG)
60+
else
5061
cbfs-files-y += $(CONFIG_CBFS_PREFIX)/payload
5162
$(CONFIG_CBFS_PREFIX)/payload-file := $(CONFIG_PAYLOAD_FILE)
5263
ifeq ($(CONFIG_PAYLOAD_IS_FLAT_BINARY),y)
@@ -56,6 +67,7 @@ $(CONFIG_CBFS_PREFIX)/payload-type := payload
5667
endif
5768
$(CONFIG_CBFS_PREFIX)/payload-compression := $(CBFS_PAYLOAD_COMPRESS_FLAG)
5869
$(CONFIG_CBFS_PREFIX)/payload-options := $(ADDITIONAL_PAYLOAD_CONFIG)
70+
endif
5971

6072
cbfs-files-$(CONFIG_INCLUDE_CONFIG_FILE) += payload_config
6173
payload_config-file := $(PAYLOAD_CONFIG)

0 commit comments

Comments
 (0)