ready for ics2021

This commit is contained in:
Zihao Yu 2021-08-07 11:28:08 +08:00
parent 3cf0ee6d42
commit 30e5cd0c7e
72 changed files with 252 additions and 339 deletions

View file

@ -1,5 +1,5 @@
CROSS_COMPILE := riscv64-linux-gnu-
COMMON_FLAGS := -fno-pic -march=rv64g -mcmodel=medany
COMMON_FLAGS := -fno-pic -march=rv64g -mcmodel=medany -mstrict-align
CFLAGS += $(COMMON_FLAGS) -static
ASFLAGS += $(COMMON_FLAGS) -O0
LDFLAGS += -melf64lriscv

View file

@ -1,3 +1,8 @@
include $(AM_HOME)/scripts/isa/mips32.mk
include $(AM_HOME)/scripts/platform/nemu.mk
LDFLAGS += --defsym=_pmem_start=0x80000000
CFLAGS += -DISA_H=\"mips/mips32.h\"
AM_SRCS += mips/nemu/start.S \
mips/nemu/cte.c \
mips/nemu/trap.S \
mips/nemu/vme.c

View file

@ -9,6 +9,7 @@ AM_SRCS := native/trm.c \
native/ioe/timer.c \
native/ioe/gpu.c \
native/ioe/audio.c \
native/ioe/disk.c \
CFLAGS += -fpie
ASFLAGS += -fpie -pie

View file

@ -1,23 +1,21 @@
AM_SRCS := nemu/trm.c \
nemu/ioe/ioe.c \
nemu/ioe/timer.c \
nemu/ioe/input.c \
nemu/ioe/gpu.c \
nemu/ioe/audio.c \
nemu/isa/$(ISA)/cte.c \
nemu/isa/$(ISA)/trap.S \
nemu/isa/$(ISA)/vme.c \
nemu/mpe.c \
nemu/isa/$(ISA)/start.S
AM_SRCS := platform/nemu/trm.c \
platform/nemu/ioe/ioe.c \
platform/nemu/ioe/timer.c \
platform/nemu/ioe/input.c \
platform/nemu/ioe/gpu.c \
platform/nemu/ioe/audio.c \
platform/nemu/ioe/disk.c \
platform/nemu/mpe.c
CFLAGS += -fdata-sections -ffunction-sections
LDFLAGS += -T $(AM_HOME)/scripts/platform/nemu.ld --defsym=_entry_offset=0x100000
LDFLAGS += -T $(AM_HOME)/scripts/linker.ld \
--defsym=_pmem_start=0x80000000 --defsym=_entry_offset=0x0
LDFLAGS += --gc-sections -e _start
NEMUFLAGS += -b -l $(shell dirname $(IMAGE).elf)/nemu-log.txt $(IMAGE).bin
NEMUFLAGS += -b -l $(shell dirname $(IMAGE).elf)/nemu-log.txt
CFLAGS += -DMAINARGS=\"$(mainargs)\"
CFLAGS += -I$(AM_HOME)/am/src/nemu/include
.PHONY: $(AM_HOME)/am/src/nemu/trm.c
CFLAGS += -I$(AM_HOME)/am/src/platform/nemu/include
.PHONY: $(AM_HOME)/am/src/platform/nemu/trm.c
image: $(IMAGE).elf
@$(OBJDUMP) -d $(IMAGE).elf > $(IMAGE).txt
@ -25,7 +23,7 @@ image: $(IMAGE).elf
@$(OBJCOPY) -S --set-section-flags .bss=alloc,contents -O binary $(IMAGE).elf $(IMAGE).bin
run: image
$(MAKE) -C $(NEMU_HOME) ISA=$(ISA) run ARGS="$(NEMUFLAGS)"
$(MAKE) -C $(NEMU_HOME) ISA=$(ISA) run ARGS="$(NEMUFLAGS)" IMG=$(IMAGE).bin
gdb: image
$(MAKE) -C $(NEMU_HOME) ISA=$(ISA) gdb ARGS="$(NEMUFLAGS)"
$(MAKE) -C $(NEMU_HOME) ISA=$(ISA) gdb ARGS="$(NEMUFLAGS)" IMG=$(IMAGE).bin

View file

