From 1c11b973d6aec6c7fedbd8ae95eeaac6587e8d8d Mon Sep 17 00:00:00 2001 From: Huang_Yuqing Date: Thu, 29 Apr 2021 19:52:30 +0800 Subject: [PATCH] surport qemu --- Makefile | 2 +- board/hifive1-emulator/.defconfig | 246 +++ board/hifive1-emulator/Kconfig | 58 + board/hifive1-emulator/Makefile | 6 + board/hifive1-emulator/README.md | 76 + board/hifive1-emulator/board.c | 70 + board/hifive1-emulator/board.h | 82 + board/hifive1-emulator/config.mk | 20 + board/hifive1-emulator/img/menuconfig.png | Bin 0 -> 31828 bytes board/hifive1-emulator/img/terminal.png | Bin 0 -> 500942 bytes board/hifive1-emulator/link.lds | 105 ++ board/hifive1-emulator/link_userspace.lds | 73 + .../third_party_driver/Kconfig | 0 .../third_party_driver/LICENSE | 206 +++ .../third_party_driver/Makefile | 3 + .../third_party_driver/connect_usart.c | 278 ++++ .../third_party_driver/coreplexip-arty.h | 102 ++ .../third_party_driver/encoding.h | 1313 +++++++++++++++++ .../fe300prci/fe300prci_driver.c | 252 ++++ .../fe300prci/fe300prci_driver.h | 79 + .../third_party_driver/hifive1.h | 81 + .../third_party_driver/include/sifive/bits.h | 36 + .../third_party_driver/include/sifive/const.h | 18 + .../include/sifive/devices/aon.h | 88 ++ .../include/sifive/devices/clint.h | 14 + .../include/sifive/devices/gpio.h | 24 + .../include/sifive/devices/otp.h | 23 + .../include/sifive/devices/plic.h | 31 + .../include/sifive/devices/prci.h | 56 + .../include/sifive/devices/pwm.h | 37 + .../include/sifive/devices/spi.h | 80 + .../include/sifive/devices/uart.h | 27 + .../include/sifive/sections.h | 17 + .../third_party_driver/include/sifive/smp.h | 65 + .../third_party_driver/init.c | 263 ++++ .../third_party_driver/platform.h | 133 ++ .../third_party_driver/plic/plic_driver.c | 127 ++ .../third_party_driver/plic/plic_driver.h | 51 + path_kernel.mk | 10 + 39 files changed, 4151 insertions(+), 1 deletion(-) create mode 100644 board/hifive1-emulator/.defconfig create mode 100644 board/hifive1-emulator/Kconfig create mode 100644 board/hifive1-emulator/Makefile create mode 100644 board/hifive1-emulator/README.md create mode 100644 board/hifive1-emulator/board.c create mode 100644 board/hifive1-emulator/board.h create mode 100644 board/hifive1-emulator/config.mk create mode 100644 board/hifive1-emulator/img/menuconfig.png create mode 100644 board/hifive1-emulator/img/terminal.png create mode 100644 board/hifive1-emulator/link.lds create mode 100644 board/hifive1-emulator/link_userspace.lds create mode 100644 board/hifive1-emulator/third_party_driver/Kconfig create mode 100644 board/hifive1-emulator/third_party_driver/LICENSE create mode 100644 board/hifive1-emulator/third_party_driver/Makefile create mode 100644 board/hifive1-emulator/third_party_driver/connect_usart.c create mode 100644 board/hifive1-emulator/third_party_driver/coreplexip-arty.h create mode 100644 board/hifive1-emulator/third_party_driver/encoding.h create mode 100644 board/hifive1-emulator/third_party_driver/fe300prci/fe300prci_driver.c create mode 100644 board/hifive1-emulator/third_party_driver/fe300prci/fe300prci_driver.h create mode 100644 board/hifive1-emulator/third_party_driver/hifive1.h create mode 100644 board/hifive1-emulator/third_party_driver/include/sifive/bits.h create mode 100644 board/hifive1-emulator/third_party_driver/include/sifive/const.h create mode 100644 board/hifive1-emulator/third_party_driver/include/sifive/devices/aon.h create mode 100644 board/hifive1-emulator/third_party_driver/include/sifive/devices/clint.h create mode 100644 board/hifive1-emulator/third_party_driver/include/sifive/devices/gpio.h create mode 100644 board/hifive1-emulator/third_party_driver/include/sifive/devices/otp.h create mode 100644 board/hifive1-emulator/third_party_driver/include/sifive/devices/plic.h create mode 100644 board/hifive1-emulator/third_party_driver/include/sifive/devices/prci.h create mode 100644 board/hifive1-emulator/third_party_driver/include/sifive/devices/pwm.h create mode 100644 board/hifive1-emulator/third_party_driver/include/sifive/devices/spi.h create mode 100644 board/hifive1-emulator/third_party_driver/include/sifive/devices/uart.h create mode 100644 board/hifive1-emulator/third_party_driver/include/sifive/sections.h create mode 100644 board/hifive1-emulator/third_party_driver/include/sifive/smp.h create mode 100644 board/hifive1-emulator/third_party_driver/init.c create mode 100644 board/hifive1-emulator/third_party_driver/platform.h create mode 100644 board/hifive1-emulator/third_party_driver/plic/plic_driver.c create mode 100644 board/hifive1-emulator/third_party_driver/plic/plic_driver.h diff --git a/Makefile b/Makefile index 7352edfc..e122478c 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ MAKEFLAGS += --no-print-directory .PHONY:COMPILE_APP COMPILE_KERNEL -support :=kd233 stm32f407-st-discovery maix-go stm32f407zgt6 aiit-riscv64-board aiit-arm32-board hifive1-rev-B +support :=kd233 stm32f407-st-discovery maix-go stm32f407zgt6 aiit-riscv64-board aiit-arm32-board hifive1-rev-B hifive1-emulator SRC_DIR:= export BOARD ?=kd233 diff --git a/board/hifive1-emulator/.defconfig b/board/hifive1-emulator/.defconfig new file mode 100644 index 00000000..7cf3b63d --- /dev/null +++ b/board/hifive1-emulator/.defconfig @@ -0,0 +1,246 @@ +# +# Automatically generated file; DO NOT EDIT. +# XiUOS Project Configuration +# +CONFIG_BOARD_FE310_EVB=y +CONFIG_KERNEL_CONSOLE_DEVICE_NAME="uart0" +#CONFIG_LED0=24 +#CONFIG_LED1=25 +CONFIG_ARCH_RISCV=y +CONFIG_ARCH_RISCV32=y +CONFIG_ARCH_CPU_32BIT=y + +# +# hifive1 emulator feature +# +# CONFIG_BSP_USING_AUDIO is not set +# CONFIG_BSP_USING_CAMERA is not set +# CONFIG_BSP_USING_SDIO is not set +# CONFIG_BSP_USING_DMA is not set +CONFIG_BSP_USING_GPIO=y +# CONFIG_BSP_USING_I2C is not set +# CONFIG_BSP_USING_I2S is not set +# CONFIG_BSP_USING_LCD is not set +# CONFIG_BSP_USING_RTC is not set +# CONFIG_BSP_USING_SECURITY is not set +# CONFIG_BSP_USING_SPI is not set +CONFIG_BSP_USING_UART=y +# CONFIG_BSP_USING_UART_HS is not set +# CONFIG_BSP_USING_VIDEO is not set +# CONFIG_BSP_USING_WDT is not set + +# +# General Purpose UARTs +# + +CONFIG___STACKSIZE__=1024 + +# +# Hardware feature +# +CONFIG_RESOURCES_SERIAL=y +# CONFIG_SERIAL_USING_DMA=y +CONFIG_SERIAL_RB_BUFSZ=64 +CONFIG_FS_VFS=n +# CONFIG_RESOURCES_HWTIMER is not set +# CONFIG_RESOURCES_I2C is not set +# CONFIG_RESOURCES_LCD is not set +# CONFIG_RESOURCES_SDIO is not set +# CONFIG_RESOURCES_TOUCH is not set +# CONFIG_RESOURCES_PIN=y +# CONFIG_RESOURCES_RTC is not set +# CONFIG_RESOURCES_SPI is not set +#CONFIG_RESOURCES_SPI_SD is not set +#CONFIG_RESOURCES_SPI_SFUD is not set +# SFUD_USING_SFDP is not set +# SFUD_USING_FLASH_INFO_TABLE is not set +# SFUD_DEBUG_LOG is not set +# CONFIG_RESOURCES_WDT is not set +# CONFIG_RESOURCES_USB is not set +# CONFIG_RESOURCES_USB_HOST is not set +# CONFIG_UDISK_MOUNTPOINT is not set +# CONFIG_USBH_MSTORAGE is not set +# CONFIG_RESOURCES_USB_DEVICE is not set +# CONFIG_USBD_THREAD_STACK_SZ is not set + +# +# Kernel feature +# + +# +# Kernel Device Object +# +CONFIG_KERNEL_DEVICE=y +CONFIG_KERNEL_CONSOLE=y +CONFIG_KERNEL_CONSOLEBUF_SIZE=128 + +# +# Task feature +# +CONFIG_SCHED_POLICY_RR_REMAINSLICE=y +# CONFIG_SCHED_POLICY_RR is not set +# CONFIG_SCHED_POLICY_FIFO is not set + +# +# Memory Management +# +# CONFIG_KERNEL_MEMBLOCK is not set +CONFIG_MEM_ALIGN_SIZE=4 +CONFIG_MM_PAGE_SIZE=1024 + +# +# Using small memory allocator +# +# CONFIG_KERNEL_SMALL_MEM_ALLOC is not set + +# +# Inter-Task communication +# +# CONFIG_KERNEL_SEMAPHORE=y +# CONFIG_KERNEL_MUTEX=y +CONFIG_KERNEL_EVENT=n +CONFIG_KERNEL_MESSAGEQUEUE=n +CONFIG_KTASK_PRIORITY_8=y +CONFIG_KTASK_PRIORITY_MAX=8 +CONFIG_TICK_PER_SECOND=100 +# CONFIG_KERNEL_STACK_OVERFLOW_CHECK=y +CONFIG_KERNEL_BANNER=y +# CONFIG_KERNEL_HOOK is not set +# CONFIG_KERNEL_SOFTTIMER=y +# CONFIG_KERNEL_IDLE_HOOK=y +# CONFIG_IDEL_HOOK_LIST_SIZE=4 +CONFIG_IDLE_KTASK_STACKSIZE=512 +CONFIG_ZOMBIE_KTASK_STACKSIZE=512 +# CONFIG_KERNEL_TASK_ISOLATION is not set + +# +# Memory Management +# +# CONFIG_KERNEL_MEMBLOCK is not set + +# +# Command shell +# +CONFIG_TOOL_SHELL=y +CONFIG_SHELL_TASK_PRIORITY=4 +CONFIG_SHELL_TASK_STACK_SIZE=2048 + +# +# User Control +# +CONFIG_SHELL_DEFAULT_USER="letter" +CONFIG_SHELL_DEFAULT_USER_PASSWORD="" +CONFIG_SHELL_LOCK_TIMEOUT=10000 +CONFIG_SHELL_ENTER_CR_AND_LF=y +# CONFIG_SHELL_ENTER_CRLF is not set +CONFIG_SHELL_ENTER_CR=y +CONFIG_SHELL_ENTER_LF=y +CONFIG_SHELL_MAX_NUMBER=5 +CONFIG_SHELL_PARAMETER_MAX_NUMBER=8 +CONFIG_SHELL_HISTORY_MAX_NUMBER=5 +CONFIG_SHELL_PRINT_BUFFER=128 +CONFIG_SHELL_USING_CMD_EXPORT=y +# CONFIG_SHELL_HELP_LIST_USER is not set +CONFIG_SHELL_HELP_SHOW_PERMISSION=y +# CONFIG_SHELL_HELP_LIST_VAR is not set +# CONFIG_SHELL_HELP_LIST_KEY is not set +#CONFIG_KERNEL_QUEUEMANAGE=y +# CONFIG_KERNEL_WORKQUEUE is not set +CONFIG_WORKQUEUE_KTASK_STACKSIZE=256 +CONFIG_WORKQUEUE_KTASK_PRIORITY=2 +CONFIG_QUEUE_MAX=2 +CONFIG_KERNEL_WAITQUEUE=y +CONFIG_KERNEL_DATAQUEUE=y +# CONFIG_KERNEL_CIRCULAR_AREA is not set +# CONFIG_KERNEL_AVL_TREE is not set +CONFIG_NAME_MAX=32 +CONFIG_ALIGN_SIZE=8 +CONFIG_KERNEL_COMPONENTS_INIT=n +CONFIG_KERNEL_USER_MAIN=y +CONFIG_MAIN_KTASK_STACK_SIZE=1500 +CONFIG_ENV_INIT_KTASK_STACK_SIZE=1024 +CONFIG_MAIN_KTASK_PRIORITY=3 +# CONFIG_USER_TEST is not set +# CONFIG_TOOL_TEST_SEM is not set +# CONFIG_TOOL_TEST_MUTEX is not set +# CONFIG_TOOL_TEST_EVENT is not set +# CONFIG_TOOL_TEST_MSG is not set +# CONFIG_TOOL_TEST_AVLTREE is not set +# CONFIG_TEST_CRICULAR_AREA is not set +# CONFIG_TOOL_TEST_MEM is not set +# CONFIG_TOOL_TEST_TIMER is not set +# CONFIG_TOOL_TEST_IWG is not set +# CONFIG_TOOL_TEST_REALTIME is not set +# CONFIG_TOOL_TEST_DBG is not set +# CONFIG_TOOL_TEST_SCHED is not set +# CONFIG_KERNEL_DEBUG is not set +#CONFIG_DEBUG_INIT_CONFIG=y +#CONFIG_DBG_INIT=1 +#CONFIG_ARCH_SMP=y +#CONFIG_CPUS_NR=2 + +# +# hash table config +# +CONFIG_ID_HTABLE_SIZE=4 +CONFIG_ID_NUM_MAX=16 + +# +# File system +# +CONFIG_FS_DFS=n +#CONFIG_DFS_USING_WORKDIR=y +#CONFIG_FS_DFS_DEVFS=y + +# +# Fat filesystem +# + +# +# IOT-Device File system +# + +# +# Lwext4 filesystem +# + +# +# APP Framework +# + +# +# Perception +# +# CONFIG_PERCEPTION_SENSORDEVICE is not set + +# +# connection +# +# CONFIG_CONNECTION_AT is not set +# CONFIG_CONNECTION_MQTT is not set + +# +# medium communication +# + + +# +# Intelligence +# + +# +# Control +# + +# +# Lib +# +CONFIG_LIB=y +CONFIG_LIB_POSIX=y +CONFIG_LIB_NEWLIB=y + +# CONFIG_LITTLEVGL2RTT_USING_DEMO=y + +# +# Security +# diff --git a/board/hifive1-emulator/Kconfig b/board/hifive1-emulator/Kconfig new file mode 100644 index 00000000..ddecb604 --- /dev/null +++ b/board/hifive1-emulator/Kconfig @@ -0,0 +1,58 @@ +mainmenu "XiUOS Project Configuration" + +config BSP_DIR + string + option env="BSP_ROOT" + default "." + +config KERNEL_DIR + string + option env="KERNEL_ROOT" + default "../.." + +config BOARD_FE310_EVB + bool + select ARCH_RISCV + select ARCH_RISCV32 + select ARCH_CPU_32BIT + default y + +config KERNEL_CONSOLE_DEVICE_NAME + string + default "uart0" + + +source "$KERNEL_DIR/arch/Kconfig" + +menu "hifive1-emulator feature" + source "$BSP_DIR/third_party_driver/Kconfig" + + menu "config default board resources" + menu "config board app name" + config BOARD_APP_NAME + string "config board app name" + default "/XiUOS_hifive1-emulator_app.bin" + endmenu + + menu "config board service table" + config SERVICE_TABLE_ADDRESS + hex "board service table address" + default 0x2007F0000 + endmenu + + endmenu + + config __STACKSIZE__ + int "stack size for interrupt" + default 4096 + +endmenu + + +menu "Hardware feature" +source "$KERNEL_DIR/resources/Kconfig" +endmenu + +source "$KERNEL_DIR/Kconfig" + + diff --git a/board/hifive1-emulator/Makefile b/board/hifive1-emulator/Makefile new file mode 100644 index 00000000..ba3103bf --- /dev/null +++ b/board/hifive1-emulator/Makefile @@ -0,0 +1,6 @@ +SRC_FILES := board.c + +SRC_DIR := third_party_driver + + +include $(KERNEL_ROOT)/compiler.mk \ No newline at end of file diff --git a/board/hifive1-emulator/README.md b/board/hifive1-emulator/README.md new file mode 100644 index 00000000..3da73535 --- /dev/null +++ b/board/hifive1-emulator/README.md @@ -0,0 +1,76 @@ +# hifive1 emulator README + +## 1. 简介 +Q‎EMU 是一个通用的开源模拟器和虚拟化工具。‎从5.0版本开始,Q‎EMU已经可以较完整的支持RISC-V架构,同时支持SiFive的E系列核心。目前XiUOS同样支持运行在Q‎EMU上。 + +| 硬件 | 描述 | +| -- | -- | +|芯片型号| Hifive1-FE310 | +|架构| RV32IMAC | +|主频| NA | +|片内SRAM| 16KB | +| 外设支持 | UART | + +XiUOS板级当前支持使用UART。 + +## 2. 编译说明 + +编译环境:Ubuntu18.04 + +编译工具链:[riscv-none-embed-gcc](https://github.com/ilg-archived/riscv-none-gcc/releases) + +编译步骤: + +>1.将编译工具链的路径添加到board/hifive1-emulator/config.mk文件当中,例如将gnu-mcu-eclipse-riscv-none-gcc-8.2.0-2.1-20190425-1021-centos64.tgz解压到/opt/下时添加: +``` +export CROSS_COMPILE ?=/opt/gnu-mcu-eclipse/riscv-none-gcc/8.2.0-2.1-20190425-1021/bin/riscv-none-embed- +``` +>2.在代码根目录下执行以下命令,生成配置文件 +``` +make BOARD=hifive1-emulator menuconfig +``` +>3.在menuconfig界面配置需要关闭和开启的功能,按回车键进入下级菜单,按Y键选中需要开启的功能,按N键选中需要关闭的功能,配置结束后选择Exit保存并退出 + +![hifive1-Rev-B](img/menuconfig.png) + +>4.继续执行以下命令,进行编译 +``` +make BOARD=hifive1-emulator +``` +>5.如果编译正确无误,会在build目录下产生XiUOS_hifive1-emulator.elf、XiUOS_hifive1-emulator.bin文件。 +>注:最后可以执行以下命令,清除配置文件和编译生成的文件 +``` +make BOARD=hifive1-emulator distclean +``` + +## 3. 运行 + +### 3.1 编译并安装Q‎EMU +官网下载Q‎EMU源码编译安装,推荐使用[Q‎EMU v5.2.0](https://download.qemu.org/qemu-5.2.0.tar.xz)版本,如果官网下载速度慢,也可从下面链接下载Q‎EMU v5.2.0源码压缩包[下载地址](https://download.qemu.org/qemu-5.2.0.tar.xz) +``` +wget https://download.qemu.org/qemu-5.2.0.tar.xz +tar -xvf qemu-5.2.0.tar.xz +cd qemu-5.2.0 +./configure --target-list=riscv32-softmmu +make +sudo make install +``` + +### 3.2 运行结果 + +通过以下命令启动Q‎EMU并加载XiUOS ELF文件 +``` +qemu-system-riscv32 -nographic -machine sifive_e -kernel build/XiUOS_hifive1-emulator.elf +``` +QEMU运行起来后将会在终端上看到信息打印输出 +![terminal](img/terminal.png) + +### 3.3 调试 +利用Q‎EMU可以方便的对XiUOS进行调试,首先通过以下命令启动Q‎EMU +``` +qemu-system-riscv32 -nographic -machine sifive_e -kernel build/XiUOS_hifive1-emulator.elf -s -S +``` +然后在另一个终端,执行riscv-none-embed-gdb命令 +``` +riscv-none-embed-gdb build/XiUOS_hifive1-emulator.elf -ex "target remote localhost:1234" +``` \ No newline at end of file diff --git a/board/hifive1-emulator/board.c b/board/hifive1-emulator/board.c new file mode 100644 index 00000000..69ce19a2 --- /dev/null +++ b/board/hifive1-emulator/board.c @@ -0,0 +1,70 @@ +/* +* Copyright (c) 2020 AIIT XUOS Lab +* XiUOS is licensed under Mulan PSL v2. +* You can use this software according to the terms and conditions of the Mulan PSL v2. +* You may obtain a copy of Mulan PSL v2 at: +* http://license.coscl.org.cn/MulanPSL2 +* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, +* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, +* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. +* See the Mulan PSL v2 for more details. +*/ + +/** +* @file board.c +* @brief support hifive1-rev-B-board init configure and start-up +* @version 1.0 +* @author AIIT XUOS Lab +* @date 2021-04-25 +*/ + +#include +#include +#include +#include +#include +#include +#include + +extern void use_default_clocks(void); +extern void use_pll(int refsel, int bypass, int r, int f, int q); +plic_instance_t g_plic = {0} ; + +void InitBoardHardware(void) +{ + + /* initialize the system clock */ + use_default_clocks(); + use_pll(0, 0, 1, 31, 1); + + /* initialize hardware interrupt */ + asm volatile( + "la t0, save_hw_context\n" + "csrw mtvec, t0" + ); + + PLIC_init(&g_plic, + PLIC_CTRL_ADDR, + PLIC_NUM_INTERRUPTS, + PLIC_NUM_PRIORITIES); + + SET_CSR(mie, MIP_MEIP); + + /* initialize timer*/ + CLINT_MTIMECMP_ADDR = CLINT_MTIME_ADDR + TICK; + SET_CSR(mie, MIP_MTIP); + + extern int InitHwUart(void); + InitHwUart(); + InstallConsole(SERIAL_BUS_NAME, SERIAL_DRV_NAME, SERIAL_DEVICE_NAME); + + KPrintf("\nconsole init completed.\n"); + KPrintf("board initialization......\n"); + + KPrintf("memory address range: [0x%08x - 0x%08x], size: %d\n", (x_ubase) MEMORY_START_ADDRESS, (x_ubase) MEMORY_END_ADDRESS, MEMORY_SIZE); + /* initialize memory system */ + InitBoardMemory(MEMORY_START_ADDRESS, MEMORY_END_ADDRESS); + + return; +} + diff --git a/board/hifive1-emulator/board.h b/board/hifive1-emulator/board.h new file mode 100644 index 00000000..d39871fb --- /dev/null +++ b/board/hifive1-emulator/board.h @@ -0,0 +1,82 @@ +/* +* Copyright (c) 2020 AIIT XUOS Lab +* XiUOS is licensed under Mulan PSL v2. +* You can use this software according to the terms and conditions of the Mulan PSL v2. +* You may obtain a copy of Mulan PSL v2 at: +* http://license.coscl.org.cn/MulanPSL2 +* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, +* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, +* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. +* See the Mulan PSL v2 for more details. +*/ + +/** +* @file board.h +* @brief define hifive1-rev-B-board init configure and start-up function +* @version 1.0 +* @author AIIT XUOS Lab +* @date 2021-04-25 +*/ + +#ifndef __BOARD_H__ +#define __BOARD_H__ + +#include +#include + +#define TICK (RTC_FREQ / TICK_PER_SECOND) + +#define CLINT_MTIME_ADDR (*((volatile uint64_t *)(CLINT_CTRL_ADDR + CLINT_MTIME))) +#define CLINT_MTIMECMP_ADDR (*((volatile uint64_t *)(CLINT_CTRL_ADDR + CLINT_MTIMECMP))) + +#define SERIAL_BUS_NAME "uart0" +#define SERIAL_DRV_NAME "uart0_drv" +#define SERIAL_DEVICE_NAME "uart0_dev0" + +#define SURPORT_PMP + +#ifdef SEPARATE_COMPILE +#define MEMORY_SIZE 12 +#else +#define MEMORY_SIZE 16 +#endif + +extern void *_end; +extern void *_heap_end; +extern void *__stack_end__; + +extern unsigned int g_service_table_start; +extern unsigned int g_service_table_end; + +#define MEMORY_START_ADDRESS (void *)&__stack_end__ +#define MEMORY_END_ADDRESS (void *)( 0x80000000 + MEMORY_SIZE * 1024 ) + + +#ifdef SEPARATE_COMPILE +typedef int (*main_t)(int argc, char *argv[]); +typedef void (*exit_t)(void); +struct UserSpaceS +{ + main_t us_entrypoint; + exit_t us_taskquit; + uintptr_t us_textstart; + uintptr_t us_textend; + uintptr_t us_datasource; + uintptr_t us_datastart; + uintptr_t us_dataend; + uintptr_t us_bssstart; + uintptr_t us_bssend; + uintptr_t us_heapend; +}; +#define USERSPACE (( struct UserSpaceS *)(0x20080000)) + +#ifndef SERVICE_TABLE_ADDRESS +#define SERVICE_TABLE_ADDRESS (0x2007F0000) //in flash +#endif + +#define USER_SRAM_SIZE 4 +#define USER_MEMORY_START_ADDRESS (USERSPACE->us_bssend) +#define USER_MEMORY_END_ADDRESS (0x80003000 + USER_SRAM_SIZE * 1024) +#endif + +#endif diff --git a/board/hifive1-emulator/config.mk b/board/hifive1-emulator/config.mk new file mode 100644 index 00000000..4df299ea --- /dev/null +++ b/board/hifive1-emulator/config.mk @@ -0,0 +1,20 @@ +export CFLAGS := -mcmodel=medany -march=rv32imac -mabi=ilp32 -fno-common -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -O0 -ggdb -fgnu89-inline +export AFLAGS := -c -mcmodel=medany -march=rv32imac -mabi=ilp32 -x assembler-with-cpp -ggdb +export LFLAGS := -mcmodel=medany -march=rv32imac -mabi=ilp32 -nostartfiles -Wl,--gc-sections,-Map=XiUOS.map,-cref,-u,_start -T $(BSP_ROOT)/link.lds + +export APPLFLAGS := -mcmodel=medany -march=rv32imac -mabi=ilp32 -nostartfiles -Wl,--gc-sections,-Map=XiUOS_app.map,-cref,-u, -T $(BSP_ROOT)/link_userspace.lds + +export CXXFLAGS := -mcmodel=medany -march=rv32imac -mabi=ilp32 -fno-common -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -O0 -ggdb + +export CROSS_COMPILE ?=/opt/gnu-mcu-eclipse/riscv-none-gcc/8.2.0-2.1-20190425-1021/bin/riscv-none-embed- + + +export DEFINES := -DHAVE_CCONFIG_H -DHAVE_SIGINFO + + +export ARCH = risc-v +export MCU = FE310 + +# export HAVE_SIGINFO=1 + +# export USING_LORA = 1 diff --git a/board/hifive1-emulator/img/menuconfig.png b/board/hifive1-emulator/img/menuconfig.png new file mode 100644 index 0000000000000000000000000000000000000000..e20b8936005193450c1b0c9b5c0e3139879b5737 GIT binary patch literal 31828 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 E04#>>rT_o{ literal 0 HcmV?d00001 diff --git a/board/hifive1-emulator/img/terminal.png b/board/hifive1-emulator/img/terminal.png new file mode 100644 index 0000000000000000000000000000000000000000..76194c36cdabec5818fc55df41179b172caeea84 GIT binary patch literal 500942 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ⅅf-ycD2_2<7w3exx*y?$ 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 z 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 literal 0 HcmV?d00001 diff --git a/board/hifive1-emulator/link.lds b/board/hifive1-emulator/link.lds new file mode 100644 index 00000000..6081e312 --- /dev/null +++ b/board/hifive1-emulator/link.lds @@ -0,0 +1,105 @@ +/* +* Copyright (c) 2020 AIIT XUOS Lab +* XiUOS is licensed under Mulan PSL v2. +* You can use this software according to the terms and conditions of the Mulan PSL v2. +* You may obtain a copy of Mulan PSL v2 at: +* http://license.coscl.org.cn/MulanPSL2 +* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, +* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, +* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. +* See the Mulan PSL v2 for more details. +*/ + +OUTPUT_ARCH( "riscv" ) +__STACKSIZE__ = 1024; +ENTRY( _begin ) + +MEMORY +{ + flash (rxai!w) : ORIGIN = 0x20400000, LENGTH = 4096K + sram (wxa!ri) : ORIGIN = 0x80000000, LENGTH = 16K +} + + +SECTIONS +{ + .start : + { + *(.init); + } > flash + .text : + { + *(.text .text.*) + *(.rodata .rodata*) + /* section information for shell */ + . = ALIGN(8); + _shell_command_start = .; + KEEP (*(shellCommand)) + _shell_command_end = .; + . = ALIGN(8); + + /* the work i did */ + PROVIDE(__ctors_start__ = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + PROVIDE(__ctors_end__ = .); + + . = ALIGN(4); + __isrtbl_idx_start = .; + KEEP(*(.isrtbl.idx)) + __isrtbl_start = .; + KEEP(*(.isrtbl)) + __isrtbl_end = .; + . = ALIGN(8); + + PROVIDE(g_service_table_start = ABSOLUTE(.)); + KEEP(*(.g_service_table)) + PROVIDE(g_service_table_end = ABSOLUTE(.)); + + } > flash + + PROVIDE (_etext = .); + . = ALIGN(4); + + .lalign : + { + . = ALIGN(4); + PROVIDE( _data_lma = . ); + } >flash AT>flash + + .data : + { + . = ALIGN(4); + PROVIDE( _data = . ); + *(.data .data.*) + . = ALIGN(4); + PROVIDE( __global_pointer$ = . + 0x800 ); + *(.sdata .sdata.*) + } >sram AT>flash + + . = ALIGN(4); + PROVIDE( _edata = . ); + + PROVIDE( __bss_start = . ); + .bss : + { + *(.sbss*) + *(.bss .bss.*) + *(.scommon) + . = ALIGN(4); + } > sram + + . = ALIGN(8); + PROVIDE( _end = . ); + + .stack : + { + . = ALIGN(4); + /* cpu0 stack top site */ + . = . + __STACKSIZE__; + _sp = . ; + PROVIDE(_sp = ABSOLUTE(.)); + PROVIDE( __stack_end__ = ABSOLUTE(.) ); + } > sram + +} diff --git a/board/hifive1-emulator/link_userspace.lds b/board/hifive1-emulator/link_userspace.lds new file mode 100644 index 00000000..5cb86767 --- /dev/null +++ b/board/hifive1-emulator/link_userspace.lds @@ -0,0 +1,73 @@ +/* +* Copyright (c) 2020 AIIT XUOS Lab +* XiUOS is licensed under Mulan PSL v2. +* You can use this software according to the terms and conditions of the Mulan PSL v2. +* You may obtain a copy of Mulan PSL v2 at: +* http://license.coscl.org.cn/MulanPSL2 +* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, +* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, +* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. +* See the Mulan PSL v2 for more details. +*/ + +OUTPUT_ARCH("riscv") + +MEMORY +{ + uflash (rx) : ORIGIN = 0x20080000, LENGTH = 512k /* 512KB uflash */ + usram (rw) : ORIGIN = 0x80003000, LENGTH = 4k /* 4K usram */ +} + +SECTIONS +{ + .userspace : + { + . = ALIGN(4); + KEEP(*(.userspace)) + } > uflash + + .text : + { + _ustext = ABSOLUTE(.); + *(.text .text.*) + *(.rodata .rodata*) + *(.glue_7) + *(.glue_7t) + PROVIDE(_uetext = ABSOLUTE(.)); + } > uflash + + .init_section : { + _sinit = ABSOLUTE(.); + KEEP(*(.init_array .init_array.*)) + _einit = ABSOLUTE(.); + } > uflash + + __uexidx_start = ABSOLUTE(.); + + .ARM.exidx : + { + PROVIDE(__uexidx_start = ABSOLUTE(.)); + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + PROVIDE(__uexidx_end = ABSOLUTE(.)); + } > uflash + + _ueronly = ABSOLUTE(.); + + .data : AT(_ueronly) + { + _usdata = ABSOLUTE(.); + *(.data .data.*) + . = ALIGN(4); + _uedata = ABSOLUTE(.); + } > usram + + .bss : { + . = ALIGN(4); + _usbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.sbss .sbss.*) + . = ALIGN(4); + _uebss = ABSOLUTE(.); + } > usram + +} \ No newline at end of file diff --git a/board/hifive1-emulator/third_party_driver/Kconfig b/board/hifive1-emulator/third_party_driver/Kconfig new file mode 100644 index 00000000..e69de29b diff --git a/board/hifive1-emulator/third_party_driver/LICENSE b/board/hifive1-emulator/third_party_driver/LICENSE new file mode 100644 index 00000000..0b0b6c8f --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/LICENSE @@ -0,0 +1,206 @@ + +This software, except as otherwise noted in subrepositories, +is licensed under the Apache 2 license, quoted below. + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2016 SiFive, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/board/hifive1-emulator/third_party_driver/Makefile b/board/hifive1-emulator/third_party_driver/Makefile new file mode 100644 index 00000000..00a7478f --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/Makefile @@ -0,0 +1,3 @@ +SRC_FILES := connect_usart.c plic/plic_driver.c fe300prci/fe300prci_driver.c init.c + +include $(KERNEL_ROOT)/compiler.mk diff --git a/board/hifive1-emulator/third_party_driver/connect_usart.c b/board/hifive1-emulator/third_party_driver/connect_usart.c new file mode 100644 index 00000000..742b7dd8 --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/connect_usart.c @@ -0,0 +1,278 @@ +/* +* Copyright (c) 2020 AIIT XUOS Lab +* XiUOS is licensed under Mulan PSL v2. +* You can use this software according to the terms and conditions of the Mulan PSL v2. +* You may obtain a copy of Mulan PSL v2 at: +* http://license.coscl.org.cn/MulanPSL2 +* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, +* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, +* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. +* See the Mulan PSL v2 for more details. +*/ + +/** +* @file connect_usart.c +* @brief support aiit-arm32-board usart function and register to bus framework +* @version 1.0 +* @author AIIT XUOS Lab +* @date 2021-04-25 +*/ + +#include +#include + +#include +#include +#include +#include +#include + +static void SerialCfgParamCheck(struct SerialCfgParam *serial_cfg_default, struct SerialCfgParam *serial_cfg_new) +{ + struct SerialDataCfg *data_cfg_default = &serial_cfg_default->data_cfg; + struct SerialDataCfg *data_cfg_new = &serial_cfg_new->data_cfg; + + if((data_cfg_default->serial_baud_rate != data_cfg_new->serial_baud_rate) && (data_cfg_new->serial_baud_rate)) + { + data_cfg_default->serial_baud_rate = data_cfg_new->serial_baud_rate; + } + + if((data_cfg_default->serial_bit_order != data_cfg_new->serial_bit_order) && (data_cfg_new->serial_bit_order)) + { + data_cfg_default->serial_bit_order = data_cfg_new->serial_bit_order; + } + + if((data_cfg_default->serial_buffer_size != data_cfg_new->serial_buffer_size) && (data_cfg_new->serial_buffer_size)) + { + data_cfg_default->serial_buffer_size = data_cfg_new->serial_buffer_size; + } + + if((data_cfg_default->serial_data_bits != data_cfg_new->serial_data_bits) && (data_cfg_new->serial_data_bits)) + { + data_cfg_default->serial_data_bits = data_cfg_new->serial_data_bits; + } + + if((data_cfg_default->serial_invert_mode != data_cfg_new->serial_invert_mode) && (data_cfg_new->serial_invert_mode)) + { + data_cfg_default->serial_invert_mode = data_cfg_new->serial_invert_mode; + } + + if((data_cfg_default->serial_parity_mode != data_cfg_new->serial_parity_mode) && (data_cfg_new->serial_parity_mode)) + { + data_cfg_default->serial_parity_mode = data_cfg_new->serial_parity_mode; + } + + if((data_cfg_default->serial_stop_bits != data_cfg_new->serial_stop_bits) && (data_cfg_new->serial_stop_bits)) + { + data_cfg_default->serial_stop_bits = data_cfg_new->serial_stop_bits; + } +} + +static void usart_handler(int vector, void *param) +{ + struct SerialBus *serial_bus = (struct SerialBus *)param; + struct SerialHardwareDevice *serial_dev = (struct SerialHardwareDevice *)serial_bus->bus.owner_haldev; + + SerialSetIsr(serial_dev, SERIAL_EVENT_RX_IND); +} + +static uint32 SerialInit(struct SerialDriver *serial_drv, struct BusConfigureInfo *configure_info) +{ + NULL_PARAM_CHECK(serial_drv); + struct SerialCfgParam *serial_cfg = (struct SerialCfgParam *)serial_drv->private_data; + + if(configure_info->private_data) + { + struct SerialCfgParam *serial_cfg_new = (struct SerialCfgParam *)configure_info->private_data; + SerialCfgParamCheck(serial_cfg, serial_cfg_new); + } + + GPIO_REG(GPIO_IOF_SEL) &= ~IOF0_UART0_MASK; + GPIO_REG(GPIO_IOF_EN) |= IOF0_UART0_MASK; + + UART0_REG(UART_REG_DIV) = get_cpu_freq() / serial_cfg->data_cfg.serial_baud_rate - 1; + UART0_REG(UART_REG_TXCTRL) |= UART_TXEN; + UART0_REG(UART_REG_RXCTRL) |= UART_RXEN; + UART0_REG(UART_REG_IE) = UART_IP_RXWM; + + return EOK; +} + +static uint32 SerialConfigure(struct SerialDriver *serial_drv, int serial_operation_cmd) +{ + NULL_PARAM_CHECK(serial_drv); + + return EOK; +} + +static uint32 SerialDrvConfigure(void *drv, struct BusConfigureInfo *configure_info) +{ + NULL_PARAM_CHECK(drv); + NULL_PARAM_CHECK(configure_info); + + x_err_t ret = EOK; + int serial_operation_cmd; + struct SerialDriver *serial_drv = (struct SerialDriver *)drv; + + switch (configure_info->configure_cmd) + { + case OPE_INT: + ret = SerialInit(serial_drv, configure_info); + break; + case OPE_CFG: + serial_operation_cmd = *(int *)configure_info->private_data; + ret = SerialConfigure(serial_drv, serial_operation_cmd); + break; + default: + break; + } + + return ret; +} + +static int SerialPutChar(struct SerialHardwareDevice *serial_dev, char c) +{ + while (UART0_REG(UART_REG_TXFIFO) & 0x80000000) ; + UART0_REG(UART_REG_TXFIFO) = c; + + return 0; +} + +static int SerialGetChar(struct SerialHardwareDevice *serial_dev) +{ + int32_t val = UART0_REG(UART_REG_RXFIFO); + if (val > 0) + return (uint8_t)val; + else + return -1; +} + +static const struct SerialDataCfg data_cfg_init = +{ + .serial_baud_rate = BAUD_RATE_115200, + .serial_data_bits = DATA_BITS_8, + .serial_stop_bits = STOP_BITS_1, + .serial_parity_mode = PARITY_NONE, + .serial_bit_order = BIT_ORDER_LSB, + .serial_invert_mode = NRZ_NORMAL, + .serial_buffer_size = SERIAL_RB_BUFSZ, +}; + +/*manage the serial device operations*/ +static const struct SerialDrvDone drv_done = +{ + .init = SerialInit, + .configure = SerialConfigure, +}; + +/*manage the serial device hal operations*/ +static struct SerialHwDevDone hwdev_done = +{ + .put_char = SerialPutChar, + .get_char = SerialGetChar, +}; + +static int BoardSerialBusInit(struct SerialBus *serial_bus, struct SerialDriver *serial_driver, const char *bus_name, const char *drv_name) +{ + x_err_t ret = EOK; + + /*Init the serial bus */ + ret = SerialBusInit(serial_bus, bus_name); + if(EOK != ret) + { + KPrintf("InitHwUart SerialBusInit error %d\n", ret); + return ERROR; + } + + /*Init the serial driver*/ + ret = SerialDriverInit(serial_driver, drv_name); + if(EOK != ret) + { + KPrintf("InitHwUart SerialDriverInit error %d\n", ret); + return ERROR; + } + + /*Attach the serial driver to the serial bus*/ + ret = SerialDriverAttachToBus(drv_name, bus_name); + if(EOK != ret) + { + KPrintf("InitHwUart SerialDriverAttachToBus error %d\n", ret); + return ERROR; + } + + return ret; +} + +/*Attach the serial device to the serial bus*/ +static int BoardSerialDevBend(struct SerialHardwareDevice *serial_device, void *serial_param, const char *bus_name, const char *dev_name) +{ + x_err_t ret = EOK; + + ret = SerialDeviceRegister(serial_device, serial_param, dev_name); + if(EOK != ret) + { + KPrintf("InitHwUart SerialDeviceInit device %s error %d\n", dev_name, ret); + return ERROR; + } + + ret = SerialDeviceAttachToBus(dev_name, bus_name); + if(EOK != ret) + { + KPrintf("InitHwUart SerialDeviceAttachToBus device %s error %d\n", dev_name, ret); + return ERROR; + } + + return ret; +} + +int InitHwUart(void) +{ + x_err_t ret = EOK; + + static struct SerialBus serial_bus; + memset(&serial_bus, 0, sizeof(struct SerialBus)); + + static struct SerialDriver serial_driver; + memset(&serial_driver, 0, sizeof(struct SerialDriver)); + + static struct SerialHardwareDevice serial_device; + memset(&serial_device, 0, sizeof(struct SerialHardwareDevice)); + + static struct SerialCfgParam serial_cfg; + memset(&serial_cfg, 0, sizeof(struct SerialCfgParam)); + + static struct SerialDevParam serial_dev_param; + memset(&serial_dev_param, 0, sizeof(struct SerialDevParam)); + + serial_driver.drv_done = &drv_done; + serial_driver.configure = &SerialDrvConfigure; + serial_device.hwdev_done = &hwdev_done; + + serial_cfg.data_cfg = data_cfg_init; + + serial_cfg.hw_cfg.serial_register_base = UART0_CTRL_ADDR; + serial_cfg.hw_cfg.serial_irq_interrupt = INT_UART0_BASE; + serial_driver.private_data = (void *)&serial_cfg; + + serial_dev_param.serial_work_mode = SIGN_OPER_INT_RX; + serial_device.haldev.private_data = (void *)&serial_dev_param; + + ret = BoardSerialBusInit(&serial_bus, &serial_driver, SERIAL_BUS_NAME, SERIAL_DRV_NAME); + if(EOK != ret) + { + KPrintf("InitHwUart uarths error ret %u\n", ret); + return ERROR; + } + + ret = BoardSerialDevBend(&serial_device, (void *)&serial_cfg, SERIAL_BUS_NAME, SERIAL_DEVICE_NAME); + if(EOK != ret) + { + KPrintf("InitHwUart uarths error ret %u\n", ret); + return ERROR; + } + + isrManager.done->registerIrq(serial_cfg.hw_cfg.serial_irq_interrupt, usart_handler, &serial_bus); + isrManager.done->enableIrq(serial_cfg.hw_cfg.serial_irq_interrupt); + + return ret; +} diff --git a/board/hifive1-emulator/third_party_driver/coreplexip-arty.h b/board/hifive1-emulator/third_party_driver/coreplexip-arty.h new file mode 100644 index 00000000..eedcaa5d --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/coreplexip-arty.h @@ -0,0 +1,102 @@ +// See LICENSE for license details. + +#ifndef _SIFIVE_COREPLEXIP_ARTY_H +#define _SIFIVE_COREPLEXIP_ARTY_H + +#include + +/**************************************************************************** + * GPIO Connections + *****************************************************************************/ + +// These are the GPIO bit offsets for the directly driven +// RGB LEDs on the Freedom Exx Coreplex IP Evaluation Arty FPGA Dev Kit. +// Additional RGB LEDs are driven by the 3 PWM outputs. + +#define RED_LED_OFFSET 0 +#define GREEN_LED_OFFSET 1 +#define BLUE_LED_OFFSET 2 + +// Switch 3 is used as a GPIO input. (Switch 0 is used to set +// the reset vector, the other switches are unused). + +#define SW_3_OFFSET 3 + +// These are the buttons which are mapped as inputs. + +#define HAS_BOARD_BUTTONS + +#define BUTTON_0_OFFSET 4 +#define BUTTON_1_OFFSET 5 +#define BUTTON_2_OFFSET 6 +#define BUTTON_3_OFFSET 7 + +// These are the bit offsets for the different GPIO pins +// mapped onto the PMOD A header. + +#define JA_0_OFFSET 8 +#define JA_1_OFFSET 9 +#define JA_2_OFFSET 10 +#define JA_3_OFFSET 11 +#define JA_4_OFFSET 12 +#define JA_5_OFFSET 13 +#define JA_6_OFFSET 14 +#define JA_7_OFFSET 15 + +// The below gives a mapping between global interrupt +// sources and their number. Note that on the coreplex +// deliverable, the io_global_interrupts go directly into +// the PLIC. The evaluation image on the FPGA mimics a +// system with peripheral devices which are driving the +// global interrupt lines. +// So, on this image, in order to get an interrupt from +// e.g. pressing BUTTON_0: +// 1) Steps which are external to the delivery coreplex: +// a) The corresponding GPIO pin must be configured as in input +// b) The "interrupt on fall" bit must be set for the GPIO pin +// 2) Steps which would also need to be performed for the delivery coreplex: +// a) The corresponding global interrupt, priority, and threshold must be configured in the PLIC. +// b) The external interrupt bit must be enabled in MSTATUS +// c) Interrupts must be enabled globally in the core. + +// Any of the above GPIO pins can be used as global interrupt +// sources by adding their offset to the INT_GPIO_BASE. +// For example, the buttons are shown here: + +#define INT_DEVICE_BUTTON_0 (GPIO_INT_BASE + BUTTON_0_OFFSET) +#define INT_DEVICE_BUTTON_1 (GPIO_INT_BASE + BUTTON_1_OFFSET) +#define INT_DEVICE_BUTTON_2 (GPIO_INT_BASE + BUTTON_2_OFFSET) +#define INT_DEVICE_BUTTON_3 (GPIO_INT_BASE + BUTTON_3_OFFSET) + +// In addition, the Switches are mapped directly to +// the PLIC (without going through the GPIO Peripheral). + +#define INT_EXT_DEVICE_SW_0 (EXTERNAL_INT_BASE + 0) +#define INT_EXT_DEVICE_SW_1 (EXTERNAL_INT_BASE + 1) +#define INT_EXT_DEVICE_SW_2 (EXTERNAL_INT_BASE + 2) +#define INT_EXT_DEVICE_SW_3 (EXTERNAL_INT_BASE + 3) + +// This gives the mapping from inputs to LOCAL interrupts. + +#define LOCAL_INT_SW_0 0 +#define LOCAL_INT_SW_1 1 +#define LOCAL_INT_SW_2 2 +#define LOCAL_INT_SW_3 3 +#define LOCAL_INT_BTN_0 4 +#define LOCAL_INT_BTN_1 5 +#define LOCAL_INT_BTN_2 6 +#define LOCAL_INT_BTN_3 7 +#define LOCAL_INT_JA_0 8 +#define LOCAL_INT_JA_1 9 +#define LOCAL_INT_JA_2 10 +#define LOCAL_INT_JA_3 11 +#define LOCAL_INT_JA_4 12 +#define LOCAL_INT_JA_5 13 +#define LOCAL_INT_JA_6 14 +#define LOCAL_INT_JA_7 15 + +#define RTC_FREQ 32768 + +void write_hex(int fd, unsigned long int hex); + +#endif /* _SIFIVE_COREPLEXIP_ARTY_H */ diff --git a/board/hifive1-emulator/third_party_driver/encoding.h b/board/hifive1-emulator/third_party_driver/encoding.h new file mode 100644 index 00000000..36c306dc --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/encoding.h @@ -0,0 +1,1313 @@ +// See LICENSE for license details. + +#ifndef RISCV_CSR_ENCODING_H +#define RISCV_CSR_ENCODING_H + +#define MSTATUS_UIE 0x00000001 +#define MSTATUS_SIE 0x00000002 +#define MSTATUS_HIE 0x00000004 +#define MSTATUS_MIE 0x00000008 +#define MSTATUS_UPIE 0x00000010 +#define MSTATUS_SPIE 0x00000020 +#define MSTATUS_HPIE 0x00000040 +#define MSTATUS_MPIE 0x00000080 +#define MSTATUS_SPP 0x00000100 +#define MSTATUS_HPP 0x00000600 +#define MSTATUS_MPP 0x00001800 +#define MSTATUS_FS 0x00006000 +#define MSTATUS_XS 0x00018000 +#define MSTATUS_MPRV 0x00020000 +#define MSTATUS_PUM 0x00040000 +#define MSTATUS_MXR 0x00080000 +#define MSTATUS_VM 0x1F000000 +#define MSTATUS32_SD 0x80000000 +#define MSTATUS64_SD 0x8000000000000000 + +#define SSTATUS_UIE 0x00000001 +#define SSTATUS_SIE 0x00000002 +#define SSTATUS_UPIE 0x00000010 +#define SSTATUS_SPIE 0x00000020 +#define SSTATUS_SPP 0x00000100 +#define SSTATUS_FS 0x00006000 +#define SSTATUS_XS 0x00018000 +#define SSTATUS_PUM 0x00040000 +#define SSTATUS32_SD 0x80000000 +#define SSTATUS64_SD 0x8000000000000000 + +#define DCSR_XDEBUGVER (3U<<30) +#define DCSR_NDRESET (1<<29) +#define DCSR_FULLRESET (1<<28) +#define DCSR_EBREAKM (1<<15) +#define DCSR_EBREAKH (1<<14) +#define DCSR_EBREAKS (1<<13) +#define DCSR_EBREAKU (1<<12) +#define DCSR_STOPCYCLE (1<<10) +#define DCSR_STOPTIME (1<<9) +#define DCSR_CAUSE (7<<6) +#define DCSR_DEBUGINT (1<<5) +#define DCSR_HALT (1<<3) +#define DCSR_STEP (1<<2) +#define DCSR_PRV (3<<0) + +#define DCSR_CAUSE_NONE 0 +#define DCSR_CAUSE_SWBP 1 +#define DCSR_CAUSE_HWBP 2 +#define DCSR_CAUSE_DEBUGINT 3 +#define DCSR_CAUSE_STEP 4 +#define DCSR_CAUSE_HALT 5 + +#define MCONTROL_TYPE(xlen) (0xfULL<<((xlen)-4)) +#define MCONTROL_DMODE(xlen) (1ULL<<((xlen)-5)) +#define MCONTROL_MASKMAX(xlen) (0x3fULL<<((xlen)-11)) + +#define MCONTROL_SELECT (1<<19) +#define MCONTROL_TIMING (1<<18) +#define MCONTROL_ACTION (0x3f<<12) +#define MCONTROL_CHAIN (1<<11) +#define MCONTROL_MATCH (0xf<<7) +#define MCONTROL_M (1<<6) +#define MCONTROL_H (1<<5) +#define MCONTROL_S (1<<4) +#define MCONTROL_U (1<<3) +#define MCONTROL_EXECUTE (1<<2) +#define MCONTROL_STORE (1<<1) +#define MCONTROL_LOAD (1<<0) + +#define MCONTROL_TYPE_NONE 0 +#define MCONTROL_TYPE_MATCH 2 + +#define MCONTROL_ACTION_DEBUG_EXCEPTION 0 +#define MCONTROL_ACTION_DEBUG_MODE 1 +#define MCONTROL_ACTION_TRACE_START 2 +#define MCONTROL_ACTION_TRACE_STOP 3 +#define MCONTROL_ACTION_TRACE_EMIT 4 + +#define MCONTROL_MATCH_EQUAL 0 +#define MCONTROL_MATCH_NAPOT 1 +#define MCONTROL_MATCH_GE 2 +#define MCONTROL_MATCH_LT 3 +#define MCONTROL_MATCH_MASK_LOW 4 +#define MCONTROL_MATCH_MASK_HIGH 5 + +#define MIP_SSIP (1 << IRQ_S_SOFT) +#define MIP_HSIP (1 << IRQ_H_SOFT) +#define MIP_MSIP (1 << IRQ_M_SOFT) +#define MIP_STIP (1 << IRQ_S_TIMER) +#define MIP_HTIP (1 << IRQ_H_TIMER) +#define MIP_MTIP (1 << IRQ_M_TIMER) +#define MIP_SEIP (1 << IRQ_S_EXT) +#define MIP_HEIP (1 << IRQ_H_EXT) +#define MIP_MEIP (1 << IRQ_M_EXT) + +#define SIP_SSIP MIP_SSIP +#define SIP_STIP MIP_STIP + +#define PRV_U 0 +#define PRV_S 1 +#define PRV_H 2 +#define PRV_M 3 + +#define VM_MBARE 0 +#define VM_MBB 1 +#define VM_MBBID 2 +#define VM_SV32 8 +#define VM_SV39 9 +#define VM_SV48 10 + +#define IRQ_S_SOFT 1 +#define IRQ_H_SOFT 2 +#define IRQ_M_SOFT 3 +#define IRQ_S_TIMER 5 +#define IRQ_H_TIMER 6 +#define IRQ_M_TIMER 7 +#define IRQ_S_EXT 9 +#define IRQ_H_EXT 10 +#define IRQ_M_EXT 11 +#define IRQ_COP 12 +#define IRQ_HOST 13 + +#define DEFAULT_RSTVEC 0x00001000 +#define DEFAULT_NMIVEC 0x00001004 +#define DEFAULT_MTVEC 0x00001010 +#define CONFIG_STRING_ADDR 0x0000100C +#define EXT_IO_BASE 0x40000000 +#define DRAM_BASE 0x80000000 + +// page table entry (PTE) fields +#define PTE_V 0x001 // Valid +#define PTE_R 0x002 // Read +#define PTE_W 0x004 // Write +#define PTE_X 0x008 // Execute +#define PTE_U 0x010 // User +#define PTE_G 0x020 // Global +#define PTE_A 0x040 // Accessed +#define PTE_D 0x080 // Dirty +#define PTE_SOFT 0x300 // Reserved for Software + +#define PTE_PPN_SHIFT 10 + +#define PTE_TABLE(PTE) (((PTE) & (PTE_V | PTE_R | PTE_W | PTE_X)) == PTE_V) + +#ifdef __riscv + +#ifdef __riscv64 +# define MSTATUS_SD MSTATUS64_SD +# define SSTATUS_SD SSTATUS64_SD +# define RISCV_PGLEVEL_BITS 9 +#else +# define MSTATUS_SD MSTATUS32_SD +# define SSTATUS_SD SSTATUS32_SD +# define RISCV_PGLEVEL_BITS 10 +#endif +#define RISCV_PGSHIFT 12 +#define RISCV_PGSIZE (1 << RISCV_PGSHIFT) + +#ifndef __ASSEMBLER__ + +#ifdef __GNUC__ + +#define READ_CSR(reg) ({ unsigned long __tmp; \ + asm volatile ("csrr %0, " #reg : "=r"(__tmp)); \ + __tmp; }) + +#define WRITE_CSR(reg, val) ({ \ + if (__builtin_constant_p(val) && (unsigned long)(val) < 32) \ + asm volatile ("csrw " #reg ", %0" :: "i"(val)); \ + else \ + asm volatile ("csrw " #reg ", %0" :: "r"(val)); }) + +#define swap_csr(reg, val) ({ unsigned long __tmp; \ + if (__builtin_constant_p(val) && (unsigned long)(val) < 32) \ + asm volatile ("csrrw %0, " #reg ", %1" : "=r"(__tmp) : "i"(val)); \ + else \ + asm volatile ("csrrw %0, " #reg ", %1" : "=r"(__tmp) : "r"(val)); \ + __tmp; }) + +#define SET_CSR(reg, bit) ({ unsigned long __tmp; \ + if (__builtin_constant_p(bit) && (unsigned long)(bit) < 32) \ + asm volatile ("csrrs %0, " #reg ", %1" : "=r"(__tmp) : "i"(bit)); \ + else \ + asm volatile ("csrrs %0, " #reg ", %1" : "=r"(__tmp) : "r"(bit)); \ + __tmp; }) + +#define CLEAR_CSR(reg, bit) ({ unsigned long __tmp; \ + if (__builtin_constant_p(bit) && (unsigned long)(bit) < 32) \ + asm volatile ("csrrc %0, " #reg ", %1" : "=r"(__tmp) : "i"(bit)); \ + else \ + asm volatile ("csrrc %0, " #reg ", %1" : "=r"(__tmp) : "r"(bit)); \ + __tmp; }) + +#define rdtime() READ_CSR(time) +#define rdcycle() READ_CSR(cycle) +#define rdinstret() READ_CSR(instret) + +#endif + +#endif + +#endif + +#endif +/* Automatically generated by parse-opcodes */ +#ifndef RISCV_ENCODING_H +#define RISCV_ENCODING_H +#define MATCH_BEQ 0x63 +#define MASK_BEQ 0x707f +#define MATCH_BNE 0x1063 +#define MASK_BNE 0x707f +#define MATCH_BLT 0x4063 +#define MASK_BLT 0x707f +#define MATCH_BGE 0x5063 +#define MASK_BGE 0x707f +#define MATCH_BLTU 0x6063 +#define MASK_BLTU 0x707f +#define MATCH_BGEU 0x7063 +#define MASK_BGEU 0x707f +#define MATCH_JALR 0x67 +#define MASK_JALR 0x707f +#define MATCH_JAL 0x6f +#define MASK_JAL 0x7f +#define MATCH_LUI 0x37 +#define MASK_LUI 0x7f +#define MATCH_AUIPC 0x17 +#define MASK_AUIPC 0x7f +#define MATCH_ADDI 0x13 +#define MASK_ADDI 0x707f +#define MATCH_SLLI 0x1013 +#define MASK_SLLI 0xfc00707f +#define MATCH_SLTI 0x2013 +#define MASK_SLTI 0x707f +#define MATCH_SLTIU 0x3013 +#define MASK_SLTIU 0x707f +#define MATCH_XORI 0x4013 +#define MASK_XORI 0x707f +#define MATCH_SRLI 0x5013 +#define MASK_SRLI 0xfc00707f +#define MATCH_SRAI 0x40005013 +#define MASK_SRAI 0xfc00707f +#define MATCH_ORI 0x6013 +#define MASK_ORI 0x707f +#define MATCH_ANDI 0x7013 +#define MASK_ANDI 0x707f +#define MATCH_ADD 0x33 +#define MASK_ADD 0xfe00707f +#define MATCH_SUB 0x40000033 +#define MASK_SUB 0xfe00707f +#define MATCH_SLL 0x1033 +#define MASK_SLL 0xfe00707f +#define MATCH_SLT 0x2033 +#define MASK_SLT 0xfe00707f +#define MATCH_SLTU 0x3033 +#define MASK_SLTU 0xfe00707f +#define MATCH_XOR 0x4033 +#define MASK_XOR 0xfe00707f +#define MATCH_SRL 0x5033 +#define MASK_SRL 0xfe00707f +#define MATCH_SRA 0x40005033 +#define MASK_SRA 0xfe00707f +#define MATCH_OR 0x6033 +#define MASK_OR 0xfe00707f +#define MATCH_AND 0x7033 +#define MASK_AND 0xfe00707f +#define MATCH_ADDIW 0x1b +#define MASK_ADDIW 0x707f +#define MATCH_SLLIW 0x101b +#define MASK_SLLIW 0xfe00707f +#define MATCH_SRLIW 0x501b +#define MASK_SRLIW 0xfe00707f +#define MATCH_SRAIW 0x4000501b +#define MASK_SRAIW 0xfe00707f +#define MATCH_ADDW 0x3b +#define MASK_ADDW 0xfe00707f +#define MATCH_SUBW 0x4000003b +#define MASK_SUBW 0xfe00707f +#define MATCH_SLLW 0x103b +#define MASK_SLLW 0xfe00707f +#define MATCH_SRLW 0x503b +#define MASK_SRLW 0xfe00707f +#define MATCH_SRAW 0x4000503b +#define MASK_SRAW 0xfe00707f +#define MATCH_LB 0x3 +#define MASK_LB 0x707f +#define MATCH_LH 0x1003 +#define MASK_LH 0x707f +#define MATCH_LW 0x2003 +#define MASK_LW 0x707f +#define MATCH_LD 0x3003 +#define MASK_LD 0x707f +#define MATCH_LBU 0x4003 +#define MASK_LBU 0x707f +#define MATCH_LHU 0x5003 +#define MASK_LHU 0x707f +#define MATCH_LWU 0x6003 +#define MASK_LWU 0x707f +#define MATCH_SB 0x23 +#define MASK_SB 0x707f +#define MATCH_SH 0x1023 +#define MASK_SH 0x707f +#define MATCH_SW 0x2023 +#define MASK_SW 0x707f +#define MATCH_SD 0x3023 +#define MASK_SD 0x707f +#define MATCH_FENCE 0xf +#define MASK_FENCE 0x707f +#define MATCH_FENCE_I 0x100f +#define MASK_FENCE_I 0x707f +#define MATCH_MUL 0x2000033 +#define MASK_MUL 0xfe00707f +#define MATCH_MULH 0x2001033 +#define MASK_MULH 0xfe00707f +#define MATCH_MULHSU 0x2002033 +#define MASK_MULHSU 0xfe00707f +#define MATCH_MULHU 0x2003033 +#define MASK_MULHU 0xfe00707f +#define MATCH_DIV 0x2004033 +#define MASK_DIV 0xfe00707f +#define MATCH_DIVU 0x2005033 +#define MASK_DIVU 0xfe00707f +#define MATCH_REM 0x2006033 +#define MASK_REM 0xfe00707f +#define MATCH_REMU 0x2007033 +#define MASK_REMU 0xfe00707f +#define MATCH_MULW 0x200003b +#define MASK_MULW 0xfe00707f +#define MATCH_DIVW 0x200403b +#define MASK_DIVW 0xfe00707f +#define MATCH_DIVUW 0x200503b +#define MASK_DIVUW 0xfe00707f +#define MATCH_REMW 0x200603b +#define MASK_REMW 0xfe00707f +#define MATCH_REMUW 0x200703b +#define MASK_REMUW 0xfe00707f +#define MATCH_AMOADD_W 0x202f +#define MASK_AMOADD_W 0xf800707f +#define MATCH_AMOXOR_W 0x2000202f +#define MASK_AMOXOR_W 0xf800707f +#define MATCH_AMOOR_W 0x4000202f +#define MASK_AMOOR_W 0xf800707f +#define MATCH_AMOAND_W 0x6000202f +#define MASK_AMOAND_W 0xf800707f +#define MATCH_AMOMIN_W 0x8000202f +#define MASK_AMOMIN_W 0xf800707f +#define MATCH_AMOMAX_W 0xa000202f +#define MASK_AMOMAX_W 0xf800707f +#define MATCH_AMOMINU_W 0xc000202f +#define MASK_AMOMINU_W 0xf800707f +#define MATCH_AMOMAXU_W 0xe000202f +#define MASK_AMOMAXU_W 0xf800707f +#define MATCH_AMOSWAP_W 0x800202f +#define MASK_AMOSWAP_W 0xf800707f +#define MATCH_LR_W 0x1000202f +#define MASK_LR_W 0xf9f0707f +#define MATCH_SC_W 0x1800202f +#define MASK_SC_W 0xf800707f +#define MATCH_AMOADD_D 0x302f +#define MASK_AMOADD_D 0xf800707f +#define MATCH_AMOXOR_D 0x2000302f +#define MASK_AMOXOR_D 0xf800707f +#define MATCH_AMOOR_D 0x4000302f +#define MASK_AMOOR_D 0xf800707f +#define MATCH_AMOAND_D 0x6000302f +#define MASK_AMOAND_D 0xf800707f +#define MATCH_AMOMIN_D 0x8000302f +#define MASK_AMOMIN_D 0xf800707f +#define MATCH_AMOMAX_D 0xa000302f +#define MASK_AMOMAX_D 0xf800707f +#define MATCH_AMOMINU_D 0xc000302f +#define MASK_AMOMINU_D 0xf800707f +#define MATCH_AMOMAXU_D 0xe000302f +#define MASK_AMOMAXU_D 0xf800707f +#define MATCH_AMOSWAP_D 0x800302f +#define MASK_AMOSWAP_D 0xf800707f +#define MATCH_LR_D 0x1000302f +#define MASK_LR_D 0xf9f0707f +#define MATCH_SC_D 0x1800302f +#define MASK_SC_D 0xf800707f +#define MATCH_ECALL 0x73 +#define MASK_ECALL 0xffffffff +#define MATCH_EBREAK 0x100073 +#define MASK_EBREAK 0xffffffff +#define MATCH_URET 0x200073 +#define MASK_URET 0xffffffff +#define MATCH_SRET 0x10200073 +#define MASK_SRET 0xffffffff +#define MATCH_HRET 0x20200073 +#define MASK_HRET 0xffffffff +#define MATCH_MRET 0x30200073 +#define MASK_MRET 0xffffffff +#define MATCH_DRET 0x7b200073 +#define MASK_DRET 0xffffffff +#define MATCH_SFENCE_VM 0x10400073 +#define MASK_SFENCE_VM 0xfff07fff +#define MATCH_WFI 0x10500073 +#define MASK_WFI 0xffffffff +#define MATCH_CSRRW 0x1073 +#define MASK_CSRRW 0x707f +#define MATCH_CSRRS 0x2073 +#define MASK_CSRRS 0x707f +#define MATCH_CSRRC 0x3073 +#define MASK_CSRRC 0x707f +#define MATCH_CSRRWI 0x5073 +#define MASK_CSRRWI 0x707f +#define MATCH_CSRRSI 0x6073 +#define MASK_CSRRSI 0x707f +#define MATCH_CSRRCI 0x7073 +#define MASK_CSRRCI 0x707f +#define MATCH_FADD_S 0x53 +#define MASK_FADD_S 0xfe00007f +#define MATCH_FSUB_S 0x8000053 +#define MASK_FSUB_S 0xfe00007f +#define MATCH_FMUL_S 0x10000053 +#define MASK_FMUL_S 0xfe00007f +#define MATCH_FDIV_S 0x18000053 +#define MASK_FDIV_S 0xfe00007f +#define MATCH_FSGNJ_S 0x20000053 +#define MASK_FSGNJ_S 0xfe00707f +#define MATCH_FSGNJN_S 0x20001053 +#define MASK_FSGNJN_S 0xfe00707f +#define MATCH_FSGNJX_S 0x20002053 +#define MASK_FSGNJX_S 0xfe00707f +#define MATCH_FMIN_S 0x28000053 +#define MASK_FMIN_S 0xfe00707f +#define MATCH_FMAX_S 0x28001053 +#define MASK_FMAX_S 0xfe00707f +#define MATCH_FSQRT_S 0x58000053 +#define MASK_FSQRT_S 0xfff0007f +#define MATCH_FADD_D 0x2000053 +#define MASK_FADD_D 0xfe00007f +#define MATCH_FSUB_D 0xa000053 +#define MASK_FSUB_D 0xfe00007f +#define MATCH_FMUL_D 0x12000053 +#define MASK_FMUL_D 0xfe00007f +#define MATCH_FDIV_D 0x1a000053 +#define MASK_FDIV_D 0xfe00007f +#define MATCH_FSGNJ_D 0x22000053 +#define MASK_FSGNJ_D 0xfe00707f +#define MATCH_FSGNJN_D 0x22001053 +#define MASK_FSGNJN_D 0xfe00707f +#define MATCH_FSGNJX_D 0x22002053 +#define MASK_FSGNJX_D 0xfe00707f +#define MATCH_FMIN_D 0x2a000053 +#define MASK_FMIN_D 0xfe00707f +#define MATCH_FMAX_D 0x2a001053 +#define MASK_FMAX_D 0xfe00707f +#define MATCH_FCVT_S_D 0x40100053 +#define MASK_FCVT_S_D 0xfff0007f +#define MATCH_FCVT_D_S 0x42000053 +#define MASK_FCVT_D_S 0xfff0007f +#define MATCH_FSQRT_D 0x5a000053 +#define MASK_FSQRT_D 0xfff0007f +#define MATCH_FLE_S 0xa0000053 +#define MASK_FLE_S 0xfe00707f +#define MATCH_FLT_S 0xa0001053 +#define MASK_FLT_S 0xfe00707f +#define MATCH_FEQ_S 0xa0002053 +#define MASK_FEQ_S 0xfe00707f +#define MATCH_FLE_D 0xa2000053 +#define MASK_FLE_D 0xfe00707f +#define MATCH_FLT_D 0xa2001053 +#define MASK_FLT_D 0xfe00707f +#define MATCH_FEQ_D 0xa2002053 +#define MASK_FEQ_D 0xfe00707f +#define MATCH_FCVT_W_S 0xc0000053 +#define MASK_FCVT_W_S 0xfff0007f +#define MATCH_FCVT_WU_S 0xc0100053 +#define MASK_FCVT_WU_S 0xfff0007f +#define MATCH_FCVT_L_S 0xc0200053 +#define MASK_FCVT_L_S 0xfff0007f +#define MATCH_FCVT_LU_S 0xc0300053 +#define MASK_FCVT_LU_S 0xfff0007f +#define MATCH_FMV_X_S 0xe0000053 +#define MASK_FMV_X_S 0xfff0707f +#define MATCH_FCLASS_S 0xe0001053 +#define MASK_FCLASS_S 0xfff0707f +#define MATCH_FCVT_W_D 0xc2000053 +#define MASK_FCVT_W_D 0xfff0007f +#define MATCH_FCVT_WU_D 0xc2100053 +#define MASK_FCVT_WU_D 0xfff0007f +#define MATCH_FCVT_L_D 0xc2200053 +#define MASK_FCVT_L_D 0xfff0007f +#define MATCH_FCVT_LU_D 0xc2300053 +#define MASK_FCVT_LU_D 0xfff0007f +#define MATCH_FMV_X_D 0xe2000053 +#define MASK_FMV_X_D 0xfff0707f +#define MATCH_FCLASS_D 0xe2001053 +#define MASK_FCLASS_D 0xfff0707f +#define MATCH_FCVT_S_W 0xd0000053 +#define MASK_FCVT_S_W 0xfff0007f +#define MATCH_FCVT_S_WU 0xd0100053 +#define MASK_FCVT_S_WU 0xfff0007f +#define MATCH_FCVT_S_L 0xd0200053 +#define MASK_FCVT_S_L 0xfff0007f +#define MATCH_FCVT_S_LU 0xd0300053 +#define MASK_FCVT_S_LU 0xfff0007f +#define MATCH_FMV_S_X 0xf0000053 +#define MASK_FMV_S_X 0xfff0707f +#define MATCH_FCVT_D_W 0xd2000053 +#define MASK_FCVT_D_W 0xfff0007f +#define MATCH_FCVT_D_WU 0xd2100053 +#define MASK_FCVT_D_WU 0xfff0007f +#define MATCH_FCVT_D_L 0xd2200053 +#define MASK_FCVT_D_L 0xfff0007f +#define MATCH_FCVT_D_LU 0xd2300053 +#define MASK_FCVT_D_LU 0xfff0007f +#define MATCH_FMV_D_X 0xf2000053 +#define MASK_FMV_D_X 0xfff0707f +#define MATCH_FLW 0x2007 +#define MASK_FLW 0x707f +#define MATCH_FLD 0x3007 +#define MASK_FLD 0x707f +#define MATCH_FSW 0x2027 +#define MASK_FSW 0x707f +#define MATCH_FSD 0x3027 +#define MASK_FSD 0x707f +#define MATCH_FMADD_S 0x43 +#define MASK_FMADD_S 0x600007f +#define MATCH_FMSUB_S 0x47 +#define MASK_FMSUB_S 0x600007f +#define MATCH_FNMSUB_S 0x4b +#define MASK_FNMSUB_S 0x600007f +#define MATCH_FNMADD_S 0x4f +#define MASK_FNMADD_S 0x600007f +#define MATCH_FMADD_D 0x2000043 +#define MASK_FMADD_D 0x600007f +#define MATCH_FMSUB_D 0x2000047 +#define MASK_FMSUB_D 0x600007f +#define MATCH_FNMSUB_D 0x200004b +#define MASK_FNMSUB_D 0x600007f +#define MATCH_FNMADD_D 0x200004f +#define MASK_FNMADD_D 0x600007f +#define MATCH_C_NOP 0x1 +#define MASK_C_NOP 0xffff +#define MATCH_C_ADDI16SP 0x6101 +#define MASK_C_ADDI16SP 0xef83 +#define MATCH_C_JR 0x8002 +#define MASK_C_JR 0xf07f +#define MATCH_C_JALR 0x9002 +#define MASK_C_JALR 0xf07f +#define MATCH_C_EBREAK 0x9002 +#define MASK_C_EBREAK 0xffff +#define MATCH_C_LD 0x6000 +#define MASK_C_LD 0xe003 +#define MATCH_C_SD 0xe000 +#define MASK_C_SD 0xe003 +#define MATCH_C_ADDIW 0x2001 +#define MASK_C_ADDIW 0xe003 +#define MATCH_C_LDSP 0x6002 +#define MASK_C_LDSP 0xe003 +#define MATCH_C_SDSP 0xe002 +#define MASK_C_SDSP 0xe003 +#define MATCH_C_ADDI4SPN 0x0 +#define MASK_C_ADDI4SPN 0xe003 +#define MATCH_C_FLD 0x2000 +#define MASK_C_FLD 0xe003 +#define MATCH_C_LW 0x4000 +#define MASK_C_LW 0xe003 +#define MATCH_C_FLW 0x6000 +#define MASK_C_FLW 0xe003 +#define MATCH_C_FSD 0xa000 +#define MASK_C_FSD 0xe003 +#define MATCH_C_SW 0xc000 +#define MASK_C_SW 0xe003 +#define MATCH_C_FSW 0xe000 +#define MASK_C_FSW 0xe003 +#define MATCH_C_ADDI 0x1 +#define MASK_C_ADDI 0xe003 +#define MATCH_C_JAL 0x2001 +#define MASK_C_JAL 0xe003 +#define MATCH_C_LI 0x4001 +#define MASK_C_LI 0xe003 +#define MATCH_C_LUI 0x6001 +#define MASK_C_LUI 0xe003 +#define MATCH_C_SRLI 0x8001 +#define MASK_C_SRLI 0xec03 +#define MATCH_C_SRAI 0x8401 +#define MASK_C_SRAI 0xec03 +#define MATCH_C_ANDI 0x8801 +#define MASK_C_ANDI 0xec03 +#define MATCH_C_SUB 0x8c01 +#define MASK_C_SUB 0xfc63 +#define MATCH_C_XOR 0x8c21 +#define MASK_C_XOR 0xfc63 +#define MATCH_C_OR 0x8c41 +#define MASK_C_OR 0xfc63 +#define MATCH_C_AND 0x8c61 +#define MASK_C_AND 0xfc63 +#define MATCH_C_SUBW 0x9c01 +#define MASK_C_SUBW 0xfc63 +#define MATCH_C_ADDW 0x9c21 +#define MASK_C_ADDW 0xfc63 +#define MATCH_C_J 0xa001 +#define MASK_C_J 0xe003 +#define MATCH_C_BEQZ 0xc001 +#define MASK_C_BEQZ 0xe003 +#define MATCH_C_BNEZ 0xe001 +#define MASK_C_BNEZ 0xe003 +#define MATCH_C_SLLI 0x2 +#define MASK_C_SLLI 0xe003 +#define MATCH_C_FLDSP 0x2002 +#define MASK_C_FLDSP 0xe003 +#define MATCH_C_LWSP 0x4002 +#define MASK_C_LWSP 0xe003 +#define MATCH_C_FLWSP 0x6002 +#define MASK_C_FLWSP 0xe003 +#define MATCH_C_MV 0x8002 +#define MASK_C_MV 0xf003 +#define MATCH_C_ADD 0x9002 +#define MASK_C_ADD 0xf003 +#define MATCH_C_FSDSP 0xa002 +#define MASK_C_FSDSP 0xe003 +#define MATCH_C_SWSP 0xc002 +#define MASK_C_SWSP 0xe003 +#define MATCH_C_FSWSP 0xe002 +#define MASK_C_FSWSP 0xe003 +#define MATCH_CUSTOM0 0xb +#define MASK_CUSTOM0 0x707f +#define MATCH_CUSTOM0_RS1 0x200b +#define MASK_CUSTOM0_RS1 0x707f +#define MATCH_CUSTOM0_RS1_RS2 0x300b +#define MASK_CUSTOM0_RS1_RS2 0x707f +#define MATCH_CUSTOM0_RD 0x400b +#define MASK_CUSTOM0_RD 0x707f +#define MATCH_CUSTOM0_RD_RS1 0x600b +#define MASK_CUSTOM0_RD_RS1 0x707f +#define MATCH_CUSTOM0_RD_RS1_RS2 0x700b +#define MASK_CUSTOM0_RD_RS1_RS2 0x707f +#define MATCH_CUSTOM1 0x2b +#define MASK_CUSTOM1 0x707f +#define MATCH_CUSTOM1_RS1 0x202b +#define MASK_CUSTOM1_RS1 0x707f +#define MATCH_CUSTOM1_RS1_RS2 0x302b +#define MASK_CUSTOM1_RS1_RS2 0x707f +#define MATCH_CUSTOM1_RD 0x402b +#define MASK_CUSTOM1_RD 0x707f +#define MATCH_CUSTOM1_RD_RS1 0x602b +#define MASK_CUSTOM1_RD_RS1 0x707f +#define MATCH_CUSTOM1_RD_RS1_RS2 0x702b +#define MASK_CUSTOM1_RD_RS1_RS2 0x707f +#define MATCH_CUSTOM2 0x5b +#define MASK_CUSTOM2 0x707f +#define MATCH_CUSTOM2_RS1 0x205b +#define MASK_CUSTOM2_RS1 0x707f +#define MATCH_CUSTOM2_RS1_RS2 0x305b +#define MASK_CUSTOM2_RS1_RS2 0x707f +#define MATCH_CUSTOM2_RD 0x405b +#define MASK_CUSTOM2_RD 0x707f +#define MATCH_CUSTOM2_RD_RS1 0x605b +#define MASK_CUSTOM2_RD_RS1 0x707f +#define MATCH_CUSTOM2_RD_RS1_RS2 0x705b +#define MASK_CUSTOM2_RD_RS1_RS2 0x707f +#define MATCH_CUSTOM3 0x7b +#define MASK_CUSTOM3 0x707f +#define MATCH_CUSTOM3_RS1 0x207b +#define MASK_CUSTOM3_RS1 0x707f +#define MATCH_CUSTOM3_RS1_RS2 0x307b +#define MASK_CUSTOM3_RS1_RS2 0x707f +#define MATCH_CUSTOM3_RD 0x407b +#define MASK_CUSTOM3_RD 0x707f +#define MATCH_CUSTOM3_RD_RS1 0x607b +#define MASK_CUSTOM3_RD_RS1 0x707f +#define MATCH_CUSTOM3_RD_RS1_RS2 0x707b +#define MASK_CUSTOM3_RD_RS1_RS2 0x707f +#define CSR_FFLAGS 0x1 +#define CSR_FRM 0x2 +#define CSR_FCSR 0x3 +#define CSR_CYCLE 0xc00 +#define CSR_TIME 0xc01 +#define CSR_INSTRET 0xc02 +#define CSR_HPMCOUNTER3 0xc03 +#define CSR_HPMCOUNTER4 0xc04 +#define CSR_HPMCOUNTER5 0xc05 +#define CSR_HPMCOUNTER6 0xc06 +#define CSR_HPMCOUNTER7 0xc07 +#define CSR_HPMCOUNTER8 0xc08 +#define CSR_HPMCOUNTER9 0xc09 +#define CSR_HPMCOUNTER10 0xc0a +#define CSR_HPMCOUNTER11 0xc0b +#define CSR_HPMCOUNTER12 0xc0c +#define CSR_HPMCOUNTER13 0xc0d +#define CSR_HPMCOUNTER14 0xc0e +#define CSR_HPMCOUNTER15 0xc0f +#define CSR_HPMCOUNTER16 0xc10 +#define CSR_HPMCOUNTER17 0xc11 +#define CSR_HPMCOUNTER18 0xc12 +#define CSR_HPMCOUNTER19 0xc13 +#define CSR_HPMCOUNTER20 0xc14 +#define CSR_HPMCOUNTER21 0xc15 +#define CSR_HPMCOUNTER22 0xc16 +#define CSR_HPMCOUNTER23 0xc17 +#define CSR_HPMCOUNTER24 0xc18 +#define CSR_HPMCOUNTER25 0xc19 +#define CSR_HPMCOUNTER26 0xc1a +#define CSR_HPMCOUNTER27 0xc1b +#define CSR_HPMCOUNTER28 0xc1c +#define CSR_HPMCOUNTER29 0xc1d +#define CSR_HPMCOUNTER30 0xc1e +#define CSR_HPMCOUNTER31 0xc1f +#define CSR_SSTATUS 0x100 +#define CSR_SIE 0x104 +#define CSR_STVEC 0x105 +#define CSR_SSCRATCH 0x140 +#define CSR_SEPC 0x141 +#define CSR_SCAUSE 0x142 +#define CSR_SBADADDR 0x143 +#define CSR_SIP 0x144 +#define CSR_SPTBR 0x180 +#define CSR_MSTATUS 0x300 +#define CSR_MISA 0x301 +#define CSR_MEDELEG 0x302 +#define CSR_MIDELEG 0x303 +#define CSR_MIE 0x304 +#define CSR_MTVEC 0x305 +#define CSR_MSCRATCH 0x340 +#define CSR_MEPC 0x341 +#define CSR_MCAUSE 0x342 +#define CSR_MBADADDR 0x343 +#define CSR_MIP 0x344 +#define CSR_TSELECT 0x7a0 +#define CSR_TDATA1 0x7a1 +#define CSR_TDATA2 0x7a2 +#define CSR_TDATA3 0x7a3 +#define CSR_DCSR 0x7b0 +#define CSR_DPC 0x7b1 +#define CSR_DSCRATCH 0x7b2 +#define CSR_MCYCLE 0xb00 +#define CSR_MINSTRET 0xb02 +#define CSR_MHPMCOUNTER3 0xb03 +#define CSR_MHPMCOUNTER4 0xb04 +#define CSR_MHPMCOUNTER5 0xb05 +#define CSR_MHPMCOUNTER6 0xb06 +#define CSR_MHPMCOUNTER7 0xb07 +#define CSR_MHPMCOUNTER8 0xb08 +#define CSR_MHPMCOUNTER9 0xb09 +#define CSR_MHPMCOUNTER10 0xb0a +#define CSR_MHPMCOUNTER11 0xb0b +#define CSR_MHPMCOUNTER12 0xb0c +#define CSR_MHPMCOUNTER13 0xb0d +#define CSR_MHPMCOUNTER14 0xb0e +#define CSR_MHPMCOUNTER15 0xb0f +#define CSR_MHPMCOUNTER16 0xb10 +#define CSR_MHPMCOUNTER17 0xb11 +#define CSR_MHPMCOUNTER18 0xb12 +#define CSR_MHPMCOUNTER19 0xb13 +#define CSR_MHPMCOUNTER20 0xb14 +#define CSR_MHPMCOUNTER21 0xb15 +#define CSR_MHPMCOUNTER22 0xb16 +#define CSR_MHPMCOUNTER23 0xb17 +#define CSR_MHPMCOUNTER24 0xb18 +#define CSR_MHPMCOUNTER25 0xb19 +#define CSR_MHPMCOUNTER26 0xb1a +#define CSR_MHPMCOUNTER27 0xb1b +#define CSR_MHPMCOUNTER28 0xb1c +#define CSR_MHPMCOUNTER29 0xb1d +#define CSR_MHPMCOUNTER30 0xb1e +#define CSR_MHPMCOUNTER31 0xb1f +#define CSR_MUCOUNTEREN 0x320 +#define CSR_MSCOUNTEREN 0x321 +#define CSR_MHPMEVENT3 0x323 +#define CSR_MHPMEVENT4 0x324 +#define CSR_MHPMEVENT5 0x325 +#define CSR_MHPMEVENT6 0x326 +#define CSR_MHPMEVENT7 0x327 +#define CSR_MHPMEVENT8 0x328 +#define CSR_MHPMEVENT9 0x329 +#define CSR_MHPMEVENT10 0x32a +#define CSR_MHPMEVENT11 0x32b +#define CSR_MHPMEVENT12 0x32c +#define CSR_MHPMEVENT13 0x32d +#define CSR_MHPMEVENT14 0x32e +#define CSR_MHPMEVENT15 0x32f +#define CSR_MHPMEVENT16 0x330 +#define CSR_MHPMEVENT17 0x331 +#define CSR_MHPMEVENT18 0x332 +#define CSR_MHPMEVENT19 0x333 +#define CSR_MHPMEVENT20 0x334 +#define CSR_MHPMEVENT21 0x335 +#define CSR_MHPMEVENT22 0x336 +#define CSR_MHPMEVENT23 0x337 +#define CSR_MHPMEVENT24 0x338 +#define CSR_MHPMEVENT25 0x339 +#define CSR_MHPMEVENT26 0x33a +#define CSR_MHPMEVENT27 0x33b +#define CSR_MHPMEVENT28 0x33c +#define CSR_MHPMEVENT29 0x33d +#define CSR_MHPMEVENT30 0x33e +#define CSR_MHPMEVENT31 0x33f +#define CSR_MVENDORID 0xf11 +#define CSR_MARCHID 0xf12 +#define CSR_MIMPID 0xf13 +#define CSR_MHARTID 0xf14 +#define CSR_CYCLEH 0xc80 +#define CSR_TIMEH 0xc81 +#define CSR_INSTRETH 0xc82 +#define CSR_HPMCOUNTER3H 0xc83 +#define CSR_HPMCOUNTER4H 0xc84 +#define CSR_HPMCOUNTER5H 0xc85 +#define CSR_HPMCOUNTER6H 0xc86 +#define CSR_HPMCOUNTER7H 0xc87 +#define CSR_HPMCOUNTER8H 0xc88 +#define CSR_HPMCOUNTER9H 0xc89 +#define CSR_HPMCOUNTER10H 0xc8a +#define CSR_HPMCOUNTER11H 0xc8b +#define CSR_HPMCOUNTER12H 0xc8c +#define CSR_HPMCOUNTER13H 0xc8d +#define CSR_HPMCOUNTER14H 0xc8e +#define CSR_HPMCOUNTER15H 0xc8f +#define CSR_HPMCOUNTER16H 0xc90 +#define CSR_HPMCOUNTER17H 0xc91 +#define CSR_HPMCOUNTER18H 0xc92 +#define CSR_HPMCOUNTER19H 0xc93 +#define CSR_HPMCOUNTER20H 0xc94 +#define CSR_HPMCOUNTER21H 0xc95 +#define CSR_HPMCOUNTER22H 0xc96 +#define CSR_HPMCOUNTER23H 0xc97 +#define CSR_HPMCOUNTER24H 0xc98 +#define CSR_HPMCOUNTER25H 0xc99 +#define CSR_HPMCOUNTER26H 0xc9a +#define CSR_HPMCOUNTER27H 0xc9b +#define CSR_HPMCOUNTER28H 0xc9c +#define CSR_HPMCOUNTER29H 0xc9d +#define CSR_HPMCOUNTER30H 0xc9e +#define CSR_HPMCOUNTER31H 0xc9f +#define CSR_MCYCLEH 0xb80 +#define CSR_MINSTRETH 0xb82 +#define CSR_MHPMCOUNTER3H 0xb83 +#define CSR_MHPMCOUNTER4H 0xb84 +#define CSR_MHPMCOUNTER5H 0xb85 +#define CSR_MHPMCOUNTER6H 0xb86 +#define CSR_MHPMCOUNTER7H 0xb87 +#define CSR_MHPMCOUNTER8H 0xb88 +#define CSR_MHPMCOUNTER9H 0xb89 +#define CSR_MHPMCOUNTER10H 0xb8a +#define CSR_MHPMCOUNTER11H 0xb8b +#define CSR_MHPMCOUNTER12H 0xb8c +#define CSR_MHPMCOUNTER13H 0xb8d +#define CSR_MHPMCOUNTER14H 0xb8e +#define CSR_MHPMCOUNTER15H 0xb8f +#define CSR_MHPMCOUNTER16H 0xb90 +#define CSR_MHPMCOUNTER17H 0xb91 +#define CSR_MHPMCOUNTER18H 0xb92 +#define CSR_MHPMCOUNTER19H 0xb93 +#define CSR_MHPMCOUNTER20H 0xb94 +#define CSR_MHPMCOUNTER21H 0xb95 +#define CSR_MHPMCOUNTER22H 0xb96 +#define CSR_MHPMCOUNTER23H 0xb97 +#define CSR_MHPMCOUNTER24H 0xb98 +#define CSR_MHPMCOUNTER25H 0xb99 +#define CSR_MHPMCOUNTER26H 0xb9a +#define CSR_MHPMCOUNTER27H 0xb9b +#define CSR_MHPMCOUNTER28H 0xb9c +#define CSR_MHPMCOUNTER29H 0xb9d +#define CSR_MHPMCOUNTER30H 0xb9e +#define CSR_MHPMCOUNTER31H 0xb9f +#define CAUSE_MISALIGNED_FETCH 0x0 +#define CAUSE_FAULT_FETCH 0x1 +#define CAUSE_ILLEGAL_INSTRUCTION 0x2 +#define CAUSE_BREAKPOINT 0x3 +#define CAUSE_MISALIGNED_LOAD 0x4 +#define CAUSE_FAULT_LOAD 0x5 +#define CAUSE_MISALIGNED_STORE 0x6 +#define CAUSE_FAULT_STORE 0x7 +#define CAUSE_USER_ECALL 0x8 +#define CAUSE_SUPERVISOR_ECALL 0x9 +#define CAUSE_HYPERVISOR_ECALL 0xa +#define CAUSE_MACHINE_ECALL 0xb +#endif +#ifdef DECLARE_INSN +DECLARE_INSN(beq, MATCH_BEQ, MASK_BEQ) +DECLARE_INSN(bne, MATCH_BNE, MASK_BNE) +DECLARE_INSN(blt, MATCH_BLT, MASK_BLT) +DECLARE_INSN(bge, MATCH_BGE, MASK_BGE) +DECLARE_INSN(bltu, MATCH_BLTU, MASK_BLTU) +DECLARE_INSN(bgeu, MATCH_BGEU, MASK_BGEU) +DECLARE_INSN(jalr, MATCH_JALR, MASK_JALR) +DECLARE_INSN(jal, MATCH_JAL, MASK_JAL) +DECLARE_INSN(lui, MATCH_LUI, MASK_LUI) +DECLARE_INSN(auipc, MATCH_AUIPC, MASK_AUIPC) +DECLARE_INSN(addi, MATCH_ADDI, MASK_ADDI) +DECLARE_INSN(slli, MATCH_SLLI, MASK_SLLI) +DECLARE_INSN(slti, MATCH_SLTI, MASK_SLTI) +DECLARE_INSN(sltiu, MATCH_SLTIU, MASK_SLTIU) +DECLARE_INSN(xori, MATCH_XORI, MASK_XORI) +DECLARE_INSN(srli, MATCH_SRLI, MASK_SRLI) +DECLARE_INSN(srai, MATCH_SRAI, MASK_SRAI) +DECLARE_INSN(ori, MATCH_ORI, MASK_ORI) +DECLARE_INSN(andi, MATCH_ANDI, MASK_ANDI) +DECLARE_INSN(add, MATCH_ADD, MASK_ADD) +DECLARE_INSN(sub, MATCH_SUB, MASK_SUB) +DECLARE_INSN(sll, MATCH_SLL, MASK_SLL) +DECLARE_INSN(slt, MATCH_SLT, MASK_SLT) +DECLARE_INSN(sltu, MATCH_SLTU, MASK_SLTU) +DECLARE_INSN(xor, MATCH_XOR, MASK_XOR) +DECLARE_INSN(srl, MATCH_SRL, MASK_SRL) +DECLARE_INSN(sra, MATCH_SRA, MASK_SRA) +DECLARE_INSN(or, MATCH_OR, MASK_OR) +DECLARE_INSN(and, MATCH_AND, MASK_AND) +DECLARE_INSN(addiw, MATCH_ADDIW, MASK_ADDIW) +DECLARE_INSN(slliw, MATCH_SLLIW, MASK_SLLIW) +DECLARE_INSN(srliw, MATCH_SRLIW, MASK_SRLIW) +DECLARE_INSN(sraiw, MATCH_SRAIW, MASK_SRAIW) +DECLARE_INSN(addw, MATCH_ADDW, MASK_ADDW) +DECLARE_INSN(subw, MATCH_SUBW, MASK_SUBW) +DECLARE_INSN(sllw, MATCH_SLLW, MASK_SLLW) +DECLARE_INSN(srlw, MATCH_SRLW, MASK_SRLW) +DECLARE_INSN(sraw, MATCH_SRAW, MASK_SRAW) +DECLARE_INSN(lb, MATCH_LB, MASK_LB) +DECLARE_INSN(lh, MATCH_LH, MASK_LH) +DECLARE_INSN(lw, MATCH_LW, MASK_LW) +DECLARE_INSN(ld, MATCH_LD, MASK_LD) +DECLARE_INSN(lbu, MATCH_LBU, MASK_LBU) +DECLARE_INSN(lhu, MATCH_LHU, MASK_LHU) +DECLARE_INSN(lwu, MATCH_LWU, MASK_LWU) +DECLARE_INSN(sb, MATCH_SB, MASK_SB) +DECLARE_INSN(sh, MATCH_SH, MASK_SH) +DECLARE_INSN(sw, MATCH_SW, MASK_SW) +DECLARE_INSN(sd, MATCH_SD, MASK_SD) +DECLARE_INSN(fence, MATCH_FENCE, MASK_FENCE) +DECLARE_INSN(fence_i, MATCH_FENCE_I, MASK_FENCE_I) +DECLARE_INSN(mul, MATCH_MUL, MASK_MUL) +DECLARE_INSN(mulh, MATCH_MULH, MASK_MULH) +DECLARE_INSN(mulhsu, MATCH_MULHSU, MASK_MULHSU) +DECLARE_INSN(mulhu, MATCH_MULHU, MASK_MULHU) +DECLARE_INSN(div, MATCH_DIV, MASK_DIV) +DECLARE_INSN(divu, MATCH_DIVU, MASK_DIVU) +DECLARE_INSN(rem, MATCH_REM, MASK_REM) +DECLARE_INSN(remu, MATCH_REMU, MASK_REMU) +DECLARE_INSN(mulw, MATCH_MULW, MASK_MULW) +DECLARE_INSN(divw, MATCH_DIVW, MASK_DIVW) +DECLARE_INSN(divuw, MATCH_DIVUW, MASK_DIVUW) +DECLARE_INSN(remw, MATCH_REMW, MASK_REMW) +DECLARE_INSN(remuw, MATCH_REMUW, MASK_REMUW) +DECLARE_INSN(amoadd_w, MATCH_AMOADD_W, MASK_AMOADD_W) +DECLARE_INSN(amoxor_w, MATCH_AMOXOR_W, MASK_AMOXOR_W) +DECLARE_INSN(amoor_w, MATCH_AMOOR_W, MASK_AMOOR_W) +DECLARE_INSN(amoand_w, MATCH_AMOAND_W, MASK_AMOAND_W) +DECLARE_INSN(amomin_w, MATCH_AMOMIN_W, MASK_AMOMIN_W) +DECLARE_INSN(amomax_w, MATCH_AMOMAX_W, MASK_AMOMAX_W) +DECLARE_INSN(amominu_w, MATCH_AMOMINU_W, MASK_AMOMINU_W) +DECLARE_INSN(amomaxu_w, MATCH_AMOMAXU_W, MASK_AMOMAXU_W) +DECLARE_INSN(amoswap_w, MATCH_AMOSWAP_W, MASK_AMOSWAP_W) +DECLARE_INSN(lr_w, MATCH_LR_W, MASK_LR_W) +DECLARE_INSN(sc_w, MATCH_SC_W, MASK_SC_W) +DECLARE_INSN(amoadd_d, MATCH_AMOADD_D, MASK_AMOADD_D) +DECLARE_INSN(amoxor_d, MATCH_AMOXOR_D, MASK_AMOXOR_D) +DECLARE_INSN(amoor_d, MATCH_AMOOR_D, MASK_AMOOR_D) +DECLARE_INSN(amoand_d, MATCH_AMOAND_D, MASK_AMOAND_D) +DECLARE_INSN(amomin_d, MATCH_AMOMIN_D, MASK_AMOMIN_D) +DECLARE_INSN(amomax_d, MATCH_AMOMAX_D, MASK_AMOMAX_D) +DECLARE_INSN(amominu_d, MATCH_AMOMINU_D, MASK_AMOMINU_D) +DECLARE_INSN(amomaxu_d, MATCH_AMOMAXU_D, MASK_AMOMAXU_D) +DECLARE_INSN(amoswap_d, MATCH_AMOSWAP_D, MASK_AMOSWAP_D) +DECLARE_INSN(lr_d, MATCH_LR_D, MASK_LR_D) +DECLARE_INSN(sc_d, MATCH_SC_D, MASK_SC_D) +DECLARE_INSN(ecall, MATCH_ECALL, MASK_ECALL) +DECLARE_INSN(ebreak, MATCH_EBREAK, MASK_EBREAK) +DECLARE_INSN(uret, MATCH_URET, MASK_URET) +DECLARE_INSN(sret, MATCH_SRET, MASK_SRET) +DECLARE_INSN(hret, MATCH_HRET, MASK_HRET) +DECLARE_INSN(mret, MATCH_MRET, MASK_MRET) +DECLARE_INSN(dret, MATCH_DRET, MASK_DRET) +DECLARE_INSN(sfence_vm, MATCH_SFENCE_VM, MASK_SFENCE_VM) +DECLARE_INSN(wfi, MATCH_WFI, MASK_WFI) +DECLARE_INSN(csrrw, MATCH_CSRRW, MASK_CSRRW) +DECLARE_INSN(csrrs, MATCH_CSRRS, MASK_CSRRS) +DECLARE_INSN(csrrc, MATCH_CSRRC, MASK_CSRRC) +DECLARE_INSN(csrrwi, MATCH_CSRRWI, MASK_CSRRWI) +DECLARE_INSN(csrrsi, MATCH_CSRRSI, MASK_CSRRSI) +DECLARE_INSN(csrrci, MATCH_CSRRCI, MASK_CSRRCI) +DECLARE_INSN(fadd_s, MATCH_FADD_S, MASK_FADD_S) +DECLARE_INSN(fsub_s, MATCH_FSUB_S, MASK_FSUB_S) +DECLARE_INSN(fmul_s, MATCH_FMUL_S, MASK_FMUL_S) +DECLARE_INSN(fdiv_s, MATCH_FDIV_S, MASK_FDIV_S) +DECLARE_INSN(fsgnj_s, MATCH_FSGNJ_S, MASK_FSGNJ_S) +DECLARE_INSN(fsgnjn_s, MATCH_FSGNJN_S, MASK_FSGNJN_S) +DECLARE_INSN(fsgnjx_s, MATCH_FSGNJX_S, MASK_FSGNJX_S) +DECLARE_INSN(fmin_s, MATCH_FMIN_S, MASK_FMIN_S) +DECLARE_INSN(fmax_s, MATCH_FMAX_S, MASK_FMAX_S) +DECLARE_INSN(fsqrt_s, MATCH_FSQRT_S, MASK_FSQRT_S) +DECLARE_INSN(fadd_d, MATCH_FADD_D, MASK_FADD_D) +DECLARE_INSN(fsub_d, MATCH_FSUB_D, MASK_FSUB_D) +DECLARE_INSN(fmul_d, MATCH_FMUL_D, MASK_FMUL_D) +DECLARE_INSN(fdiv_d, MATCH_FDIV_D, MASK_FDIV_D) +DECLARE_INSN(fsgnj_d, MATCH_FSGNJ_D, MASK_FSGNJ_D) +DECLARE_INSN(fsgnjn_d, MATCH_FSGNJN_D, MASK_FSGNJN_D) +DECLARE_INSN(fsgnjx_d, MATCH_FSGNJX_D, MASK_FSGNJX_D) +DECLARE_INSN(fmin_d, MATCH_FMIN_D, MASK_FMIN_D) +DECLARE_INSN(fmax_d, MATCH_FMAX_D, MASK_FMAX_D) +DECLARE_INSN(fcvt_s_d, MATCH_FCVT_S_D, MASK_FCVT_S_D) +DECLARE_INSN(fcvt_d_s, MATCH_FCVT_D_S, MASK_FCVT_D_S) +DECLARE_INSN(fsqrt_d, MATCH_FSQRT_D, MASK_FSQRT_D) +DECLARE_INSN(fle_s, MATCH_FLE_S, MASK_FLE_S) +DECLARE_INSN(flt_s, MATCH_FLT_S, MASK_FLT_S) +DECLARE_INSN(feq_s, MATCH_FEQ_S, MASK_FEQ_S) +DECLARE_INSN(fle_d, MATCH_FLE_D, MASK_FLE_D) +DECLARE_INSN(flt_d, MATCH_FLT_D, MASK_FLT_D) +DECLARE_INSN(feq_d, MATCH_FEQ_D, MASK_FEQ_D) +DECLARE_INSN(fcvt_w_s, MATCH_FCVT_W_S, MASK_FCVT_W_S) +DECLARE_INSN(fcvt_wu_s, MATCH_FCVT_WU_S, MASK_FCVT_WU_S) +DECLARE_INSN(fcvt_l_s, MATCH_FCVT_L_S, MASK_FCVT_L_S) +DECLARE_INSN(fcvt_lu_s, MATCH_FCVT_LU_S, MASK_FCVT_LU_S) +DECLARE_INSN(fmv_x_s, MATCH_FMV_X_S, MASK_FMV_X_S) +DECLARE_INSN(fclass_s, MATCH_FCLASS_S, MASK_FCLASS_S) +DECLARE_INSN(fcvt_w_d, MATCH_FCVT_W_D, MASK_FCVT_W_D) +DECLARE_INSN(fcvt_wu_d, MATCH_FCVT_WU_D, MASK_FCVT_WU_D) +DECLARE_INSN(fcvt_l_d, MATCH_FCVT_L_D, MASK_FCVT_L_D) +DECLARE_INSN(fcvt_lu_d, MATCH_FCVT_LU_D, MASK_FCVT_LU_D) +DECLARE_INSN(fmv_x_d, MATCH_FMV_X_D, MASK_FMV_X_D) +DECLARE_INSN(fclass_d, MATCH_FCLASS_D, MASK_FCLASS_D) +DECLARE_INSN(fcvt_s_w, MATCH_FCVT_S_W, MASK_FCVT_S_W) +DECLARE_INSN(fcvt_s_wu, MATCH_FCVT_S_WU, MASK_FCVT_S_WU) +DECLARE_INSN(fcvt_s_l, MATCH_FCVT_S_L, MASK_FCVT_S_L) +DECLARE_INSN(fcvt_s_lu, MATCH_FCVT_S_LU, MASK_FCVT_S_LU) +DECLARE_INSN(fmv_s_x, MATCH_FMV_S_X, MASK_FMV_S_X) +DECLARE_INSN(fcvt_d_w, MATCH_FCVT_D_W, MASK_FCVT_D_W) +DECLARE_INSN(fcvt_d_wu, MATCH_FCVT_D_WU, MASK_FCVT_D_WU) +DECLARE_INSN(fcvt_d_l, MATCH_FCVT_D_L, MASK_FCVT_D_L) +DECLARE_INSN(fcvt_d_lu, MATCH_FCVT_D_LU, MASK_FCVT_D_LU) +DECLARE_INSN(fmv_d_x, MATCH_FMV_D_X, MASK_FMV_D_X) +DECLARE_INSN(flw, MATCH_FLW, MASK_FLW) +DECLARE_INSN(fld, MATCH_FLD, MASK_FLD) +DECLARE_INSN(fsw, MATCH_FSW, MASK_FSW) +DECLARE_INSN(fsd, MATCH_FSD, MASK_FSD) +DECLARE_INSN(fmadd_s, MATCH_FMADD_S, MASK_FMADD_S) +DECLARE_INSN(fmsub_s, MATCH_FMSUB_S, MASK_FMSUB_S) +DECLARE_INSN(fnmsub_s, MATCH_FNMSUB_S, MASK_FNMSUB_S) +DECLARE_INSN(fnmadd_s, MATCH_FNMADD_S, MASK_FNMADD_S) +DECLARE_INSN(fmadd_d, MATCH_FMADD_D, MASK_FMADD_D) +DECLARE_INSN(fmsub_d, MATCH_FMSUB_D, MASK_FMSUB_D) +DECLARE_INSN(fnmsub_d, MATCH_FNMSUB_D, MASK_FNMSUB_D) +DECLARE_INSN(fnmadd_d, MATCH_FNMADD_D, MASK_FNMADD_D) +DECLARE_INSN(c_nop, MATCH_C_NOP, MASK_C_NOP) +DECLARE_INSN(c_addi16sp, MATCH_C_ADDI16SP, MASK_C_ADDI16SP) +DECLARE_INSN(c_jr, MATCH_C_JR, MASK_C_JR) +DECLARE_INSN(c_jalr, MATCH_C_JALR, MASK_C_JALR) +DECLARE_INSN(c_ebreak, MATCH_C_EBREAK, MASK_C_EBREAK) +DECLARE_INSN(c_ld, MATCH_C_LD, MASK_C_LD) +DECLARE_INSN(c_sd, MATCH_C_SD, MASK_C_SD) +DECLARE_INSN(c_addiw, MATCH_C_ADDIW, MASK_C_ADDIW) +DECLARE_INSN(c_ldsp, MATCH_C_LDSP, MASK_C_LDSP) +DECLARE_INSN(c_sdsp, MATCH_C_SDSP, MASK_C_SDSP) +DECLARE_INSN(c_addi4spn, MATCH_C_ADDI4SPN, MASK_C_ADDI4SPN) +DECLARE_INSN(c_fld, MATCH_C_FLD, MASK_C_FLD) +DECLARE_INSN(c_lw, MATCH_C_LW, MASK_C_LW) +DECLARE_INSN(c_flw, MATCH_C_FLW, MASK_C_FLW) +DECLARE_INSN(c_fsd, MATCH_C_FSD, MASK_C_FSD) +DECLARE_INSN(c_sw, MATCH_C_SW, MASK_C_SW) +DECLARE_INSN(c_fsw, MATCH_C_FSW, MASK_C_FSW) +DECLARE_INSN(c_addi, MATCH_C_ADDI, MASK_C_ADDI) +DECLARE_INSN(c_jal, MATCH_C_JAL, MASK_C_JAL) +DECLARE_INSN(c_li, MATCH_C_LI, MASK_C_LI) +DECLARE_INSN(c_lui, MATCH_C_LUI, MASK_C_LUI) +DECLARE_INSN(c_srli, MATCH_C_SRLI, MASK_C_SRLI) +DECLARE_INSN(c_srai, MATCH_C_SRAI, MASK_C_SRAI) +DECLARE_INSN(c_andi, MATCH_C_ANDI, MASK_C_ANDI) +DECLARE_INSN(c_sub, MATCH_C_SUB, MASK_C_SUB) +DECLARE_INSN(c_xor, MATCH_C_XOR, MASK_C_XOR) +DECLARE_INSN(c_or, MATCH_C_OR, MASK_C_OR) +DECLARE_INSN(c_and, MATCH_C_AND, MASK_C_AND) +DECLARE_INSN(c_subw, MATCH_C_SUBW, MASK_C_SUBW) +DECLARE_INSN(c_addw, MATCH_C_ADDW, MASK_C_ADDW) +DECLARE_INSN(c_j, MATCH_C_J, MASK_C_J) +DECLARE_INSN(c_beqz, MATCH_C_BEQZ, MASK_C_BEQZ) +DECLARE_INSN(c_bnez, MATCH_C_BNEZ, MASK_C_BNEZ) +DECLARE_INSN(c_slli, MATCH_C_SLLI, MASK_C_SLLI) +DECLARE_INSN(c_fldsp, MATCH_C_FLDSP, MASK_C_FLDSP) +DECLARE_INSN(c_lwsp, MATCH_C_LWSP, MASK_C_LWSP) +DECLARE_INSN(c_flwsp, MATCH_C_FLWSP, MASK_C_FLWSP) +DECLARE_INSN(c_mv, MATCH_C_MV, MASK_C_MV) +DECLARE_INSN(c_add, MATCH_C_ADD, MASK_C_ADD) +DECLARE_INSN(c_fsdsp, MATCH_C_FSDSP, MASK_C_FSDSP) +DECLARE_INSN(c_swsp, MATCH_C_SWSP, MASK_C_SWSP) +DECLARE_INSN(c_fswsp, MATCH_C_FSWSP, MASK_C_FSWSP) +DECLARE_INSN(custom0, MATCH_CUSTOM0, MASK_CUSTOM0) +DECLARE_INSN(custom0_rs1, MATCH_CUSTOM0_RS1, MASK_CUSTOM0_RS1) +DECLARE_INSN(custom0_rs1_rs2, MATCH_CUSTOM0_RS1_RS2, MASK_CUSTOM0_RS1_RS2) +DECLARE_INSN(custom0_rd, MATCH_CUSTOM0_RD, MASK_CUSTOM0_RD) +DECLARE_INSN(custom0_rd_rs1, MATCH_CUSTOM0_RD_RS1, MASK_CUSTOM0_RD_RS1) +DECLARE_INSN(custom0_rd_rs1_rs2, MATCH_CUSTOM0_RD_RS1_RS2, MASK_CUSTOM0_RD_RS1_RS2) +DECLARE_INSN(custom1, MATCH_CUSTOM1, MASK_CUSTOM1) +DECLARE_INSN(custom1_rs1, MATCH_CUSTOM1_RS1, MASK_CUSTOM1_RS1) +DECLARE_INSN(custom1_rs1_rs2, MATCH_CUSTOM1_RS1_RS2, MASK_CUSTOM1_RS1_RS2) +DECLARE_INSN(custom1_rd, MATCH_CUSTOM1_RD, MASK_CUSTOM1_RD) +DECLARE_INSN(custom1_rd_rs1, MATCH_CUSTOM1_RD_RS1, MASK_CUSTOM1_RD_RS1) +DECLARE_INSN(custom1_rd_rs1_rs2, MATCH_CUSTOM1_RD_RS1_RS2, MASK_CUSTOM1_RD_RS1_RS2) +DECLARE_INSN(custom2, MATCH_CUSTOM2, MASK_CUSTOM2) +DECLARE_INSN(custom2_rs1, MATCH_CUSTOM2_RS1, MASK_CUSTOM2_RS1) +DECLARE_INSN(custom2_rs1_rs2, MATCH_CUSTOM2_RS1_RS2, MASK_CUSTOM2_RS1_RS2) +DECLARE_INSN(custom2_rd, MATCH_CUSTOM2_RD, MASK_CUSTOM2_RD) +DECLARE_INSN(custom2_rd_rs1, MATCH_CUSTOM2_RD_RS1, MASK_CUSTOM2_RD_RS1) +DECLARE_INSN(custom2_rd_rs1_rs2, MATCH_CUSTOM2_RD_RS1_RS2, MASK_CUSTOM2_RD_RS1_RS2) +DECLARE_INSN(custom3, MATCH_CUSTOM3, MASK_CUSTOM3) +DECLARE_INSN(custom3_rs1, MATCH_CUSTOM3_RS1, MASK_CUSTOM3_RS1) +DECLARE_INSN(custom3_rs1_rs2, MATCH_CUSTOM3_RS1_RS2, MASK_CUSTOM3_RS1_RS2) +DECLARE_INSN(custom3_rd, MATCH_CUSTOM3_RD, MASK_CUSTOM3_RD) +DECLARE_INSN(custom3_rd_rs1, MATCH_CUSTOM3_RD_RS1, MASK_CUSTOM3_RD_RS1) +DECLARE_INSN(custom3_rd_rs1_rs2, MATCH_CUSTOM3_RD_RS1_RS2, MASK_CUSTOM3_RD_RS1_RS2) +#endif +#ifdef DECLARE_CSR +DECLARE_CSR(fflags, CSR_FFLAGS) +DECLARE_CSR(frm, CSR_FRM) +DECLARE_CSR(fcsr, CSR_FCSR) +DECLARE_CSR(cycle, CSR_CYCLE) +DECLARE_CSR(time, CSR_TIME) +DECLARE_CSR(instret, CSR_INSTRET) +DECLARE_CSR(hpmcounter3, CSR_HPMCOUNTER3) +DECLARE_CSR(hpmcounter4, CSR_HPMCOUNTER4) +DECLARE_CSR(hpmcounter5, CSR_HPMCOUNTER5) +DECLARE_CSR(hpmcounter6, CSR_HPMCOUNTER6) +DECLARE_CSR(hpmcounter7, CSR_HPMCOUNTER7) +DECLARE_CSR(hpmcounter8, CSR_HPMCOUNTER8) +DECLARE_CSR(hpmcounter9, CSR_HPMCOUNTER9) +DECLARE_CSR(hpmcounter10, CSR_HPMCOUNTER10) +DECLARE_CSR(hpmcounter11, CSR_HPMCOUNTER11) +DECLARE_CSR(hpmcounter12, CSR_HPMCOUNTER12) +DECLARE_CSR(hpmcounter13, CSR_HPMCOUNTER13) +DECLARE_CSR(hpmcounter14, CSR_HPMCOUNTER14) +DECLARE_CSR(hpmcounter15, CSR_HPMCOUNTER15) +DECLARE_CSR(hpmcounter16, CSR_HPMCOUNTER16) +DECLARE_CSR(hpmcounter17, CSR_HPMCOUNTER17) +DECLARE_CSR(hpmcounter18, CSR_HPMCOUNTER18) +DECLARE_CSR(hpmcounter19, CSR_HPMCOUNTER19) +DECLARE_CSR(hpmcounter20, CSR_HPMCOUNTER20) +DECLARE_CSR(hpmcounter21, CSR_HPMCOUNTER21) +DECLARE_CSR(hpmcounter22, CSR_HPMCOUNTER22) +DECLARE_CSR(hpmcounter23, CSR_HPMCOUNTER23) +DECLARE_CSR(hpmcounter24, CSR_HPMCOUNTER24) +DECLARE_CSR(hpmcounter25, CSR_HPMCOUNTER25) +DECLARE_CSR(hpmcounter26, CSR_HPMCOUNTER26) +DECLARE_CSR(hpmcounter27, CSR_HPMCOUNTER27) +DECLARE_CSR(hpmcounter28, CSR_HPMCOUNTER28) +DECLARE_CSR(hpmcounter29, CSR_HPMCOUNTER29) +DECLARE_CSR(hpmcounter30, CSR_HPMCOUNTER30) +DECLARE_CSR(hpmcounter31, CSR_HPMCOUNTER31) +DECLARE_CSR(sstatus, CSR_SSTATUS) +DECLARE_CSR(sie, CSR_SIE) +DECLARE_CSR(stvec, CSR_STVEC) +DECLARE_CSR(sscratch, CSR_SSCRATCH) +DECLARE_CSR(sepc, CSR_SEPC) +DECLARE_CSR(scause, CSR_SCAUSE) +DECLARE_CSR(sbadaddr, CSR_SBADADDR) +DECLARE_CSR(sip, CSR_SIP) +DECLARE_CSR(sptbr, CSR_SPTBR) +DECLARE_CSR(mstatus, CSR_MSTATUS) +DECLARE_CSR(misa, CSR_MISA) +DECLARE_CSR(medeleg, CSR_MEDELEG) +DECLARE_CSR(mideleg, CSR_MIDELEG) +DECLARE_CSR(mie, CSR_MIE) +DECLARE_CSR(mtvec, CSR_MTVEC) +DECLARE_CSR(mscratch, CSR_MSCRATCH) +DECLARE_CSR(mepc, CSR_MEPC) +DECLARE_CSR(mcause, CSR_MCAUSE) +DECLARE_CSR(mbadaddr, CSR_MBADADDR) +DECLARE_CSR(mip, CSR_MIP) +DECLARE_CSR(tselect, CSR_TSELECT) +DECLARE_CSR(tdata1, CSR_TDATA1) +DECLARE_CSR(tdata2, CSR_TDATA2) +DECLARE_CSR(tdata3, CSR_TDATA3) +DECLARE_CSR(dcsr, CSR_DCSR) +DECLARE_CSR(dpc, CSR_DPC) +DECLARE_CSR(dscratch, CSR_DSCRATCH) +DECLARE_CSR(mcycle, CSR_MCYCLE) +DECLARE_CSR(minstret, CSR_MINSTRET) +DECLARE_CSR(mhpmcounter3, CSR_MHPMCOUNTER3) +DECLARE_CSR(mhpmcounter4, CSR_MHPMCOUNTER4) +DECLARE_CSR(mhpmcounter5, CSR_MHPMCOUNTER5) +DECLARE_CSR(mhpmcounter6, CSR_MHPMCOUNTER6) +DECLARE_CSR(mhpmcounter7, CSR_MHPMCOUNTER7) +DECLARE_CSR(mhpmcounter8, CSR_MHPMCOUNTER8) +DECLARE_CSR(mhpmcounter9, CSR_MHPMCOUNTER9) +DECLARE_CSR(mhpmcounter10, CSR_MHPMCOUNTER10) +DECLARE_CSR(mhpmcounter11, CSR_MHPMCOUNTER11) +DECLARE_CSR(mhpmcounter12, CSR_MHPMCOUNTER12) +DECLARE_CSR(mhpmcounter13, CSR_MHPMCOUNTER13) +DECLARE_CSR(mhpmcounter14, CSR_MHPMCOUNTER14) +DECLARE_CSR(mhpmcounter15, CSR_MHPMCOUNTER15) +DECLARE_CSR(mhpmcounter16, CSR_MHPMCOUNTER16) +DECLARE_CSR(mhpmcounter17, CSR_MHPMCOUNTER17) +DECLARE_CSR(mhpmcounter18, CSR_MHPMCOUNTER18) +DECLARE_CSR(mhpmcounter19, CSR_MHPMCOUNTER19) +DECLARE_CSR(mhpmcounter20, CSR_MHPMCOUNTER20) +DECLARE_CSR(mhpmcounter21, CSR_MHPMCOUNTER21) +DECLARE_CSR(mhpmcounter22, CSR_MHPMCOUNTER22) +DECLARE_CSR(mhpmcounter23, CSR_MHPMCOUNTER23) +DECLARE_CSR(mhpmcounter24, CSR_MHPMCOUNTER24) +DECLARE_CSR(mhpmcounter25, CSR_MHPMCOUNTER25) +DECLARE_CSR(mhpmcounter26, CSR_MHPMCOUNTER26) +DECLARE_CSR(mhpmcounter27, CSR_MHPMCOUNTER27) +DECLARE_CSR(mhpmcounter28, CSR_MHPMCOUNTER28) +DECLARE_CSR(mhpmcounter29, CSR_MHPMCOUNTER29) +DECLARE_CSR(mhpmcounter30, CSR_MHPMCOUNTER30) +DECLARE_CSR(mhpmcounter31, CSR_MHPMCOUNTER31) +DECLARE_CSR(mucounteren, CSR_MUCOUNTEREN) +DECLARE_CSR(mscounteren, CSR_MSCOUNTEREN) +DECLARE_CSR(mhpmevent3, CSR_MHPMEVENT3) +DECLARE_CSR(mhpmevent4, CSR_MHPMEVENT4) +DECLARE_CSR(mhpmevent5, CSR_MHPMEVENT5) +DECLARE_CSR(mhpmevent6, CSR_MHPMEVENT6) +DECLARE_CSR(mhpmevent7, CSR_MHPMEVENT7) +DECLARE_CSR(mhpmevent8, CSR_MHPMEVENT8) +DECLARE_CSR(mhpmevent9, CSR_MHPMEVENT9) +DECLARE_CSR(mhpmevent10, CSR_MHPMEVENT10) +DECLARE_CSR(mhpmevent11, CSR_MHPMEVENT11) +DECLARE_CSR(mhpmevent12, CSR_MHPMEVENT12) +DECLARE_CSR(mhpmevent13, CSR_MHPMEVENT13) +DECLARE_CSR(mhpmevent14, CSR_MHPMEVENT14) +DECLARE_CSR(mhpmevent15, CSR_MHPMEVENT15) +DECLARE_CSR(mhpmevent16, CSR_MHPMEVENT16) +DECLARE_CSR(mhpmevent17, CSR_MHPMEVENT17) +DECLARE_CSR(mhpmevent18, CSR_MHPMEVENT18) +DECLARE_CSR(mhpmevent19, CSR_MHPMEVENT19) +DECLARE_CSR(mhpmevent20, CSR_MHPMEVENT20) +DECLARE_CSR(mhpmevent21, CSR_MHPMEVENT21) +DECLARE_CSR(mhpmevent22, CSR_MHPMEVENT22) +DECLARE_CSR(mhpmevent23, CSR_MHPMEVENT23) +DECLARE_CSR(mhpmevent24, CSR_MHPMEVENT24) +DECLARE_CSR(mhpmevent25, CSR_MHPMEVENT25) +DECLARE_CSR(mhpmevent26, CSR_MHPMEVENT26) +DECLARE_CSR(mhpmevent27, CSR_MHPMEVENT27) +DECLARE_CSR(mhpmevent28, CSR_MHPMEVENT28) +DECLARE_CSR(mhpmevent29, CSR_MHPMEVENT29) +DECLARE_CSR(mhpmevent30, CSR_MHPMEVENT30) +DECLARE_CSR(mhpmevent31, CSR_MHPMEVENT31) +DECLARE_CSR(mvendorid, CSR_MVENDORID) +DECLARE_CSR(marchid, CSR_MARCHID) +DECLARE_CSR(mimpid, CSR_MIMPID) +DECLARE_CSR(mhartid, CSR_MHARTID) +DECLARE_CSR(cycleh, CSR_CYCLEH) +DECLARE_CSR(timeh, CSR_TIMEH) +DECLARE_CSR(instreth, CSR_INSTRETH) +DECLARE_CSR(hpmcounter3h, CSR_HPMCOUNTER3H) +DECLARE_CSR(hpmcounter4h, CSR_HPMCOUNTER4H) +DECLARE_CSR(hpmcounter5h, CSR_HPMCOUNTER5H) +DECLARE_CSR(hpmcounter6h, CSR_HPMCOUNTER6H) +DECLARE_CSR(hpmcounter7h, CSR_HPMCOUNTER7H) +DECLARE_CSR(hpmcounter8h, CSR_HPMCOUNTER8H) +DECLARE_CSR(hpmcounter9h, CSR_HPMCOUNTER9H) +DECLARE_CSR(hpmcounter10h, CSR_HPMCOUNTER10H) +DECLARE_CSR(hpmcounter11h, CSR_HPMCOUNTER11H) +DECLARE_CSR(hpmcounter12h, CSR_HPMCOUNTER12H) +DECLARE_CSR(hpmcounter13h, CSR_HPMCOUNTER13H) +DECLARE_CSR(hpmcounter14h, CSR_HPMCOUNTER14H) +DECLARE_CSR(hpmcounter15h, CSR_HPMCOUNTER15H) +DECLARE_CSR(hpmcounter16h, CSR_HPMCOUNTER16H) +DECLARE_CSR(hpmcounter17h, CSR_HPMCOUNTER17H) +DECLARE_CSR(hpmcounter18h, CSR_HPMCOUNTER18H) +DECLARE_CSR(hpmcounter19h, CSR_HPMCOUNTER19H) +DECLARE_CSR(hpmcounter20h, CSR_HPMCOUNTER20H) +DECLARE_CSR(hpmcounter21h, CSR_HPMCOUNTER21H) +DECLARE_CSR(hpmcounter22h, CSR_HPMCOUNTER22H) +DECLARE_CSR(hpmcounter23h, CSR_HPMCOUNTER23H) +DECLARE_CSR(hpmcounter24h, CSR_HPMCOUNTER24H) +DECLARE_CSR(hpmcounter25h, CSR_HPMCOUNTER25H) +DECLARE_CSR(hpmcounter26h, CSR_HPMCOUNTER26H) +DECLARE_CSR(hpmcounter27h, CSR_HPMCOUNTER27H) +DECLARE_CSR(hpmcounter28h, CSR_HPMCOUNTER28H) +DECLARE_CSR(hpmcounter29h, CSR_HPMCOUNTER29H) +DECLARE_CSR(hpmcounter30h, CSR_HPMCOUNTER30H) +DECLARE_CSR(hpmcounter31h, CSR_HPMCOUNTER31H) +DECLARE_CSR(mcycleh, CSR_MCYCLEH) +DECLARE_CSR(minstreth, CSR_MINSTRETH) +DECLARE_CSR(mhpmcounter3h, CSR_MHPMCOUNTER3H) +DECLARE_CSR(mhpmcounter4h, CSR_MHPMCOUNTER4H) +DECLARE_CSR(mhpmcounter5h, CSR_MHPMCOUNTER5H) +DECLARE_CSR(mhpmcounter6h, CSR_MHPMCOUNTER6H) +DECLARE_CSR(mhpmcounter7h, CSR_MHPMCOUNTER7H) +DECLARE_CSR(mhpmcounter8h, CSR_MHPMCOUNTER8H) +DECLARE_CSR(mhpmcounter9h, CSR_MHPMCOUNTER9H) +DECLARE_CSR(mhpmcounter10h, CSR_MHPMCOUNTER10H) +DECLARE_CSR(mhpmcounter11h, CSR_MHPMCOUNTER11H) +DECLARE_CSR(mhpmcounter12h, CSR_MHPMCOUNTER12H) +DECLARE_CSR(mhpmcounter13h, CSR_MHPMCOUNTER13H) +DECLARE_CSR(mhpmcounter14h, CSR_MHPMCOUNTER14H) +DECLARE_CSR(mhpmcounter15h, CSR_MHPMCOUNTER15H) +DECLARE_CSR(mhpmcounter16h, CSR_MHPMCOUNTER16H) +DECLARE_CSR(mhpmcounter17h, CSR_MHPMCOUNTER17H) +DECLARE_CSR(mhpmcounter18h, CSR_MHPMCOUNTER18H) +DECLARE_CSR(mhpmcounter19h, CSR_MHPMCOUNTER19H) +DECLARE_CSR(mhpmcounter20h, CSR_MHPMCOUNTER20H) +DECLARE_CSR(mhpmcounter21h, CSR_MHPMCOUNTER21H) +DECLARE_CSR(mhpmcounter22h, CSR_MHPMCOUNTER22H) +DECLARE_CSR(mhpmcounter23h, CSR_MHPMCOUNTER23H) +DECLARE_CSR(mhpmcounter24h, CSR_MHPMCOUNTER24H) +DECLARE_CSR(mhpmcounter25h, CSR_MHPMCOUNTER25H) +DECLARE_CSR(mhpmcounter26h, CSR_MHPMCOUNTER26H) +DECLARE_CSR(mhpmcounter27h, CSR_MHPMCOUNTER27H) +DECLARE_CSR(mhpmcounter28h, CSR_MHPMCOUNTER28H) +DECLARE_CSR(mhpmcounter29h, CSR_MHPMCOUNTER29H) +DECLARE_CSR(mhpmcounter30h, CSR_MHPMCOUNTER30H) +DECLARE_CSR(mhpmcounter31h, CSR_MHPMCOUNTER31H) +#endif +#ifdef DECLARE_CAUSE +DECLARE_CAUSE("misaligned fetch", CAUSE_MISALIGNED_FETCH) +DECLARE_CAUSE("fault fetch", CAUSE_FAULT_FETCH) +DECLARE_CAUSE("illegal instruction", CAUSE_ILLEGAL_INSTRUCTION) +DECLARE_CAUSE("breakpoint", CAUSE_BREAKPOINT) +DECLARE_CAUSE("misaligned load", CAUSE_MISALIGNED_LOAD) +DECLARE_CAUSE("fault load", CAUSE_FAULT_LOAD) +DECLARE_CAUSE("misaligned store", CAUSE_MISALIGNED_STORE) +DECLARE_CAUSE("fault store", CAUSE_FAULT_STORE) +DECLARE_CAUSE("user_ecall", CAUSE_USER_ECALL) +DECLARE_CAUSE("supervisor_ecall", CAUSE_SUPERVISOR_ECALL) +DECLARE_CAUSE("hypervisor_ecall", CAUSE_HYPERVISOR_ECALL) +DECLARE_CAUSE("machine_ecall", CAUSE_MACHINE_ECALL) +#endif diff --git a/board/hifive1-emulator/third_party_driver/fe300prci/fe300prci_driver.c b/board/hifive1-emulator/third_party_driver/fe300prci/fe300prci_driver.c new file mode 100644 index 00000000..8eeaafc0 --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/fe300prci/fe300prci_driver.c @@ -0,0 +1,252 @@ +// See LICENSE file for license details + +#include "platform.h" + +#ifdef PRCI_CTRL_ADDR +#include "fe300prci/fe300prci_driver.h" +#include + +#define rdmcycle(x) { \ + uint32_t lo, hi, hi2; \ + __asm__ __volatile__ ("1:\n\t" \ + "csrr %0, mcycleh\n\t" \ + "csrr %1, mcycle\n\t" \ + "csrr %2, mcycleh\n\t" \ + "bne %0, %2, 1b\n\t" \ + : "=r" (hi), "=r" (lo), "=r" (hi2)) ; \ + *(x) = lo | ((uint64_t) hi << 32); \ + } + +uint32_t PRCI_measure_mcycle_freq(uint32_t mtime_ticks, uint32_t mtime_freq) +{ + + uint32_t start_mtime = CLINT_REG(CLINT_MTIME); + uint32_t end_mtime = start_mtime + mtime_ticks + 1; + + // Make sure we won't get rollover. + while (end_mtime < start_mtime){ + start_mtime = CLINT_REG(CLINT_MTIME); + end_mtime = start_mtime + mtime_ticks + 1; + } + + // Don't start measuring until mtime edge. + uint32_t tmp = start_mtime; + do { + start_mtime = CLINT_REG(CLINT_MTIME); + } while (start_mtime == tmp); + + uint64_t start_mcycle; + rdmcycle(&start_mcycle); + + while (CLINT_REG(CLINT_MTIME) < end_mtime) ; + + uint64_t end_mcycle; + rdmcycle(&end_mcycle); + uint32_t difference = (uint32_t) (end_mcycle - start_mcycle); + + uint64_t freq = ((uint64_t) difference * mtime_freq) / mtime_ticks; + return (uint32_t) freq & 0xFFFFFFFF; + +} + + +void PRCI_use_hfrosc(int div, int trim) +{ + // Make sure the HFROSC is running at its default setting + // It is OK to change this even if we are running off of it. + + PRCI_REG(PRCI_HFROSCCFG) = (ROSC_DIV(div) | ROSC_TRIM(trim) | ROSC_EN(1)); + + while ((PRCI_REG(PRCI_HFROSCCFG) & ROSC_RDY(1)) == 0); + + PRCI_REG(PRCI_PLLCFG) &= ~PLL_SEL(1); +} + +void PRCI_use_pll(int refsel, int bypass, + int r, int f, int q, int finaldiv, + int hfroscdiv, int hfrosctrim) +{ + // Ensure that we aren't running off the PLL before we mess with it. + if (PRCI_REG(PRCI_PLLCFG) & PLL_SEL(1)) { + // Make sure the HFROSC is running at its default setting + PRCI_use_hfrosc(4, 16); + } + + // Set PLL Source to be HFXOSC if desired. + uint32_t config_value = 0; + + config_value |= PLL_REFSEL(refsel); + + if (bypass) { + // Bypass + config_value |= PLL_BYPASS(1); + + PRCI_REG(PRCI_PLLCFG) = config_value; + + // If we don't have an HFXTAL, this doesn't really matter. + // Set our Final output divide to divide-by-1: + PRCI_REG(PRCI_PLLDIV) = (PLL_FINAL_DIV_BY_1(1) | PLL_FINAL_DIV(0)); + } else { + + // To overclock, use the hfrosc + if (hfrosctrim >= 0 && hfroscdiv >= 0) { + PRCI_use_hfrosc(hfroscdiv, hfrosctrim); + } + + // Set DIV Settings for PLL + + // (Legal values of f_REF are 6-48MHz) + + // Set DIVR to divide-by-2 to get 8MHz frequency + // (legal values of f_R are 6-12 MHz) + + config_value |= PLL_BYPASS(1); + config_value |= PLL_R(r); + + // Set DIVF to get 512Mhz frequncy + // There is an implied multiply-by-2, 16Mhz. + // So need to write 32-1 + // (legal values of f_F are 384-768 MHz) + config_value |= PLL_F(f); + + // Set DIVQ to divide-by-2 to get 256 MHz frequency + // (legal values of f_Q are 50-400Mhz) + config_value |= PLL_Q(q); + + // Set our Final output divide to divide-by-1: + if (finaldiv == 1){ + PRCI_REG(PRCI_PLLDIV) = (PLL_FINAL_DIV_BY_1(1) | PLL_FINAL_DIV(0)); + } else { + PRCI_REG(PRCI_PLLDIV) = (PLL_FINAL_DIV(finaldiv-1)); + } + + PRCI_REG(PRCI_PLLCFG) = config_value; + + // Un-Bypass the PLL. + PRCI_REG(PRCI_PLLCFG) &= ~PLL_BYPASS(1); + + // Wait for PLL Lock + // Note that the Lock signal can be glitchy. + // Need to wait 100 us + // RTC is running at 32kHz. + // So wait 4 ticks of RTC. + uint32_t now = CLINT_REG(CLINT_MTIME); + while (CLINT_REG(CLINT_MTIME) - now < 4) ; + + // Now it is safe to check for PLL Lock + while ((PRCI_REG(PRCI_PLLCFG) & PLL_LOCK(1)) == 0); + + } + + // Switch over to PLL Clock source + PRCI_REG(PRCI_PLLCFG) |= PLL_SEL(1); + + // If we're running off HFXOSC, turn off the HFROSC to + // save power. + if (refsel) { + PRCI_REG(PRCI_HFROSCCFG) &= ~ROSC_EN(1); + } + +} + +void PRCI_use_default_clocks() +{ + // Turn off the LFROSC + AON_REG(AON_LFROSC) &= ~ROSC_EN(1); + + // Use HFROSC + PRCI_use_hfrosc(4, 16); +} + +void PRCI_use_hfxosc(uint32_t finaldiv) +{ + + PRCI_use_pll(1, // Use HFXTAL + 1, // Bypass = 1 + 0, // PLL settings don't matter + 0, // PLL settings don't matter + 0, // PLL settings don't matter + finaldiv, + -1, + -1); +} + +// This is a generic function, which +// doesn't span the entire range of HFROSC settings. +// It only adjusts the trim, which can span a hundred MHz or so. +// This function does not check the legality of the PLL settings +// at all, and it is quite possible to configure invalid PLL settings +// this way. +// It returns the actual measured CPU frequency. + +uint32_t PRCI_set_hfrosctrim_for_f_cpu(uint32_t f_cpu, PRCI_freq_target target ) +{ + + uint32_t hfrosctrim = 0; + uint32_t hfroscdiv = 4; + uint32_t prev_trim = 0; + + // In this function we use PLL settings which + // will give us a 32x multiplier from the output + // of the HFROSC source to the output of the + // PLL. We first measure our HFROSC to get the + // right trim, then finally use it as the PLL source. + // We should really check here that the f_cpu + // requested is something in the limit of the PLL. For + // now that is up to the user. + + // This will undershoot for frequencies not divisible by 16. + uint32_t desired_hfrosc_freq = (f_cpu/ 16); + + PRCI_use_hfrosc(hfroscdiv, hfrosctrim); + + // Ignore the first run (for icache reasons) + uint32_t cpu_freq = PRCI_measure_mcycle_freq(3000, RTC_FREQ); + + cpu_freq = PRCI_measure_mcycle_freq(3000, RTC_FREQ); + uint32_t prev_freq = cpu_freq; + + while ((cpu_freq < desired_hfrosc_freq) && (hfrosctrim < 0x1F)){ + prev_trim = hfrosctrim; + prev_freq = cpu_freq; + hfrosctrim ++; + PRCI_use_hfrosc(hfroscdiv, hfrosctrim); + cpu_freq = PRCI_measure_mcycle_freq(3000, RTC_FREQ); + } + + // We couldn't go low enough + if (prev_freq > desired_hfrosc_freq){ + PRCI_use_pll(0, 0, 1, 31, 1, 1, hfroscdiv, prev_trim); + cpu_freq = PRCI_measure_mcycle_freq(1000, RTC_FREQ); + return cpu_freq; + } + + // We couldn't go high enough + if (cpu_freq < desired_hfrosc_freq){ + PRCI_use_pll(0, 0, 1, 31, 1, 1, hfroscdiv, prev_trim); + cpu_freq = PRCI_measure_mcycle_freq(1000, RTC_FREQ); + return cpu_freq; + } + + // Check for over/undershoot + switch(target) { + case(PRCI_FREQ_CLOSEST): + if ((desired_hfrosc_freq - prev_freq) < (cpu_freq - desired_hfrosc_freq)) { + PRCI_use_pll(0, 0, 1, 31, 1, 1, hfroscdiv, prev_trim); + } else { + PRCI_use_pll(0, 0, 1, 31, 1, 1, hfroscdiv, hfrosctrim); + } + break; + case(PRCI_FREQ_UNDERSHOOT): + PRCI_use_pll(0, 0, 1, 31, 1, 1, hfroscdiv, prev_trim); + break; + default: + PRCI_use_pll(0, 0, 1, 31, 1, 1, hfroscdiv, hfrosctrim); + } + + cpu_freq = PRCI_measure_mcycle_freq(1000, RTC_FREQ); + return cpu_freq; + +} + +#endif diff --git a/board/hifive1-emulator/third_party_driver/fe300prci/fe300prci_driver.h b/board/hifive1-emulator/third_party_driver/fe300prci/fe300prci_driver.h new file mode 100644 index 00000000..8cfe152d --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/fe300prci/fe300prci_driver.h @@ -0,0 +1,79 @@ +// See LICENSE file for license details + +#ifndef _FE300PRCI_DRIVER_H_ +#define _FE300PRCI_DRIVER_H_ + +//__BEGIN_DECLS + +#include + +typedef enum prci_freq_target { + + PRCI_FREQ_OVERSHOOT, + PRCI_FREQ_CLOSEST, + PRCI_FREQ_UNDERSHOOT + +} PRCI_freq_target; + +/* Measure and return the approximate frequency of the + * CPU, as given by measuring the mcycle counter against + * the mtime ticks. + */ +uint32_t PRCI_measure_mcycle_freq(uint32_t mtime_ticks, uint32_t mtime_freq); + +/* Safely switch over to the HFROSC using the given div + * and trim settings. + */ +void PRCI_use_hfrosc(int div, int trim); + +/* Safely switch over to the 16MHz HFXOSC, + * applying the finaldiv clock divider (1 is the lowest + * legal value). + */ +void PRCI_use_hfxosc(uint32_t finaldiv); + +/* Safely switch over to the PLL using the given + * settings. + * + * Note that not all combinations of the inputs are actually + * legal, and this function does not check for their + * legality ("safely" means that this function won't turn off + * or glitch the clock the CPU is actually running off, but + * doesn't protect against you making it too fast or slow.) + */ + +void PRCI_use_pll(int refsel, int bypass, + int r, int f, int q, int finaldiv, + int hfroscdiv, int hfrosctrim); + +/* Use the default clocks configured at reset. + * This is ~16Mhz HFROSC and turns off the LFROSC + * (on the current FE310 Dev Platforms, an external LFROSC is + * used as it is more power efficient). + */ +void PRCI_use_default_clocks(); + +/* This routine will adjust the HFROSC trim + * while using HFROSC as the clock source, + * measure the resulting frequency, then + * use it as the PLL clock source, + * in an attempt to get over, under, or close to the + * requested frequency. It returns the actual measured + * frequency. + * + * Note that the requested frequency must be within the + * range supported by the PLL so not all values are + * achievable with this function, and not all + * are guaranteed to actually work. The PLL + * is rated higher than the hardware. + * + * There is no check on the desired f_cpu frequency, it + * is up to the user to specify something reasonable. + */ + +uint32_t PRCI_set_hfrosctrim_for_f_cpu(uint32_t f_cpu, PRCI_freq_target target); + +//__END_DECLS + +#endif + diff --git a/board/hifive1-emulator/third_party_driver/hifive1.h b/board/hifive1-emulator/third_party_driver/hifive1.h new file mode 100644 index 00000000..6ae248f3 --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/hifive1.h @@ -0,0 +1,81 @@ +// See LICENSE for license details. + +#ifndef _SIFIVE_HIFIVE1_H +#define _SIFIVE_HIFIVE1_H + +#include + +/**************************************************************************** + * GPIO Connections + *****************************************************************************/ + +// These are the GPIO bit offsets for the RGB LED on HiFive1 Board. +// These are also mapped to RGB LEDs on the Freedom E300 Arty +// FPGA +// Dev Kit. + +#define RED_LED_OFFSET 22 +#define GREEN_LED_OFFSET 19 +#define BLUE_LED_OFFSET 21 + +// These are the GPIO bit offsets for the differen digital pins +// on the headers for both the HiFive1 Board and the Freedom E300 Arty FPGA Dev Kit. +#define PIN_0_OFFSET 16 +#define PIN_1_OFFSET 17 +#define PIN_2_OFFSET 18 +#define PIN_3_OFFSET 19 +#define PIN_4_OFFSET 20 +#define PIN_5_OFFSET 21 +#define PIN_6_OFFSET 22 +#define PIN_7_OFFSET 23 +#define PIN_8_OFFSET 0 +#define PIN_9_OFFSET 1 +#define PIN_10_OFFSET 2 +#define PIN_11_OFFSET 3 +#define PIN_12_OFFSET 4 +#define PIN_13_OFFSET 5 +//#define PIN_14_OFFSET 8 //This pin is not connected on either board. +#define PIN_15_OFFSET 9 +#define PIN_16_OFFSET 10 +#define PIN_17_OFFSET 11 +#define PIN_18_OFFSET 12 +#define PIN_19_OFFSET 13 + +// These are *PIN* numbers, not +// GPIO Offset Numbers. +#define PIN_SPI1_SCK (13u) +#define PIN_SPI1_MISO (12u) +#define PIN_SPI1_MOSI (11u) +#define PIN_SPI1_SS0 (10u) +#define PIN_SPI1_SS1 (14u) +#define PIN_SPI1_SS2 (15u) +#define PIN_SPI1_SS3 (16u) + +#define SS_PIN_TO_CS_ID(x) \ + ((x==PIN_SPI1_SS0 ? 0 : \ + (x==PIN_SPI1_SS1 ? 1 : \ + (x==PIN_SPI1_SS2 ? 2 : \ + (x==PIN_SPI1_SS3 ? 3 : \ + -1))))) + + +// These buttons are present only on the Freedom E300 Arty Dev Kit. +#ifdef HAS_BOARD_BUTTONS +#define BUTTON_0_OFFSET 15 +#define BUTTON_1_OFFSET 30 +#define BUTTON_2_OFFSET 31 + +#define INT_DEVICE_BUTTON_0 (INT_GPIO_BASE + BUTTON_0_OFFSET) +#define INT_DEVICE_BUTTON_1 (INT_GPIO_BASE + BUTTON_1_OFFSET) +#define INT_DEVICE_BUTTON_2 (INT_GPIO_BASE + BUTTON_2_OFFSET) + +#endif + +#define HAS_HFXOSC 1 +#define HAS_LFROSC_BYPASS 1 + +#define RTC_FREQ 10000000 + +void write_hex(int fd, unsigned long int hex); + +#endif /* _SIFIVE_HIFIVE1_H */ diff --git a/board/hifive1-emulator/third_party_driver/include/sifive/bits.h b/board/hifive1-emulator/third_party_driver/include/sifive/bits.h new file mode 100644 index 00000000..bfe656fe --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/include/sifive/bits.h @@ -0,0 +1,36 @@ +// See LICENSE for license details. +#ifndef _RISCV_BITS_H +#define _RISCV_BITS_H + +#define likely(x) __builtin_expect((x), 1) +#define unlikely(x) __builtin_expect((x), 0) + +#define ROUNDUP(a, b) ((((a)-1)/(b)+1)*(b)) +#define ROUNDDOWN(a, b) ((a)/(b)*(b)) + +#define MAX(a, b) ((a) > (b) ? (a) : (b)) +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +#define CLAMP(a, lo, hi) MIN(MAX(a, lo), hi) + +#define EXTRACT_FIELD(val, which) (((val) & (which)) / ((which) & ~((which)-1))) +#define INSERT_FIELD(val, which, fieldval) (((val) & ~(which)) | ((fieldval) * ((which) & ~((which)-1)))) + +#define STR(x) XSTR(x) +#define XSTR(x) #x + +#if __riscv_xlen == 64 +# define SLL32 sllw +# define STORE sd +# define LOAD ld +# define LWU lwu +# define LOG_REGBYTES 3 +#else +# define SLL32 sll +# define STORE sw +# define LOAD lw +# define LWU lw +# define LOG_REGBYTES 2 +#endif +#define REGBYTES (1 << LOG_REGBYTES) + +#endif diff --git a/board/hifive1-emulator/third_party_driver/include/sifive/const.h b/board/hifive1-emulator/third_party_driver/include/sifive/const.h new file mode 100644 index 00000000..8dcffbb0 --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/include/sifive/const.h @@ -0,0 +1,18 @@ +// See LICENSE for license details. +/* Derived from */ + +#ifndef _SIFIVE_CONST_H +#define _SIFIVE_CONST_H + +#ifdef __ASSEMBLER__ +#define _AC(X,Y) X +#define _AT(T,X) X +#else +#define _AC(X,Y) (X##Y) +#define _AT(T,X) ((T)(X)) +#endif /* !__ASSEMBLER__*/ + +#define _BITUL(x) (_AC(1,UL) << (x)) +#define _BITULL(x) (_AC(1,ULL) << (x)) + +#endif /* _SIFIVE_CONST_H */ diff --git a/board/hifive1-emulator/third_party_driver/include/sifive/devices/aon.h b/board/hifive1-emulator/third_party_driver/include/sifive/devices/aon.h new file mode 100644 index 00000000..63f1db3c --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/include/sifive/devices/aon.h @@ -0,0 +1,88 @@ +// See LICENSE for license details. + +#ifndef _SIFIVE_AON_H +#define _SIFIVE_AON_H + +/* Register offsets */ + +#define AON_WDOGCFG 0x000 +#define AON_WDOGCOUNT 0x008 +#define AON_WDOGS 0x010 +#define AON_WDOGFEED 0x018 +#define AON_WDOGKEY 0x01C +#define AON_WDOGCMP 0x020 + +#define AON_RTCCFG 0x040 +#define AON_RTCLO 0x048 +#define AON_RTCHI 0x04C +#define AON_RTCS 0x050 +#define AON_RTCCMP 0x060 + +#define AON_BACKUP0 0x080 +#define AON_BACKUP1 0x084 +#define AON_BACKUP2 0x088 +#define AON_BACKUP3 0x08C +#define AON_BACKUP4 0x090 +#define AON_BACKUP5 0x094 +#define AON_BACKUP6 0x098 +#define AON_BACKUP7 0x09C +#define AON_BACKUP8 0x0A0 +#define AON_BACKUP9 0x0A4 +#define AON_BACKUP10 0x0A8 +#define AON_BACKUP11 0x0AC +#define AON_BACKUP12 0x0B0 +#define AON_BACKUP13 0x0B4 +#define AON_BACKUP14 0x0B8 +#define AON_BACKUP15 0x0BC + +#define AON_PMUWAKEUPI0 0x100 +#define AON_PMUWAKEUPI1 0x104 +#define AON_PMUWAKEUPI2 0x108 +#define AON_PMUWAKEUPI3 0x10C +#define AON_PMUWAKEUPI4 0x110 +#define AON_PMUWAKEUPI5 0x114 +#define AON_PMUWAKEUPI6 0x118 +#define AON_PMUWAKEUPI7 0x11C +#define AON_PMUSLEEPI0 0x120 +#define AON_PMUSLEEPI1 0x124 +#define AON_PMUSLEEPI2 0x128 +#define AON_PMUSLEEPI3 0x12C +#define AON_PMUSLEEPI4 0x130 +#define AON_PMUSLEEPI5 0x134 +#define AON_PMUSLEEPI6 0x138 +#define AON_PMUSLEEPI7 0x13C +#define AON_PMUIE 0x140 +#define AON_PMUCAUSE 0x144 +#define AON_PMUSLEEP 0x148 +#define AON_PMUKEY 0x14C + +#define AON_LFROSC 0x070 +/* Constants */ + +#define AON_WDOGKEY_VALUE 0x51F15E +#define AON_WDOGFEED_VALUE 0xD09F00D + +#define AON_WDOGCFG_SCALE 0x0000000F +#define AON_WDOGCFG_RSTEN 0x00000100 +#define AON_WDOGCFG_ZEROCMP 0x00000200 +#define AON_WDOGCFG_ENALWAYS 0x00001000 +#define AON_WDOGCFG_ENCOREAWAKE 0x00002000 +#define AON_WDOGCFG_CMPIP 0x10000000 + +#define AON_RTCCFG_SCALE 0x0000000F +#define AON_RTCCFG_ENALWAYS 0x00001000 +#define AON_RTCCFG_CMPIP 0x10000000 + +#define AON_WAKEUPCAUSE_RESET 0x00 +#define AON_WAKEUPCAUSE_RTC 0x01 +#define AON_WAKEUPCAUSE_DWAKEUP 0x02 +#define AON_WAKEUPCAUSE_AWAKEUP 0x03 + +#define AON_RESETCAUSE_POWERON 0x0000 +#define AON_RESETCAUSE_EXTERNAL 0x0100 +#define AON_RESETCAUSE_WATCHDOG 0x0200 + +#define AON_PMUCAUSE_WAKEUPCAUSE 0x00FF +#define AON_PMUCAUSE_RESETCAUSE 0xFF00 + +#endif /* _SIFIVE_AON_H */ diff --git a/board/hifive1-emulator/third_party_driver/include/sifive/devices/clint.h b/board/hifive1-emulator/third_party_driver/include/sifive/devices/clint.h new file mode 100644 index 00000000..cd3e0c7a --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/include/sifive/devices/clint.h @@ -0,0 +1,14 @@ +// See LICENSE for license details + +#ifndef _SIFIVE_CLINT_H +#define _SIFIVE_CLINT_H + + +#define CLINT_MSIP 0x0000 +#define CLINT_MSIP_size 0x4 +#define CLINT_MTIMECMP 0x4000 +#define CLINT_MTIMECMP_size 0x8 +#define CLINT_MTIME 0xBFF8 +#define CLINT_MTIME_size 0x8 + +#endif /* _SIFIVE_CLINT_H */ diff --git a/board/hifive1-emulator/third_party_driver/include/sifive/devices/gpio.h b/board/hifive1-emulator/third_party_driver/include/sifive/devices/gpio.h new file mode 100644 index 00000000..f7f0acb4 --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/include/sifive/devices/gpio.h @@ -0,0 +1,24 @@ +// See LICENSE for license details. + +#ifndef _SIFIVE_GPIO_H +#define _SIFIVE_GPIO_H + +#define GPIO_INPUT_VAL (0x00) +#define GPIO_INPUT_EN (0x04) +#define GPIO_OUTPUT_EN (0x08) +#define GPIO_OUTPUT_VAL (0x0C) +#define GPIO_PULLUP_EN (0x10) +#define GPIO_DRIVE (0x14) +#define GPIO_RISE_IE (0x18) +#define GPIO_RISE_IP (0x1C) +#define GPIO_FALL_IE (0x20) +#define GPIO_FALL_IP (0x24) +#define GPIO_HIGH_IE (0x28) +#define GPIO_HIGH_IP (0x2C) +#define GPIO_LOW_IE (0x30) +#define GPIO_LOW_IP (0x34) +#define GPIO_IOF_EN (0x38) +#define GPIO_IOF_SEL (0x3C) +#define GPIO_OUTPUT_XOR (0x40) + +#endif /* _SIFIVE_GPIO_H */ diff --git a/board/hifive1-emulator/third_party_driver/include/sifive/devices/otp.h b/board/hifive1-emulator/third_party_driver/include/sifive/devices/otp.h new file mode 100644 index 00000000..93833e2b --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/include/sifive/devices/otp.h @@ -0,0 +1,23 @@ +// See LICENSE for license details. + +#ifndef _SIFIVE_OTP_H +#define _SIFIVE_OTP_H + +/* Register offsets */ + +#define OTP_LOCK 0x00 +#define OTP_CK 0x04 +#define OTP_OE 0x08 +#define OTP_SEL 0x0C +#define OTP_WE 0x10 +#define OTP_MR 0x14 +#define OTP_MRR 0x18 +#define OTP_MPP 0x1C +#define OTP_VRREN 0x20 +#define OTP_VPPEN 0x24 +#define OTP_A 0x28 +#define OTP_D 0x2C +#define OTP_Q 0x30 +#define OTP_READ_TIMINGS 0x34 + +#endif diff --git a/board/hifive1-emulator/third_party_driver/include/sifive/devices/plic.h b/board/hifive1-emulator/third_party_driver/include/sifive/devices/plic.h new file mode 100644 index 00000000..e1ca5d69 --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/include/sifive/devices/plic.h @@ -0,0 +1,31 @@ +// See LICENSE for license details. + +#ifndef PLIC_H +#define PLIC_H + +#include + +// 32 bits per source +#define PLIC_PRIORITY_OFFSET _AC(0x0000,UL) +#define PLIC_PRIORITY_SHIFT_PER_SOURCE 2 +// 1 bit per source (1 address) +#define PLIC_PENDING_OFFSET _AC(0x1000,UL) +#define PLIC_PENDING_SHIFT_PER_SOURCE 0 + +//0x80 per target +#define PLIC_ENABLE_OFFSET _AC(0x2000,UL) +#define PLIC_ENABLE_SHIFT_PER_TARGET 7 + + +#define PLIC_THRESHOLD_OFFSET _AC(0x200000,UL) +#define PLIC_CLAIM_OFFSET _AC(0x200004,UL) +#define PLIC_THRESHOLD_SHIFT_PER_TARGET 12 +#define PLIC_CLAIM_SHIFT_PER_TARGET 12 + +#define PLIC_MAX_SOURCE 1023 +#define PLIC_SOURCE_MASK 0x3FF + +#define PLIC_MAX_TARGET 15871 +#define PLIC_TARGET_MASK 0x3FFF + +#endif /* PLIC_H */ diff --git a/board/hifive1-emulator/third_party_driver/include/sifive/devices/prci.h b/board/hifive1-emulator/third_party_driver/include/sifive/devices/prci.h new file mode 100644 index 00000000..1a3de58d --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/include/sifive/devices/prci.h @@ -0,0 +1,56 @@ +// See LICENSE for license details. + +#ifndef _SIFIVE_PRCI_H +#define _SIFIVE_PRCI_H + +/* Register offsets */ + +#define PRCI_HFROSCCFG (0x0000) +#define PRCI_HFXOSCCFG (0x0004) +#define PRCI_PLLCFG (0x0008) +#define PRCI_PLLDIV (0x000C) +#define PRCI_PROCMONCFG (0x00F0) + +/* Fields */ +#define ROSC_DIV(x) (((x) & 0x2F) << 0 ) +#define ROSC_TRIM(x) (((x) & 0x1F) << 16) +#define ROSC_EN(x) (((x) & 0x1 ) << 30) +#define ROSC_RDY(x) (((x) & 0x1 ) << 31) + +#define XOSC_EN(x) (((x) & 0x1) << 30) +#define XOSC_RDY(x) (((x) & 0x1) << 31) + +#define PLL_R(x) (((x) & 0x7) << 0) +// single reserved bit for F LSB. +#define PLL_F(x) (((x) & 0x3F) << 4) +#define PLL_Q(x) (((x) & 0x3) << 10) +#define PLL_SEL(x) (((x) & 0x1) << 16) +#define PLL_REFSEL(x) (((x) & 0x1) << 17) +#define PLL_BYPASS(x) (((x) & 0x1) << 18) +#define PLL_LOCK(x) (((x) & 0x1) << 31) + +#define PLL_R_default 0x1 +#define PLL_F_default 0x1F +#define PLL_Q_default 0x3 + +#define PLL_REFSEL_HFROSC 0x0 +#define PLL_REFSEL_HFXOSC 0x1 + +#define PLL_SEL_HFROSC 0x0 +#define PLL_SEL_PLL 0x1 + +#define PLL_FINAL_DIV(x) (((x) & 0x3F) << 0) +#define PLL_FINAL_DIV_BY_1(x) (((x) & 0x1 ) << 8) + +#define PROCMON_DIV(x) (((x) & 0x1F) << 0) +#define PROCMON_TRIM(x) (((x) & 0x1F) << 8) +#define PROCMON_EN(x) (((x) & 0x1) << 16) +#define PROCMON_SEL(x) (((x) & 0x3) << 24) +#define PROCMON_NT_EN(x) (((x) & 0x1) << 28) + +#define PROCMON_SEL_HFCLK 0 +#define PROCMON_SEL_HFXOSCIN 1 +#define PROCMON_SEL_PLLOUTDIV 2 +#define PROCMON_SEL_PROCMON 3 + +#endif // _SIFIVE_PRCI_H diff --git a/board/hifive1-emulator/third_party_driver/include/sifive/devices/pwm.h b/board/hifive1-emulator/third_party_driver/include/sifive/devices/pwm.h new file mode 100644 index 00000000..067889ab --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/include/sifive/devices/pwm.h @@ -0,0 +1,37 @@ +// See LICENSE for license details. + +#ifndef _SIFIVE_PWM_H +#define _SIFIVE_PWM_H + +/* Register offsets */ + +#define PWM_CFG 0x00 +#define PWM_COUNT 0x08 +#define PWM_S 0x10 +#define PWM_CMP0 0x20 +#define PWM_CMP1 0x24 +#define PWM_CMP2 0x28 +#define PWM_CMP3 0x2C + +/* Constants */ + +#define PWM_CFG_SCALE 0x0000000F +#define PWM_CFG_STICKY 0x00000100 +#define PWM_CFG_ZEROCMP 0x00000200 +#define PWM_CFG_DEGLITCH 0x00000400 +#define PWM_CFG_ENALWAYS 0x00001000 +#define PWM_CFG_ONESHOT 0x00002000 +#define PWM_CFG_CMP0CENTER 0x00010000 +#define PWM_CFG_CMP1CENTER 0x00020000 +#define PWM_CFG_CMP2CENTER 0x00040000 +#define PWM_CFG_CMP3CENTER 0x00080000 +#define PWM_CFG_CMP0GANG 0x01000000 +#define PWM_CFG_CMP1GANG 0x02000000 +#define PWM_CFG_CMP2GANG 0x04000000 +#define PWM_CFG_CMP3GANG 0x08000000 +#define PWM_CFG_CMP0IP 0x10000000 +#define PWM_CFG_CMP1IP 0x20000000 +#define PWM_CFG_CMP2IP 0x40000000 +#define PWM_CFG_CMP3IP 0x80000000 + +#endif /* _SIFIVE_PWM_H */ diff --git a/board/hifive1-emulator/third_party_driver/include/sifive/devices/spi.h b/board/hifive1-emulator/third_party_driver/include/sifive/devices/spi.h new file mode 100644 index 00000000..916d86be --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/include/sifive/devices/spi.h @@ -0,0 +1,80 @@ +// See LICENSE for license details. + +#ifndef _SIFIVE_SPI_H +#define _SIFIVE_SPI_H + +/* Register offsets */ + +#define SPI_REG_SCKDIV 0x00 +#define SPI_REG_SCKMODE 0x04 +#define SPI_REG_CSID 0x10 +#define SPI_REG_CSDEF 0x14 +#define SPI_REG_CSMODE 0x18 + +#define SPI_REG_DCSSCK 0x28 +#define SPI_REG_DSCKCS 0x2a +#define SPI_REG_DINTERCS 0x2c +#define SPI_REG_DINTERXFR 0x2e + +#define SPI_REG_FMT 0x40 +#define SPI_REG_TXFIFO 0x48 +#define SPI_REG_RXFIFO 0x4c +#define SPI_REG_TXCTRL 0x50 +#define SPI_REG_RXCTRL 0x54 + +#define SPI_REG_FCTRL 0x60 +#define SPI_REG_FFMT 0x64 + +#define SPI_REG_IE 0x70 +#define SPI_REG_IP 0x74 + +/* Fields */ + +#define SPI_SCK_POL 0x1 +#define SPI_SCK_PHA 0x2 + +#define SPI_FMT_PROTO(x) ((x) & 0x3) +#define SPI_FMT_ENDIAN(x) (((x) & 0x1) << 2) +#define SPI_FMT_DIR(x) (((x) & 0x1) << 3) +#define SPI_FMT_LEN(x) (((x) & 0xf) << 16) + +/* TXCTRL register */ +#define SPI_TXWM(x) ((x) & 0xffff) +/* RXCTRL register */ +#define SPI_RXWM(x) ((x) & 0xffff) + +#define SPI_IP_TXWM 0x1 +#define SPI_IP_RXWM 0x2 + +#define SPI_FCTRL_EN 0x1 + +#define SPI_INSN_CMD_EN 0x1 +#define SPI_INSN_ADDR_LEN(x) (((x) & 0x7) << 1) +#define SPI_INSN_PAD_CNT(x) (((x) & 0xf) << 4) +#define SPI_INSN_CMD_PROTO(x) (((x) & 0x3) << 8) +#define SPI_INSN_ADDR_PROTO(x) (((x) & 0x3) << 10) +#define SPI_INSN_DATA_PROTO(x) (((x) & 0x3) << 12) +#define SPI_INSN_CMD_CODE(x) (((x) & 0xff) << 16) +#define SPI_INSN_PAD_CODE(x) (((x) & 0xff) << 24) + +#define SPI_TXFIFO_FULL (1 << 31) +#define SPI_RXFIFO_EMPTY (1 << 31) + +/* Values */ + +#define SPI_CSMODE_AUTO 0 +#define SPI_CSMODE_HOLD 2 +#define SPI_CSMODE_OFF 3 + +#define SPI_DIR_RX 0 +#define SPI_DIR_TX 1 + +#define SPI_PROTO_S 0 +#define SPI_PROTO_D 1 +#define SPI_PROTO_Q 2 + +#define SPI_ENDIAN_MSB 0 +#define SPI_ENDIAN_LSB 1 + + +#endif /* _SIFIVE_SPI_H */ diff --git a/board/hifive1-emulator/third_party_driver/include/sifive/devices/uart.h b/board/hifive1-emulator/third_party_driver/include/sifive/devices/uart.h new file mode 100644 index 00000000..71bea6f4 --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/include/sifive/devices/uart.h @@ -0,0 +1,27 @@ +// See LICENSE for license details. + +#ifndef _SIFIVE_UART_H +#define _SIFIVE_UART_H + +/* Register offsets */ +#define UART_REG_TXFIFO 0x00 +#define UART_REG_RXFIFO 0x04 +#define UART_REG_TXCTRL 0x08 +#define UART_REG_RXCTRL 0x0c +#define UART_REG_IE 0x10 +#define UART_REG_IP 0x14 +#define UART_REG_DIV 0x18 + +/* TXCTRL register */ +#define UART_TXEN 0x1 +#define UART_TXWM(x) (((x) & 0xffff) << 16) + +/* RXCTRL register */ +#define UART_RXEN 0x1 +#define UART_RXWM(x) (((x) & 0xffff) << 16) + +/* IP register */ +#define UART_IP_TXWM 0x1 +#define UART_IP_RXWM 0x2 + +#endif /* _SIFIVE_UART_H */ diff --git a/board/hifive1-emulator/third_party_driver/include/sifive/sections.h b/board/hifive1-emulator/third_party_driver/include/sifive/sections.h new file mode 100644 index 00000000..6e1f0518 --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/include/sifive/sections.h @@ -0,0 +1,17 @@ +// See LICENSE for license details. +#ifndef _SECTIONS_H +#define _SECTIONS_H + +extern unsigned char _rom[]; +extern unsigned char _rom_end[]; + +extern unsigned char _ram[]; +extern unsigned char _ram_end[]; + +extern unsigned char _ftext[]; +extern unsigned char _etext[]; +extern unsigned char _fbss[]; +extern unsigned char _ebss[]; +extern unsigned char _end[]; + +#endif /* _SECTIONS_H */ diff --git a/board/hifive1-emulator/third_party_driver/include/sifive/smp.h b/board/hifive1-emulator/third_party_driver/include/sifive/smp.h new file mode 100644 index 00000000..8e34388c --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/include/sifive/smp.h @@ -0,0 +1,65 @@ +#ifndef SIFIVE_SMP +#define SIFIVE_SMP + +// The maximum number of HARTs this code supports +#ifndef MAX_HARTS +#define MAX_HARTS 32 +#endif +#define CLINT_END_HART_IPI CLINT_CTRL_ADDR + (MAX_HARTS*4) + +// The hart that non-SMP tests should run on +#ifndef NONSMP_HART +#define NONSMP_HART 0 +#endif + +/* If your test cannot handle multiple-threads, use this: + * smp_disable(reg1) + */ +#define smp_disable(reg1, reg2) \ + csrr reg1, mhartid ;\ + li reg2, NONSMP_HART ;\ + beq reg1, reg2, hart0_entry ;\ +42: ;\ + wfi ;\ + j 42b ;\ +hart0_entry: + +/* If your test needs to temporarily block multiple-threads, do this: + * smp_pause(reg1, reg2) + * ... single-threaded work ... + * smp_resume(reg1, reg2) + * ... multi-threaded work ... + */ + +#define smp_pause(reg1, reg2) \ + li reg2, 0x8 ;\ + csrw mie, reg2 ;\ + csrr reg2, mhartid ;\ + bnez reg2, 42f + +#define smp_resume(reg1, reg2) \ + li reg1, CLINT_CTRL_ADDR ;\ +41: ;\ + li reg2, 1 ;\ + sw reg2, 0(reg1) ;\ + addi reg1, reg1, 4 ;\ + li reg2, CLINT_END_HART_IPI ;\ + blt reg1, reg2, 41b ;\ +42: ;\ + wfi ;\ + csrr reg2, mip ;\ + andi reg2, reg2, 0x8 ;\ + beqz reg2, 42b ;\ + li reg1, CLINT_CTRL_ADDR ;\ + csrr reg2, mhartid ;\ + slli reg2, reg2, 2 ;\ + add reg2, reg2, reg1 ;\ + sw zero, 0(reg2) ;\ +41: ;\ + lw reg2, 0(reg1) ;\ + bnez reg2, 41b ;\ + addi reg1, reg1, 4 ;\ + li reg2, CLINT_END_HART_IPI ;\ + blt reg1, reg2, 41b + +#endif diff --git a/board/hifive1-emulator/third_party_driver/init.c b/board/hifive1-emulator/third_party_driver/init.c new file mode 100644 index 00000000..eeb19c5c --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/init.c @@ -0,0 +1,263 @@ +//See LICENSE for license details. + +/** +* @file init.c +* @brief support hifive1-rev-B-board init function +* @version 1.0 +* @author AIIT XUOS Lab +* @date 2021-04-25 +*/ + +/************************************************* +File name: init.c +Description: support hifive1-rev-B-board init function +Others: take freedom-e-sdk v20180402/bsp/env/init.c for references + https://github.com/sifive/freedom-e-sdk/releases/tag/v20180402 +History: +1. Date: 2021-04-25 +Author: AIIT XUOS Lab +Modification: +1. Modify read_csr write_csr function name +2. comment some unuse code +*************************************************/ + +#include +#include +#include + +#include "platform.h" +#include "encoding.h" + +extern int main(int argc, char** argv); +extern void trap_entry(); + +static unsigned long mtime_lo(void) +{ + return *(volatile unsigned long *)(CLINT_CTRL_ADDR + CLINT_MTIME); +} + +#ifdef __riscv32 + +static uint32_t mtime_hi(void) +{ + return *(volatile uint32_t *)(CLINT_CTRL_ADDR + CLINT_MTIME + 4); +} + +uint64_t get_timer_value() +{ + while (1) { + uint32_t hi = mtime_hi(); + uint32_t lo = mtime_lo(); + if (hi == mtime_hi()) + return ((uint64_t)hi << 32) | lo; + } +} + +#else /* __riscv32 */ + +uint64_t get_timer_value() +{ + return mtime_lo(); +} + +#endif + +unsigned long get_timer_freq() +{ + return 32768; +} + +static void use_hfrosc(int div, int trim) +{ + // Make sure the HFROSC is running at its default setting + PRCI_REG(PRCI_HFROSCCFG) = (ROSC_DIV(div) | ROSC_TRIM(trim) | ROSC_EN(1)); + while ((PRCI_REG(PRCI_HFROSCCFG) & ROSC_RDY(1)) == 0) ; + PRCI_REG(PRCI_PLLCFG) &= ~PLL_SEL(1); +} + +void use_pll(int refsel, int bypass, int r, int f, int q) +{ + // Ensure that we aren't running off the PLL before we mess with it. + if (PRCI_REG(PRCI_PLLCFG) & PLL_SEL(1)) { + // Make sure the HFROSC is running at its default setting + use_hfrosc(4, 16); + } + + // Set PLL Source to be HFXOSC if available. + uint32_t config_value = 0; + + config_value |= PLL_REFSEL(refsel); + + if (bypass) { + // Bypass + config_value |= PLL_BYPASS(1); + + PRCI_REG(PRCI_PLLCFG) = config_value; + + // If we don't have an HFXTAL, this doesn't really matter. + // Set our Final output divide to divide-by-1: + PRCI_REG(PRCI_PLLDIV) = (PLL_FINAL_DIV_BY_1(1) | PLL_FINAL_DIV(0)); + } else { + // In case we are executing from QSPI, + // (which is quite likely) we need to + // set the QSPI clock divider appropriately + // before boosting the clock frequency. + + // Div = f_sck/2 + SPI0_REG(SPI_REG_SCKDIV) = 8; + + // Set DIV Settings for PLL + // Both HFROSC and HFXOSC are modeled as ideal + // 16MHz sources (assuming dividers are set properly for + // HFROSC). + // (Legal values of f_REF are 6-48MHz) + + // Set DIVR to divide-by-2 to get 8MHz frequency + // (legal values of f_R are 6-12 MHz) + + config_value |= PLL_BYPASS(1); + config_value |= PLL_R(r); + + // Set DIVF to get 512Mhz frequncy + // There is an implied multiply-by-2, 16Mhz. + // So need to write 32-1 + // (legal values of f_F are 384-768 MHz) + config_value |= PLL_F(f); + + // Set DIVQ to divide-by-2 to get 256 MHz frequency + // (legal values of f_Q are 50-400Mhz) + config_value |= PLL_Q(q); + + // Set our Final output divide to divide-by-1: + PRCI_REG(PRCI_PLLDIV) = (PLL_FINAL_DIV_BY_1(1) | PLL_FINAL_DIV(0)); + + PRCI_REG(PRCI_PLLCFG) = config_value; + + // Un-Bypass the PLL. + PRCI_REG(PRCI_PLLCFG) &= ~PLL_BYPASS(1); + + // Wait for PLL Lock + // Note that the Lock signal can be glitchy. + // Need to wait 100 us + // RTC is running at 32kHz. + // So wait 4 ticks of RTC. + uint32_t now = mtime_lo(); + while (mtime_lo() - now < 4) ; + + // Now it is safe to check for PLL Lock + while ((PRCI_REG(PRCI_PLLCFG) & PLL_LOCK(1)) == 0) ; + } + + // Switch over to PLL Clock source + PRCI_REG(PRCI_PLLCFG) |= PLL_SEL(1); +} + +void use_default_clocks() +{ + // Turn off the LFROSC + AON_REG(AON_LFROSC) &= ~ROSC_EN(1); + + // Use HFROSC + use_hfrosc(4, 16); +} + +static unsigned long __attribute__((noinline)) measure_cpu_freq(size_t n) +{ + unsigned long start_mtime, delta_mtime; + unsigned long mtime_freq = get_timer_freq(); + + // Don't start measuruing until we see an mtime tick + unsigned long tmp = mtime_lo(); + do { + start_mtime = mtime_lo(); + } while (start_mtime == tmp); + + unsigned long start_mcycle = READ_CSR(mcycle); + + do { + delta_mtime = mtime_lo() - start_mtime; + } while (delta_mtime < n); + + unsigned long delta_mcycle = READ_CSR(mcycle) - start_mcycle; + + return (delta_mcycle / delta_mtime) * mtime_freq + + ((delta_mcycle % delta_mtime) * mtime_freq) / delta_mtime; +} + +unsigned long get_cpu_freq() +{ + static uint32_t cpu_freq; + + if (!cpu_freq) { + // warm up I$ + measure_cpu_freq(1); + // measure for real + cpu_freq = measure_cpu_freq(10); + } + + return cpu_freq; +} + +#if 0 +static void uart_init(size_t baud_rate) +{ + GPIO_REG(GPIO_IOF_SEL) &= ~IOF0_UART0_MASK; + GPIO_REG(GPIO_IOF_EN) |= IOF0_UART0_MASK; + UART0_REG(UART_REG_DIV) = get_cpu_freq() / baud_rate - 1; + UART0_REG(UART_REG_TXCTRL) |= UART_TXEN; +} + + + +#ifdef USE_PLIC +extern void handle_m_ext_interrupt(); +#endif + +#ifdef USE_M_TIME +extern void handle_m_time_interrupt(); +#endif + +uintptr_t handle_trap(uintptr_t mcause, uintptr_t epc) +{ + if (0){ +#ifdef USE_PLIC + // External Machine-Level interrupt from PLIC + } else if ((mcause & MCAUSE_INT) && ((mcause & MCAUSE_CAUSE) == IRQ_M_EXT)) { + handle_m_ext_interrupt(); +#endif +#ifdef USE_M_TIME + // External Machine-Level interrupt from PLIC + } else if ((mcause & MCAUSE_INT) && ((mcause & MCAUSE_CAUSE) == IRQ_M_TIMER)){ + handle_m_time_interrupt(); +#endif + } + else { + write(1, "trap\n", 5); + _exit(1 + mcause); + } + return epc; +} + +void _init() +{ + + #ifndef NO_INIT + use_default_clocks(); + use_pll(0, 0, 1, 31, 1); + uart_init(115200); + + printf("core freq at %d Hz\n", get_cpu_freq()); + + write_csr(mtvec, &trap_entry); + if (read_csr(misa) & (1 << ('F' - 'A'))) { // if F extension is present + write_csr(mstatus, MSTATUS_FS); // allow FPU instructions without trapping + write_csr(fcsr, 0); // initialize rounding mode, undefined at reset + } + #endif + +} + +void _fini() +{ +} +#endif \ No newline at end of file diff --git a/board/hifive1-emulator/third_party_driver/platform.h b/board/hifive1-emulator/third_party_driver/platform.h new file mode 100644 index 00000000..7634df49 --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/platform.h @@ -0,0 +1,133 @@ +// See LICENSE for license details. + +#ifndef _SIFIVE_PLATFORM_H +#define _SIFIVE_PLATFORM_H + +// Some things missing from the official encoding.h +#define MCAUSE_INT 0x80000000 +#define MCAUSE_CAUSE 0x7FFFFFFF + +#include "sifive/const.h" +#include "sifive/devices/aon.h" +#include "sifive/devices/clint.h" +#include "sifive/devices/gpio.h" +#include "sifive/devices/otp.h" +#include "sifive/devices/plic.h" +#include "sifive/devices/prci.h" +#include "sifive/devices/pwm.h" +#include "sifive/devices/spi.h" +#include "sifive/devices/uart.h" + +/**************************************************************************** + * Platform definitions + *****************************************************************************/ + +// Memory map +#define MASKROM_MEM_ADDR _AC(0x00001000,UL) +#define TRAPVEC_TABLE_CTRL_ADDR _AC(0x00001010,UL) +#define OTP_MEM_ADDR _AC(0x00020000,UL) +#define CLINT_CTRL_ADDR _AC(0x02000000,UL) +#define PLIC_CTRL_ADDR _AC(0x0C000000,UL) +#define AON_CTRL_ADDR _AC(0x10000000,UL) +#define PRCI_CTRL_ADDR _AC(0x10008000,UL) +#define OTP_CTRL_ADDR _AC(0x10010000,UL) +#define GPIO_CTRL_ADDR _AC(0x10012000,UL) +#define UART0_CTRL_ADDR _AC(0x10013000,UL) +#define SPI0_CTRL_ADDR _AC(0x10014000,UL) +#define PWM0_CTRL_ADDR _AC(0x10015000,UL) +#define UART1_CTRL_ADDR _AC(0x10023000,UL) +#define SPI1_CTRL_ADDR _AC(0x10024000,UL) +#define PWM1_CTRL_ADDR _AC(0x10025000,UL) +#define SPI2_CTRL_ADDR _AC(0x10034000,UL) +#define PWM2_CTRL_ADDR _AC(0x10035000,UL) +#define SPI0_MEM_ADDR _AC(0x20000000,UL) +#define MEM_CTRL_ADDR _AC(0x80000000,UL) + +// IOF masks +#define IOF0_SPI1_MASK _AC(0x000007FC,UL) +#define SPI11_NUM_SS (4) +#define IOF_SPI1_SS0 (2u) +#define IOF_SPI1_SS1 (8u) +#define IOF_SPI1_SS2 (9u) +#define IOF_SPI1_SS3 (10u) +#define IOF_SPI1_MOSI (3u) +#define IOF_SPI1_MISO (4u) +#define IOF_SPI1_SCK (5u) +#define IOF_SPI1_DQ0 (3u) +#define IOF_SPI1_DQ1 (4u) +#define IOF_SPI1_DQ2 (6u) +#define IOF_SPI1_DQ3 (7u) + +#define IOF0_SPI2_MASK _AC(0xFC000000,UL) +#define SPI2_NUM_SS (1) +#define IOF_SPI2_SS0 (26u) +#define IOF_SPI2_MOSI (27u) +#define IOF_SPI2_MISO (28u) +#define IOF_SPI2_SCK (29u) +#define IOF_SPI2_DQ0 (27u) +#define IOF_SPI2_DQ1 (28u) +#define IOF_SPI2_DQ2 (30u) +#define IOF_SPI2_DQ3 (31u) + +//#define IOF0_I2C_MASK _AC(0x00003000,UL) + +#define IOF0_UART0_MASK _AC(0x00030000, UL) +#define IOF_UART0_RX (16u) +#define IOF_UART0_TX (17u) + +#define IOF0_UART1_MASK _AC(0x03000000, UL) +#define IOF_UART1_RX (24u) +#define IOF_UART1_TX (25u) + +#define IOF1_PWM0_MASK _AC(0x0000000F, UL) +#define IOF1_PWM1_MASK _AC(0x00780000, UL) +#define IOF1_PWM2_MASK _AC(0x00003C00, UL) + +// Interrupt numbers +#define INT_RESERVED 0 +#define INT_WDOGCMP 1 +#define INT_RTCCMP 2 +#define INT_UART0_BASE 3 +#define INT_UART1_BASE 4 +#define INT_SPI0_BASE 5 +#define INT_SPI1_BASE 6 +#define INT_SPI2_BASE 7 +#define INT_GPIO_BASE 8 +#define INT_PWM0_BASE 40 +#define INT_PWM1_BASE 44 +#define INT_PWM2_BASE 48 + +// Helper functions +#define _REG32(p, i) (*(volatile uint32_t *) ((p) + (i))) +#define _REG32P(p, i) ((volatile uint32_t *) ((p) + (i))) +#define AON_REG(offset) _REG32(AON_CTRL_ADDR, offset) +#define CLINT_REG(offset) _REG32(CLINT_CTRL_ADDR, offset) +#define GPIO_REG(offset) _REG32(GPIO_CTRL_ADDR, offset) +#define OTP_REG(offset) _REG32(OTP_CTRL_ADDR, offset) +#define PLIC_REG(offset) _REG32(PLIC_CTRL_ADDR, offset) +#define PRCI_REG(offset) _REG32(PRCI_CTRL_ADDR, offset) +#define PWM0_REG(offset) _REG32(PWM0_CTRL_ADDR, offset) +#define PWM1_REG(offset) _REG32(PWM1_CTRL_ADDR, offset) +#define PWM2_REG(offset) _REG32(PWM2_CTRL_ADDR, offset) +#define SPI0_REG(offset) _REG32(SPI0_CTRL_ADDR, offset) +#define SPI1_REG(offset) _REG32(SPI1_CTRL_ADDR, offset) +#define SPI2_REG(offset) _REG32(SPI2_CTRL_ADDR, offset) +#define UART0_REG(offset) _REG32(UART0_CTRL_ADDR, offset) +#define UART1_REG(offset) _REG32(UART1_CTRL_ADDR, offset) + +// Misc + +#include + +#define NUM_GPIO 32 + +#define PLIC_NUM_INTERRUPTS 52 +#define PLIC_NUM_PRIORITIES 7 +#define IRQN_MAX PLIC_NUM_INTERRUPTS +#include "hifive1.h" + +unsigned long get_cpu_freq(void); +unsigned long get_timer_freq(void); +uint64_t get_timer_value(void); + +#endif /* _SIFIVE_PLATFORM_H */ diff --git a/board/hifive1-emulator/third_party_driver/plic/plic_driver.c b/board/hifive1-emulator/third_party_driver/plic/plic_driver.c new file mode 100644 index 00000000..b06c1887 --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/plic/plic_driver.c @@ -0,0 +1,127 @@ +// See LICENSE for license details. + +#include "sifive/devices/plic.h" +#include "plic/plic_driver.h" +#include "platform.h" +#include "encoding.h" +#include + + +// Note that there are no assertions or bounds checking on these +// parameter values. + +void volatile_memzero(uint8_t * base, unsigned int size) +{ + volatile uint8_t * ptr; + for (ptr = base; ptr < (base + size); ptr++){ + *ptr = 0; + } +} + +void PLIC_init ( + plic_instance_t * this_plic, + uintptr_t base_addr, + uint32_t num_sources, + uint32_t num_priorities + ) +{ + + this_plic->base_addr = base_addr; + this_plic->num_sources = num_sources; + this_plic->num_priorities = num_priorities; + + // Disable all interrupts (don't assume that these registers are reset). + unsigned long hart_id = READ_CSR(mhartid); + volatile_memzero((uint8_t*) (this_plic->base_addr + + PLIC_ENABLE_OFFSET + + (hart_id << PLIC_ENABLE_SHIFT_PER_TARGET)), + (num_sources + 8) / 8); + + // Set all priorities to 0 (equal priority -- don't assume that these are reset). + volatile_memzero ((uint8_t *)(this_plic->base_addr + + PLIC_PRIORITY_OFFSET), + (num_sources + 1) << PLIC_PRIORITY_SHIFT_PER_SOURCE); + + // Set the threshold to 0. + volatile plic_threshold* threshold = (plic_threshold*) + (this_plic->base_addr + + PLIC_THRESHOLD_OFFSET + + (hart_id << PLIC_THRESHOLD_SHIFT_PER_TARGET)); + + *threshold = 0; + +} + +void PLIC_set_threshold (plic_instance_t * this_plic, + plic_threshold threshold){ + + unsigned long hart_id = READ_CSR(mhartid); + volatile plic_threshold* threshold_ptr = (plic_threshold*) (this_plic->base_addr + + PLIC_THRESHOLD_OFFSET + + (hart_id << PLIC_THRESHOLD_SHIFT_PER_TARGET)); + + *threshold_ptr = threshold; + +} + + +void PLIC_enable_interrupt (plic_instance_t * this_plic, plic_source source){ + + unsigned long hart_id = READ_CSR(mhartid); + volatile uint8_t * current_ptr = (volatile uint8_t *)(this_plic->base_addr + + PLIC_ENABLE_OFFSET + + (hart_id << PLIC_ENABLE_SHIFT_PER_TARGET) + + (source >> 3)); + uint8_t current = *current_ptr; + current = current | ( 1 << (source & 0x7)); + *current_ptr = current; + +} + +void PLIC_disable_interrupt (plic_instance_t * this_plic, plic_source source){ + + unsigned long hart_id = READ_CSR(mhartid); + volatile uint8_t * current_ptr = (volatile uint8_t *) (this_plic->base_addr + + PLIC_ENABLE_OFFSET + + (hart_id << PLIC_ENABLE_SHIFT_PER_TARGET) + + (source >> 3)); + uint8_t current = *current_ptr; + current = current & ~(( 1 << (source & 0x7))); + *current_ptr = current; + +} + +void PLIC_set_priority (plic_instance_t * this_plic, plic_source source, plic_priority priority){ + + if (this_plic->num_priorities > 0) { + volatile plic_priority * priority_ptr = (volatile plic_priority *) + (this_plic->base_addr + + PLIC_PRIORITY_OFFSET + + (source << PLIC_PRIORITY_SHIFT_PER_SOURCE)); + *priority_ptr = priority; + } +} + +plic_source PLIC_claim_interrupt(plic_instance_t * this_plic){ + + unsigned long hart_id = READ_CSR(mhartid); + + volatile plic_source * claim_addr = (volatile plic_source * ) + (this_plic->base_addr + + PLIC_CLAIM_OFFSET + + (hart_id << PLIC_CLAIM_SHIFT_PER_TARGET)); + + return *claim_addr; + +} + +void PLIC_complete_interrupt(plic_instance_t * this_plic, plic_source source){ + + unsigned long hart_id = READ_CSR(mhartid); + volatile plic_source * claim_addr = (volatile plic_source *) (this_plic->base_addr + + PLIC_CLAIM_OFFSET + + (hart_id << PLIC_CLAIM_SHIFT_PER_TARGET)); + *claim_addr = source; + +} + diff --git a/board/hifive1-emulator/third_party_driver/plic/plic_driver.h b/board/hifive1-emulator/third_party_driver/plic/plic_driver.h new file mode 100644 index 00000000..58ee9f90 --- /dev/null +++ b/board/hifive1-emulator/third_party_driver/plic/plic_driver.h @@ -0,0 +1,51 @@ +// See LICENSE file for licence details + +#ifndef PLIC_DRIVER_H +#define PLIC_DRIVER_H + + +//__BEGIN_DECLS + +#include "platform.h" + +typedef struct __plic_instance_t +{ + uintptr_t base_addr; + + uint32_t num_sources; + uint32_t num_priorities; + +} plic_instance_t; + +typedef uint32_t plic_source; +typedef uint32_t plic_priority; +typedef uint32_t plic_threshold; + +void PLIC_init ( + plic_instance_t * this_plic, + uintptr_t base_addr, + uint32_t num_sources, + uint32_t num_priorities + ); + +void PLIC_set_threshold (plic_instance_t * this_plic, + plic_threshold threshold); + +void PLIC_enable_interrupt (plic_instance_t * this_plic, + plic_source source); + +void PLIC_disable_interrupt (plic_instance_t * this_plic, + plic_source source); + +void PLIC_set_priority (plic_instance_t * this_plic, + plic_source source, + plic_priority priority); + +plic_source PLIC_claim_interrupt(plic_instance_t * this_plic); + +void PLIC_complete_interrupt(plic_instance_t * this_plic, + plic_source source); + +//__END_DECLS + +#endif diff --git a/path_kernel.mk b/path_kernel.mk index 2c4210b9..1d5760bd 100644 --- a/path_kernel.mk +++ b/path_kernel.mk @@ -70,6 +70,16 @@ KERNELPATHS :=-I$(BSP_ROOT) \ -I$(KERNEL_ROOT)/include # endif +ifeq ($(BSP_ROOT),$(KERNEL_ROOT)/board/hifive1-emulator) +KERNELPATHS :=-I$(BSP_ROOT) \ + -I$(BSP_ROOT)/third_party_driver \ + -I$(BSP_ROOT)/third_party_driver/include \ + -I$(BSP_ROOT)/third_party_driver/include/sifive \ + -I$(BSP_ROOT)/third_party_driver/include/sifive/devices \ + -I$(BSP_ROOT)/third_party_driver/fe300prci \ + -I$(BSP_ROOT)/third_party_driver/plic\ + -I$(KERNEL_ROOT)/include # +endif ifeq ($(BSP_ROOT),$(KERNEL_ROOT)/board/aiit-riscv64-board) KERNELPATHS :=-I$(BSP_ROOT) \