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>
This commit is contained in:
parent
7d881b5189
commit
d97591c345
|
@ -22,12 +22,18 @@ Installation
|
||||||
|
|
||||||
$ make
|
$ 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
|
On x86 systems, libpayload will always be 32-bit even if your host OS runs
|
||||||
32bit libgcc version, otherwise your payloads will fail to compile.
|
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.
|
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
|
Usage
|
||||||
-----
|
-----
|
||||||
|
|
|
@ -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
|
|
@ -28,19 +28,20 @@
|
||||||
##
|
##
|
||||||
|
|
||||||
# Sample libpayload Makefile.
|
# Sample libpayload Makefile.
|
||||||
include ../.xcompile
|
|
||||||
include ../.config
|
include ../.config
|
||||||
|
include ../.xcompile
|
||||||
|
|
||||||
ARCH-$(CONFIG_LP_ARCH_ARMV) := arm
|
ARCH-$(CONFIG_LP_ARCH_ARM) := arm
|
||||||
ARCH-$(CONFIG_LP_ARCH_POWERPC) := powerpc
|
ARCH-$(CONFIG_LP_ARCH_X86) := x86_32
|
||||||
ARCH-$(CONFIG_LP_ARCH_X86) := i386
|
ARCH-$(CONFIG_LP_ARCH_ARM64) := arm64
|
||||||
|
ARCH-$(CONFIG_LP_ARCH_MIPS) := mips
|
||||||
|
|
||||||
CC := $(CC_$(ARCH-y))
|
CC := $(CC_$(ARCH-y))
|
||||||
AS := $(AS_$(ARCH-y))
|
AS := $(AS_$(ARCH-y))
|
||||||
LIBPAYLOAD_DIR := ../install/libpayload
|
LIBPAYLOAD_DIR := ../install/libpayload
|
||||||
XCC := CC="$(CC)" $(LIBPAYLOAD_DIR)/bin/lpgcc
|
XCC := CC="$(CC)" $(LIBPAYLOAD_DIR)/bin/lpgcc
|
||||||
XAS := AS="$(AS)" $(LIBPAYLOAD_DIR)/bin/lpas
|
XAS := AS="$(AS)" $(LIBPAYLOAD_DIR)/bin/lpas
|
||||||
CFLAGS := -Wall -Werror -Os
|
CFLAGS := -fno-builtin -Wall -Werror -Os
|
||||||
TARGET := hello
|
TARGET := hello
|
||||||
OBJS := $(TARGET).o
|
OBJS := $(TARGET).o
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue