Address fpga srcs
This commit is contained in:
@@ -10,7 +10,10 @@ CFLAGS+= -fno-common -g -DENTROPY=0 -mabi=lp64 -DNONSMP_HART=0
|
||||
CFLAGS+= -I $(ROOT_DIR)/include -I.
|
||||
LFLAGS=-static -nostdlib -L $(ROOT_DIR)/linker -T sdboot.elf.lds
|
||||
|
||||
#PBUS_CLK passed in
|
||||
PBUS_CLK ?= 1000000 # default to 1MHz but really should be overridden
|
||||
|
||||
default: elf bin dump
|
||||
|
||||
elf := $(BUILD_DIR)/sdboot.elf
|
||||
$(elf): head.S kprintf.c sd.c
|
||||
mkdir -p $(BUILD_DIR)
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
// See LICENSE for license details.
|
||||
|
||||
#ifndef _EAGLE_PLATFORM_H
|
||||
#define _EAGLE_PLATFORM_H
|
||||
#ifndef _CHIPYARD_PLATFORM_H
|
||||
#define _CHIPYARD_PLATFORM_H
|
||||
|
||||
#include "const.h"
|
||||
#include "riscv_test_defaults.h"
|
||||
#include "devices/clint.h"
|
||||
#include "devices/gpio.h"
|
||||
#include "devices/plic.h"
|
||||
@@ -105,4 +104,4 @@
|
||||
// Misc
|
||||
|
||||
|
||||
#endif /* _SIFIVE_PLATFORM_H */
|
||||
#endif /* _CHIPYARD_PLATFORM_H */
|
||||
|
||||
@@ -1,81 +0,0 @@
|
||||
// See LICENSE.Sifive for license details.
|
||||
#ifndef _RISCV_TEST_DEFAULTS_H
|
||||
#define _RISCV_TEST_DEFAULTS_H
|
||||
|
||||
#define TESTNUM x28
|
||||
#define TESTBASE 0x4000
|
||||
|
||||
#define RVTEST_RV32U \
|
||||
.macro init; \
|
||||
.endm
|
||||
|
||||
#define RVTEST_RV64U \
|
||||
.macro init; \
|
||||
.endm
|
||||
|
||||
#define RVTEST_RV32UF \
|
||||
.macro init; \
|
||||
/* If FPU exists, initialize FCSR. */ \
|
||||
csrr t0, misa; \
|
||||
andi t0, t0, 1 << ('F' - 'A'); \
|
||||
beqz t0, 1f; \
|
||||
/* Enable FPU if it exists. */ \
|
||||
li t0, MSTATUS_FS; \
|
||||
csrs mstatus, t0; \
|
||||
fssr x0; \
|
||||
1: ; \
|
||||
.endm
|
||||
|
||||
#define RVTEST_RV64UF \
|
||||
.macro init; \
|
||||
/* If FPU exists, initialize FCSR. */ \
|
||||
csrr t0, misa; \
|
||||
andi t0, t0, 1 << ('F' - 'A'); \
|
||||
beqz t0, 1f; \
|
||||
/* Enable FPU if it exists. */ \
|
||||
li t0, MSTATUS_FS; \
|
||||
csrs mstatus, t0; \
|
||||
fssr x0; \
|
||||
1: ; \
|
||||
.endm
|
||||
|
||||
#define RVTEST_CODE_BEGIN \
|
||||
.section .text.init; \
|
||||
.globl _prog_start; \
|
||||
_prog_start: \
|
||||
init;
|
||||
|
||||
#define RVTEST_CODE_END \
|
||||
unimp
|
||||
|
||||
#define RVTEST_PASS \
|
||||
fence; \
|
||||
li t0, TESTBASE; \
|
||||
li t1, 0x5555; \
|
||||
sw t1, 0(t0); \
|
||||
1: \
|
||||
j 1b;
|
||||
|
||||
#define RVTEST_FAIL \
|
||||
li t0, TESTBASE; \
|
||||
li t1, 0x3333; \
|
||||
slli a0, a0, 16; \
|
||||
add a0, a0, t1; \
|
||||
sw a0, 0(t0); \
|
||||
1: \
|
||||
j 1b;
|
||||
|
||||
#define EXTRA_DATA
|
||||
|
||||
#define RVTEST_DATA_BEGIN \
|
||||
EXTRA_DATA \
|
||||
.align 4; .global begin_signature; begin_signature:
|
||||
|
||||
#define RVTEST_DATA_END \
|
||||
_msg_init: .asciz "RUN\r\n"; \
|
||||
_msg_pass: .asciz "PASS"; \
|
||||
_msg_fail: .asciz "FAIL "; \
|
||||
_msg_end: .asciz "\r\n"; \
|
||||
.align 4; .global end_signature; end_signature:
|
||||
|
||||
#endif /* _RISCV_TEST_DEFAULTS_H */
|
||||
@@ -47,7 +47,7 @@ SECTIONS
|
||||
|
||||
.rodata ALIGN((ADDR(.sdata) + SIZEOF(.sdata)), 8) : AT(ALIGN((LOADADDR(.sdata) + SIZEOF(.sdata)), 8)) ALIGN_WITH_INPUT {
|
||||
*(.rodata .rodata.* .gnu.linkonce.r.*)
|
||||
*(.dtb)
|
||||
*(.dtb) /* Must be last if this code is added to RC's BootROM */
|
||||
} >bootrom_mem :data
|
||||
|
||||
PROVIDE(_data = ADDR(.rodata));
|
||||
|
||||
Reference in New Issue
Block a user