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:
Asami Doi 2019-06-07 16:22:03 +09:00 committed by Patrick Georgi
parent 7d881b5189
commit d97591c345
3 changed files with 21 additions and 8 deletions

View File

@ -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
----- -----

View File

@ -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

View File

@ -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