1LOCAL_DIR := $(GET_LOCAL_DIR)
2
3MODULE := $(LOCAL_DIR)
4
5ARCH := riscv
6SUBARCH := 64
7RISCV_MODE := supervisor
8WITH_SMP ?= true
9SMP_MAX_CPUS ?= 4
10LK_HEAP_IMPLEMENTATION ?= dlmalloc
11RISCV_FPU := true
12RISCV_MMU := sv39
13RISCV_EXTENSION_LIST ?= zba zbb
14
15MODULE_DEPS += lib/cbuf
16MODULE_DEPS += lib/fdt
17MODULE_DEPS += lib/fdtwalk
18MODULE_DEPS += dev/interrupt/riscv_plic
19MODULE_DEPS += dev/bus/pci
20MODULE_DEPS += dev/bus/pci/drivers
21
22MODULE_SRCS += $(LOCAL_DIR)/platform.c
23MODULE_SRCS += $(LOCAL_DIR)/uart.c
24
25MEMBASE ?= 0x40000000
26MEMSIZE ?= 0x10000000 # default to 256MB
27ifeq ($(RISCV_MODE),supervisor)
28# offset the kernel to account for OpenSBI using the bottom
29KERNEL_LOAD_OFFSET ?= 0x00200000 # kernel load offset
30endif
31
32# we can revert to a poll based uart spin routine
33GLOBAL_DEFINES += PLATFORM_SUPPORTS_PANIC_SHELL=1
34
35# do not need to implement any cache ops
36GLOBAL_DEFINES += RISCV_NO_CACHE_OPS=1
37
38include make/module.mk
39