mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2026-07-26 15:44:58 +00:00
This commit adds riscv build skeleton and adds some dummy files that
prints out hello world.
To build riscv acrn.out/acrn.bin, simply:
make hypervisor \
BOARD=<any existing board> \
SCENARIO=<any existing scenario> \
ARCH=riscv
We still need to specify board and scenario as those were required by
project level makefile.
Tracked-On: #8782
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
Acked-by: Wang, Yu1 <yu1.wang@intel.com>
55 lines
1.3 KiB
Makefile
55 lines
1.3 KiB
Makefile
CROSS_COMPILE ?= riscv64-linux-gnu-
|
|
|
|
CC = $(CROSS_COMPILE)gcc
|
|
AS = $(CROSS_COMPILE)as
|
|
AR = $(CROSS_COMPILE)ar
|
|
LD = $(CROSS_COMPILE)ld
|
|
OBJCOPY = $(CROSS_COMPILE)objcopy
|
|
|
|
ARCH_LDSCRIPT_IN = arch/riscv/link_ram.ld.in
|
|
|
|
CFLAGS +=
|
|
|
|
ASFLAGS +=
|
|
|
|
# g expands to i, m, a, f, d, zicsr and zifencei.
|
|
# h for hypervisor extension
|
|
RV_ISA += gh
|
|
RV_ISA += zbb
|
|
RV_ISA += zicbom
|
|
|
|
ARCH_CFLAGS += -march=rv64$(subst $() $(),_,$(RV_ISA))
|
|
ARCH_CFLAGS += -mabi=lp64d
|
|
ARCH_CFLAGS += -mcmodel=medany
|
|
|
|
ARCH_ASFLAGS += -march=rv64$(subst $() $(),_,$(RV_ISA))
|
|
|
|
# HV host assembly sources
|
|
HOST_S_SRCS += arch/riscv/dummy_entry.S
|
|
|
|
# HV host C sources
|
|
HOST_C_SRCS += arch/riscv/dummy.c
|
|
|
|
# Virtual platform assembly sources
|
|
VP_S_SRCS +=
|
|
|
|
# Virtual platform C sources
|
|
VP_C_SRCS += arch/riscv/guest/dummy_guest.c
|
|
|
|
HOST_C_OBJS := $(patsubst %.c,$(HV_OBJDIR)/%.o,$(HOST_C_SRCS))
|
|
HOST_S_OBJS := $(patsubst %.S,$(HV_OBJDIR)/%.o,$(HOST_S_SRCS))
|
|
VP_C_OBJS := $(patsubst %.c,$(HV_OBJDIR)/%.o,$(VP_C_SRCS))
|
|
VP_S_OBJS := $(patsubst %.S,$(HV_OBJDIR)/%.o,$(VP_S_SRCS))
|
|
|
|
HOST_MOD := $(HV_MODDIR)/host_mod.a
|
|
VP_MOD := $(HV_MODDIR)/vp_mod.a
|
|
|
|
MODULES += $(HOST_MOD)
|
|
MODULES += $(VP_MOD)
|
|
|
|
$(HOST_MOD): $(HOST_C_OBJS) $(HOST_S_OBJS)
|
|
$(AR) $(ARFLAGS) $(HOST_MOD) $(HOST_C_OBJS) $(HOST_S_OBJS)
|
|
|
|
$(VP_MOD): $(VP_C_OBJS) $(VP_S_OBJS)
|
|
$(AR) $(ARFLAGS) $(VP_MOD) $(VP_C_OBJS) $(VP_S_OBJS)
|