Asami Doi has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/33287
Change subject: payloads/libpayload: Update a Makefile and a wrappter of a compiler in libpayload in order to build sample payload for QEMU/ARM. ......................................................................
payloads/libpayload: Update a Makefile and a wrappter of a compiler in libpayload in order to build sample payload for QEMU/ARM.
Change-Id: Ia32872c43a99357aa966de3582f6fdb2e2652517 Signed-off-by: Asami Doi doiasami1219@gmail.com --- M payloads/libpayload/bin/lpgcc A payloads/libpayload/configs/config.emulation-qemu-arm M payloads/libpayload/drivers/Makefile.inc M payloads/libpayload/include/arm/arch/io.h M payloads/libpayload/sample/Makefile 5 files changed, 25 insertions(+), 8 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/87/33287/1
diff --git a/payloads/libpayload/bin/lpgcc b/payloads/libpayload/bin/lpgcc index b3ef342..b636080 100755 --- a/payloads/libpayload/bin/lpgcc +++ b/payloads/libpayload/bin/lpgcc @@ -200,5 +200,5 @@ # header to be placed below 0x2000 in the resulting image. See: # http://www.gnu.org/software/grub/manual/multiboot/html_node/OS-image-format....
- $DEFAULT_CC $_LDFLAGS $HEAD_O $CMDLINE $_CFLAGS -lpayload $_LIBGCC + $DEFAULT_CC $_LDFLAGS $HEAD_O $CMDLINE $_CFLAGS -lpayload $_LIBGCC -lc fi diff --git a/payloads/libpayload/configs/config.emulation-qemu-arm b/payloads/libpayload/configs/config.emulation-qemu-arm new file mode 100644 index 0000000..e498126 --- /dev/null +++ b/payloads/libpayload/configs/config.emulation-qemu-arm @@ -0,0 +1,10 @@ +CONFIG_LP_ARCH_ARM=y +CONFIG_LP_STACK_SIZE=64000 +CONFIG_LP_BASE_ADDRESS=0x62030000 +CONFIG_LP_TINYCURSES=y +CONFIG_LP_8250_SERIAL_CONSOLE=y +CONFIG_LP_USB=y +CONFIG_LP_USB_OHCI=y +CONFIG_LP_USB_EHCI=y +CONFIG_LP_USB_XHCI=y + diff --git a/payloads/libpayload/drivers/Makefile.inc b/payloads/libpayload/drivers/Makefile.inc index b4e7594..7c555fd 100644 --- a/payloads/libpayload/drivers/Makefile.inc +++ b/payloads/libpayload/drivers/Makefile.inc @@ -50,9 +50,7 @@ libc-$(CONFIG_LP_NVRAM) += options.c
# Timer drivers -ifneq ($(CONFIG_LP_TIMER_GENERIC_HZ),0) libc-y += timer/generic.c -endif libc-$(CONFIG_LP_TIMER_RDTSC) += timer/rdtsc.c libc-$(CONFIG_LP_TIMER_IMG_PISTACHIO) += timer/img_pistachio.c libc-$(CONFIG_LP_TIMER_ARM64_ARCH) += timer/arm64_arch_timer.c diff --git a/payloads/libpayload/include/arm/arch/io.h b/payloads/libpayload/include/arm/arch/io.h index 2743852..58b8a22 100644 --- a/payloads/libpayload/include/arm/arch/io.h +++ b/payloads/libpayload/include/arm/arch/io.h @@ -34,6 +34,14 @@ #include <stdint.h> #include <arch/cache.h>
+#define inb(a) read8((const void *) (a)) +#define inw(a) read16((const void *) (a)) +#define inl(a) read32((const void *) (a)) + +#define outb(v, a) write8((void *) (&v), a) +#define outw(v, a) write16((void *) (&v), a) +#define outl(v, a) write32((void *) (&v), a) + /* * readb/w/l writeb/w/l are deprecated. use read8/16/32 and write8/16/32 * instead for future development. diff --git a/payloads/libpayload/sample/Makefile b/payloads/libpayload/sample/Makefile index 5931d5e..18121df 100644 --- a/payloads/libpayload/sample/Makefile +++ b/payloads/libpayload/sample/Makefile @@ -28,19 +28,20 @@ ##
# Sample libpayload Makefile. -include ../.xcompile include ../.config +include ../.xcompile
-ARCH-$(CONFIG_LP_ARCH_ARMV) := arm -ARCH-$(CONFIG_LP_ARCH_POWERPC) := powerpc -ARCH-$(CONFIG_LP_ARCH_X86) := i386 +ARCH-$(CONFIG_LP_ARCH_ARM) := arm +ARCH-$(CONFIG_LP_ARCH_X86) := x86_32 +ARCH-$(CONFIG_LP_ARCH_ARM64) := arm64 +ARCH-$(CONFIG_LP_ARCH_MIPS) := mips
CC := $(CC_$(ARCH-y)) AS := $(AS_$(ARCH-y)) LIBPAYLOAD_DIR := ../install/libpayload XCC := CC="$(CC)" $(LIBPAYLOAD_DIR)/bin/lpgcc XAS := AS="$(AS)" $(LIBPAYLOAD_DIR)/bin/lpas -CFLAGS := -Wall -Werror -Os +CFLAGS := -fno-builtin -Wall -Werror -Os TARGET := hello OBJS := $(TARGET).o
Hello build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/33287
to look at the new patch set (#2).
Change subject: payloads/libpayload: Update a Makefile and a wrappter of a compiler in libpayload in order to build sample payload for QEMU/ARM. ......................................................................
payloads/libpayload: Update a Makefile and a wrappter of a compiler in libpayload in order to build sample payload for QEMU/ARM.
Change-Id: Ia32872c43a99357aa966de3582f6fdb2e2652517 Signed-off-by: Asami Doi doiasami1219@gmail.com --- M payloads/libpayload/bin/lpgcc A payloads/libpayload/configs/config.emulation-qemu-arm M payloads/libpayload/drivers/Makefile.inc M payloads/libpayload/include/arm/arch/io.h M payloads/libpayload/sample/Makefile 5 files changed, 24 insertions(+), 8 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/87/33287/2
Hello build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/33287
to look at the new patch set (#3).
Change subject: payloads/libpayload: Update a Makefile and lpgcc, the wrappter of a compiler in libpayload, in order to build sample payload for QEMU/ARM. ......................................................................
payloads/libpayload: Update a Makefile and lpgcc, the wrappter of a compiler in libpayload, in order to build sample payload for QEMU/ARM.
This CL allows to build payloads/libpayload/sample/hello.c via: $ make // at payloads/libpayload/sample/ directory
Change-Id: Ia32872c43a99357aa966de3582f6fdb2e2652517 Signed-off-by: Asami Doi doiasami1219@gmail.com --- M payloads/libpayload/bin/lpgcc A payloads/libpayload/configs/config.emulation-qemu-arm M payloads/libpayload/drivers/Makefile.inc M payloads/libpayload/include/arm/arch/io.h M payloads/libpayload/sample/Makefile 5 files changed, 24 insertions(+), 8 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/87/33287/3
Hello build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/33287
to look at the new patch set (#4).
Change subject: payloads/libpayload: Update a Makefile and a wrappter of a compiler in libpayload in order to build sample payload for QEMU/ARM. ......................................................................
payloads/libpayload: Update a Makefile and a wrappter of a compiler in libpayload in order to build sample payload for QEMU/ARM.
Change-Id: Ia32872c43a99357aa966de3582f6fdb2e2652517 Signed-off-by: Asami Doi doiasami1219@gmail.com --- M payloads/libpayload/README M payloads/libpayload/bin/lpgcc A payloads/libpayload/configs/config.emulation-qemu-arm M payloads/libpayload/drivers/Makefile.inc M payloads/libpayload/include/arm/arch/io.h M payloads/libpayload/sample/Makefile 6 files changed, 34 insertions(+), 11 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/87/33287/4
Hello build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/33287
to look at the new patch set (#5).
Change subject: payloads/libpayload: Update a Makefile and a wrappter of a compiler in libpayload in order to build sample payload for QEMU/ARM. ......................................................................
payloads/libpayload: Update a Makefile and a wrappter of a compiler in libpayload in order to build sample payload for QEMU/ARM.
Change-Id: Ia32872c43a99357aa966de3582f6fdb2e2652517 Signed-off-by: Asami Doi doiasami1219@gmail.com --- M payloads/libpayload/README M payloads/libpayload/bin/lpgcc A payloads/libpayload/configs/config.emulation-qemu-arm M payloads/libpayload/drivers/Makefile.inc M payloads/libpayload/include/arm/arch/io.h M payloads/libpayload/sample/Makefile 6 files changed, 34 insertions(+), 11 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/87/33287/5
Hello build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/33287
to look at the new patch set (#6).
Change subject: payloads/libpayload: Update a Makefile and a wrapper of a compiler in libpayload in order to build sample payload for QEMU/ARM. ......................................................................
payloads/libpayload: Update a Makefile and a wrapper of a compiler in libpayload in order to build sample payload for QEMU/ARM.
This CL allows building a sample payload for ARM.
Change-Id: Ia32872c43a99357aa966de3582f6fdb2e2652517 Signed-off-by: Asami Doi doiasami1219@gmail.com --- M payloads/libpayload/README M payloads/libpayload/bin/lpgcc A payloads/libpayload/configs/config.emulation-qemu-arm M payloads/libpayload/drivers/Makefile.inc M payloads/libpayload/include/arm/arch/io.h M payloads/libpayload/sample/Makefile 6 files changed, 34 insertions(+), 11 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/87/33287/6
Raul Rangel has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/33287 )
Change subject: payloads/libpayload: Update a Makefile and a wrapper of a compiler in libpayload in order to build sample payload for QEMU/ARM. ......................................................................
Patch Set 6:
(4 comments)
https://review.coreboot.org/#/c/33287/6/payloads/libpayload/bin/lpgcc File payloads/libpayload/bin/lpgcc:
https://review.coreboot.org/#/c/33287/6/payloads/libpayload/bin/lpgcc@203 PS6, Line 203: $DEFAULT_CC $_LDFLAGS $HEAD_O $CMDLINE $_CFLAGS -lpayload $_LIBGCC -lc Why do you need -lc?
https://review.coreboot.org/#/c/33287/6/payloads/libpayload/drivers/Makefile... File payloads/libpayload/drivers/Makefile.inc:
https://review.coreboot.org/#/c/33287/6/payloads/libpayload/drivers/Makefile... PS6, Line 53: Why are you removing the ifneq?
https://review.coreboot.org/#/c/33287/6/payloads/libpayload/include/arm/arch... File payloads/libpayload/include/arm/arch/io.h:
https://review.coreboot.org/#/c/33287/6/payloads/libpayload/include/arm/arch... PS6, Line 37: a ARM doesn't support in/out. They are different address spaces, so it's not correct to assume it's a memory access.
https://review.coreboot.org/#/c/33287/6/payloads/libpayload/sample/Makefile File payloads/libpayload/sample/Makefile:
https://review.coreboot.org/#/c/33287/6/payloads/libpayload/sample/Makefile@... PS6, Line 35: Why are you removing the three archs?
Julius Werner has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/33287 )
Change subject: payloads/libpayload: Update a Makefile and a wrapper of a compiler in libpayload in order to build sample payload for QEMU/ARM. ......................................................................
Patch Set 6:
(2 comments)
+1 to everything Raul said.
https://review.coreboot.org/#/c/33287/6/payloads/libpayload/README File payloads/libpayload/README:
https://review.coreboot.org/#/c/33287/6/payloads/libpayload/README@28 PS6, Line 28: you might have to install the 32bit libgcc version, otherwise This doesn't really make sense, the issue this is talking about is x86 specific. So I think you should rather change this to something like
On x86 systems, libpayload will always be 32-bit even if your host OS runs in 64-bit, so you might have to install the 32-bit libgcc version.
The issue is arguably moot these days because people should be using the coreboot toolchain anyway, which will build all the right libraries.
https://review.coreboot.org/#/c/33287/6/payloads/libpayload/sample/Makefile File payloads/libpayload/sample/Makefile:
https://review.coreboot.org/#/c/33287/6/payloads/libpayload/sample/Makefile@... PS6, Line 35:
Why are you removing the three archs?
POWERPC support has been removed a long time ago so I believe this is correct.
Asami Doi has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/33287 )
Change subject: payloads/libpayload: Update a Makefile and a wrapper of a compiler in libpayload in order to build sample payload for QEMU/ARM. ......................................................................
Patch Set 6:
(5 comments)
https://review.coreboot.org/#/c/33287/6/payloads/libpayload/README File payloads/libpayload/README:
https://review.coreboot.org/#/c/33287/6/payloads/libpayload/README@28 PS6, Line 28: you might have to install the 32bit libgcc version, otherwise
This doesn't really make sense, the issue this is talking about is x86 specific. […]
Thank you for your comment. I will apply your comment in the next update.
https://review.coreboot.org/#/c/33287/6/payloads/libpayload/bin/lpgcc File payloads/libpayload/bin/lpgcc:
https://review.coreboot.org/#/c/33287/6/payloads/libpayload/bin/lpgcc@203 PS6, Line 203: $DEFAULT_CC $_LDFLAGS $HEAD_O $CMDLINE $_CFLAGS -lpayload $_LIBGCC -lc
Why do you need -lc?
This was my mistake. I didn't notice that 'libpayload.a' already has 'libc.a'. I will revert this change in next update. Thank you for your comment!
https://review.coreboot.org/#/c/33287/6/payloads/libpayload/drivers/Makefile... File payloads/libpayload/drivers/Makefile.inc:
https://review.coreboot.org/#/c/33287/6/payloads/libpayload/drivers/Makefile... PS6, Line 53:
Why are you removing the ifneq?
I removed it because 'libc/time.c', which is included as a default, uses timer_hz() and timer_raw_value() but the implementations of these are not included as a default. So I thought a timer is necessary to build.
However, I understood this change doesn't make sense. So I will revert it in next update.
Is it ok just to set up CONFIG_LP_TIMER_GENERIC_HZ to 1M or some value above it in order to avoid build errors?
https://review.coreboot.org/#/c/33287/6/payloads/libpayload/include/arm/arch... File payloads/libpayload/include/arm/arch/io.h:
https://review.coreboot.org/#/c/33287/6/payloads/libpayload/include/arm/arch... PS6, Line 37: a
ARM doesn't support in/out. […]
Do you mean ARM only supports memory mapped I/O?
https://review.coreboot.org/#/c/33287/6/payloads/libpayload/sample/Makefile File payloads/libpayload/sample/Makefile:
https://review.coreboot.org/#/c/33287/6/payloads/libpayload/sample/Makefile@... PS6, Line 35:
POWERPC support has been removed a long time ago so I believe this is correct.
Thank you for your comment, Julius.
Currently, libpayload only has ARM, X86, ARM64, and MIPS as a target architecture. Also, the variable name of x86 changed from i386 to x86_32. It is defined at .xcompile.
Hello build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/33287
to look at the new patch set (#7).
Change subject: payloads/libpayload: Update a Makefile and a wrappter of a compiler in libpayload in order to build sample payload for QEMU/ARM. ......................................................................
payloads/libpayload: Update a Makefile and a wrappter of a compiler in libpayload in order to build sample payload for QEMU/ARM.
Change-Id: Ia32872c43a99357aa966de3582f6fdb2e2652517 Signed-off-by: Asami Doi doiasami1219@gmail.com --- M payloads/libpayload/README A payloads/libpayload/configs/config.emulation-qemu-arm M payloads/libpayload/include/arm/arch/io.h M payloads/libpayload/sample/Makefile 4 files changed, 32 insertions(+), 8 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/87/33287/7
Hello build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/33287
to look at the new patch set (#8).
Change subject: payloads/libpayload: Update the Makefile in the sample directory and made an example configuration for QEMU/ARM. ......................................................................
payloads/libpayload: Update the Makefile in the sample directory and made an example configuration for QEMU/ARM.
This CL allows helping to build a sample payload for QEMU/ARM.
Change-Id: Ia32872c43a99357aa966de3582f6fdb2e2652517 Signed-off-by: Asami Doi doiasami1219@gmail.com --- M payloads/libpayload/README A payloads/libpayload/configs/config.emulation-qemu-arm M payloads/libpayload/include/arm/arch/io.h M payloads/libpayload/sample/Makefile 4 files changed, 32 insertions(+), 8 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/87/33287/8
Hello build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/33287
to look at the new patch set (#9).
Change subject: payloads/libpayload: Update the Makefile in the sample directory and made an example configuration for QEMU/ARM. ......................................................................
payloads/libpayload: Update the Makefile in the sample directory and made an example configuration for QEMU/ARM.
This CL allows building a sample payload for QEMU/ARM.
Change-Id: Ia32872c43a99357aa966de3582f6fdb2e2652517 Signed-off-by: Asami Doi doiasami1219@gmail.com --- M payloads/libpayload/README A payloads/libpayload/configs/config.emulation-qemu-arm M payloads/libpayload/include/arm/arch/io.h M payloads/libpayload/sample/Makefile 4 files changed, 32 insertions(+), 8 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/87/33287/9
Julius Werner has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/33287 )
Change subject: payloads/libpayload: Update the Makefile in the sample directory and made an example configuration for QEMU/ARM. ......................................................................
Patch Set 9:
(1 comment)
https://review.coreboot.org/#/c/33287/9/payloads/libpayload/include/arm/arch... File payloads/libpayload/include/arm/arch/io.h:
https://review.coreboot.org/#/c/33287/9/payloads/libpayload/include/arm/arch... PS9, Line 43: #define outl(v, a) write32((void *) (&v), a) Yes, Arm only uses MMIO. in/out I/O ports are a totally x86-specific thing. Please remove these. Building any driver that straight-up calls inb()/outb() for an Arm board is an error.
(Note that CONFIG_LP_IO_ADDRESS_SPACE exists to model this difference and should not be set on Arm, so you should be able to build the 8250 driver without providing these. We're doing that only plenty of boards already, e.g. configs/config.gru.)
Hello build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/33287
to look at the new patch set (#10).
Change subject: payloads/libpayload: Update a Makefile and a wrappter of a compiler in libpayload in order to build sample payload for QEMU/ARM. ......................................................................
payloads/libpayload: Update a Makefile and a wrappter of a compiler in libpayload in order to build sample payload for QEMU/ARM.
Change-Id: Ia32872c43a99357aa966de3582f6fdb2e2652517 Signed-off-by: Asami Doi doiasami1219@gmail.com --- M payloads/libpayload/README A payloads/libpayload/configs/config.emulation-qemu-arm M payloads/libpayload/sample/Makefile 3 files changed, 21 insertions(+), 8 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/87/33287/10
Asami Doi has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/33287 )
Change subject: payloads/libpayload: Update a Makefile and a wrappter of a compiler in libpayload in order to build sample payload for QEMU/ARM. ......................................................................
Patch Set 10:
(1 comment)
https://review.coreboot.org/#/c/33287/9/payloads/libpayload/include/arm/arch... File payloads/libpayload/include/arm/arch/io.h:
https://review.coreboot.org/#/c/33287/9/payloads/libpayload/include/arm/arch... PS9, Line 43: #define outl(v, a) write32((void *) (&v), a)
Yes, Arm only uses MMIO. in/out I/O ports are a totally x86-specific thing. Please remove these. […]
I see. Thank you for your comment. I removed these.
Hello build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/33287
to look at the new patch set (#11).
Change subject: payloads/libpayload: Update a Makefile for sample libpayload and make a configuraton for QEMU/ARM. ......................................................................
payloads/libpayload: Update a Makefile for sample libpayload and make a configuraton for QEMU/ARM.
This CL allows building a sample libpayload for QEMU/ARM.
Change-Id: Ia32872c43a99357aa966de3582f6fdb2e2652517 Signed-off-by: Asami Doi doiasami1219@gmail.com --- M payloads/libpayload/README A payloads/libpayload/configs/config.emulation-qemu-arm M payloads/libpayload/sample/Makefile 3 files changed, 21 insertions(+), 8 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/87/33287/11
Raul Rangel has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/33287 )
Change subject: payloads/libpayload: Update a Makefile for sample libpayload and make a configuraton for QEMU/ARM. ......................................................................
Patch Set 11: Code-Review+2
Julius Werner has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/33287 )
Change subject: payloads/libpayload: Update a Makefile for sample libpayload and make a configuraton for QEMU/ARM. ......................................................................
Patch Set 11: Code-Review+2
Patrick Georgi has submitted this change and it was merged. ( https://review.coreboot.org/c/coreboot/+/33287 )
Change subject: payloads/libpayload: Update a Makefile for sample libpayload and make a configuraton for QEMU/ARM. ......................................................................
payloads/libpayload: Update a Makefile for sample libpayload and make a configuraton for QEMU/ARM.
This CL allows building a sample libpayload for QEMU/ARM.
Change-Id: Ia32872c43a99357aa966de3582f6fdb2e2652517 Signed-off-by: Asami Doi doiasami1219@gmail.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/33287 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Raul Rangel rrangel@chromium.org Reviewed-by: Julius Werner jwerner@chromium.org --- M payloads/libpayload/README A payloads/libpayload/configs/config.emulation-qemu-arm M payloads/libpayload/sample/Makefile 3 files changed, 21 insertions(+), 8 deletions(-)
Approvals: build bot (Jenkins): Verified Julius Werner: Looks good to me, approved Raul Rangel: Looks good to me, approved
diff --git a/payloads/libpayload/README b/payloads/libpayload/README index fdf9b18..d35f685 100644 --- a/payloads/libpayload/README +++ b/payloads/libpayload/README @@ -22,12 +22,18 @@
$ make
- $ sudo make install (optional, will install into /opt per default) + $ make install (optional, will install into ./install per default)
-As libpayload is for 32bit x86 systems only, you might have to install the -32bit libgcc version, otherwise your payloads will fail to compile. +On x86 systems, libpayload will always be 32-bit even if your host OS runs +in 64-bit, so you might have to install the 32-bit libgcc version. On Debian systems you'd do 'apt-get install gcc-multilib' for example.
+Run 'make distclean' before switching boards. This command will remove +your current .config file, so you need 'make menuconfig' again or +'make defconfig' in order to set up configuration. Default configuration +is based on 'configs/defconfig'. See the configs/ directory for examples +of configuration. +
Usage ----- diff --git a/payloads/libpayload/configs/config.emulation-qemu-arm b/payloads/libpayload/configs/config.emulation-qemu-arm new file mode 100644 index 0000000..4b69caf --- /dev/null +++ b/payloads/libpayload/configs/config.emulation-qemu-arm @@ -0,0 +1,6 @@ +CONFIG_LP_ARCH_ARM=y +CONFIG_LP_STACK_SIZE=64000 +CONFIG_LP_BASE_ADDRESS=0x62030000 +CONFIG_LP_TINYCURSES=y +CONFIG_LP_8250_SERIAL_CONSOLE=y +CONFIG_LP_TIMER_GENERIC_HZ=1000000 diff --git a/payloads/libpayload/sample/Makefile b/payloads/libpayload/sample/Makefile index 5931d5e..18121df 100644 --- a/payloads/libpayload/sample/Makefile +++ b/payloads/libpayload/sample/Makefile @@ -28,19 +28,20 @@ ##
# Sample libpayload Makefile. -include ../.xcompile include ../.config +include ../.xcompile
-ARCH-$(CONFIG_LP_ARCH_ARMV) := arm -ARCH-$(CONFIG_LP_ARCH_POWERPC) := powerpc -ARCH-$(CONFIG_LP_ARCH_X86) := i386 +ARCH-$(CONFIG_LP_ARCH_ARM) := arm +ARCH-$(CONFIG_LP_ARCH_X86) := x86_32 +ARCH-$(CONFIG_LP_ARCH_ARM64) := arm64 +ARCH-$(CONFIG_LP_ARCH_MIPS) := mips
CC := $(CC_$(ARCH-y)) AS := $(AS_$(ARCH-y)) LIBPAYLOAD_DIR := ../install/libpayload XCC := CC="$(CC)" $(LIBPAYLOAD_DIR)/bin/lpgcc XAS := AS="$(AS)" $(LIBPAYLOAD_DIR)/bin/lpas -CFLAGS := -Wall -Werror -Os +CFLAGS := -fno-builtin -Wall -Werror -Os TARGET := hello OBJS := $(TARGET).o
Paul Menzel has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/33287 )
Change subject: payloads/libpayload: Update a Makefile for sample libpayload and make a configuraton for QEMU/ARM. ......................................................................
Patch Set 12:
(1 comment)
https://review.coreboot.org/#/c/33287/12//COMMIT_MSG Commit Message:
https://review.coreboot.org/#/c/33287/12//COMMIT_MSG@7 PS12, Line 7: payloads/libpayload: Update a Makefile for sample libpayload : and make a configuraton for QEMU/ARM. Please just use one line summaries in the future with no dot/period at the end.
Asami Doi has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/33287 )
Change subject: payloads/libpayload: Update a Makefile for sample libpayload and make a configuraton for QEMU/ARM. ......................................................................
Patch Set 12:
(1 comment)
https://review.coreboot.org/#/c/33287/12//COMMIT_MSG Commit Message:
https://review.coreboot.org/#/c/33287/12//COMMIT_MSG@7 PS12, Line 7: payloads/libpayload: Update a Makefile for sample libpayload : and make a configuraton for QEMU/ARM.
Please just use one line summaries in the future with no dot/period at the end.
OK. I will do that from next time. Thank you for your advice.