@ -1,3 +1,8 @@
include $(AM_HOME)/scripts/isa/riscv32.mk
include $(AM_HOME)/scripts/platform/nemu.mk
LDFLAGS += --defsym=_pmem_start=0x80000000
CFLAGS += -DISA_H=\"riscv/riscv.h\"
AM_SRCS += riscv/nemu/start.S \
riscv/nemu/cte.c \
riscv/nemu/trap.S \
riscv/nemu/vme.c

View file

@ -4,23 +4,23 @@ CFLAGS += $(COMMON_FLAGS) -static
ASFLAGS += $(COMMON_FLAGS) -O0
LDFLAGS += -melf64lriscv
AM_SRCS := mycpu/start.S \
mycpu/trm.c \
mycpu/libgcc/muldi3.S \
mycpu/libgcc/div.S \
mycpu/ioe.c \
mycpu/timer.c \
mycpu/input.c \
mycpu/cte.c \
mycpu/trap.S \
mycpu/vme.c \
mycpu/mpe.c
AM_SRCS := riscv/mycpu/start.S \
riscv/mycpu/trm.c \
riscv/mycpu/libgcc/muldi3.S \
riscv/mycpu/libgcc/div.S \
riscv/mycpu/ioe.c \
riscv/mycpu/timer.c \
riscv/mycpu/input.c \
riscv/mycpu/cte.c \
riscv/mycpu/trap.S \
platform/dummy/vme.c \
platform/dummy/mpe.c
CFLAGS += -fdata-sections -ffunction-sections
LDFLAGS += -T $(AM_HOME)/scripts/platform/nemu.ld --defsym=_pmem_start=0x80000000 --defsym=_entry_offset=0x0
LDFLAGS += -T $(AM_HOME)/scripts/linker.ld --defsym=_pmem_start=0x80000000 --defsym=_entry_offset=0x0
LDFLAGS += --gc-sections -e _start
CFLAGS += -DMAINARGS=\"$(mainargs)\"
.PHONY: $(AM_HOME)/am/src/mycpu/trm.c
.PHONY: $(AM_HOME)/am/src/riscv/mycpu/trm.c
image: $(IMAGE).elf
@$(OBJDUMP) -d $(IMAGE).elf > $(IMAGE).txt

View file

@ -1,3 +1,8 @@
include $(AM_HOME)/scripts/isa/riscv64.mk
include $(AM_HOME)/scripts/platform/nemu.mk
LDFLAGS += --defsym=_pmem_start=0x80000000
CFLAGS += -DISA_H=\"riscv/riscv.h\"
AM_SRCS += riscv/nemu/start.S \
riscv/nemu/cte.c \
riscv/nemu/trap.S \
riscv/nemu/vme.c

View file

@ -1,19 +1,19 @@
include $(AM_HOME)/scripts/isa/riscv64.mk
AM_SRCS := spike/trm.c \
spike/ioe.c \
spike/timer.c \
spike/start.S \
spike/htif.S \
AM_SRCS := riscv/spike/trm.c \
riscv/spike/ioe.c \
riscv/spike/timer.c \
riscv/spike/start.S \
riscv/spike/htif.S \
platform/dummy/cte.c \
platform/dummy/vme.c \
platform/dummy/mpe.c \
CFLAGS += -fdata-sections -ffunction-sections
LDFLAGS += -T $(AM_HOME)/am/src/spike/linker.ld
LDFLAGS += -T $(AM_HOME)/am/src/riscv/spike/linker.ld
LDFLAGS += --gc-sections -e _start
CFLAGS += -DMAINARGS=\"$(mainargs)\"
.PHONY: $(AM_HOME)/am/src/spike/trm.c
.PHONY: $(AM_HOME)/am/src/riscv/spike/trm.c
image: $(IMAGE).elf

View file

@ -1,4 +1,10 @@
include $(AM_HOME)/scripts/isa/x86.mk
include $(AM_HOME)/scripts/platform/nemu.mk
CFLAGS += -mstringop-strategy=loop
LDFLAGS += --defsym=_pmem_start=0x0
CFLAGS += -mstringop-strategy=loop -DISA_H=\"x86/x86.h\"
# overwrite _pmem_start and _entry_offset defined in nemu.mk
LDFLAGS += --defsym=_pmem_start=0x0 --defsym=_entry_offset=0x100000
AM_SRCS += x86/nemu/start.S \
x86/nemu/cte.c \
x86/nemu/trap.S \
x86/nemu/vme.c