aboutsummaryrefslogtreecommitdiff
path: root/machine
diff options
context:
space:
mode:
authorWojciech Muła <wojciech_mula@poczta.onet.pl>2024-04-24 06:58:59 +0200
committerAndrew Waterman <andrew@sifive.com>2024-05-20 18:37:48 -0700
commitab24ff26666e14b3b6c4a8c8bb2c209d2587bb3e (patch)
tree98780651ffcc8ea390e77bce5869983f31be5ab4 /machine
parent86ed1b3b062bc81c2f42d6676a71cfba52880915 (diff)
downloadriscv-pk-ab24ff26666e14b3b6c4a8c8bb2c209d2587bb3e.zip
riscv-pk-ab24ff26666e14b3b6c4a8c8bb2c209d2587bb3e.tar.gz
riscv-pk-ab24ff26666e14b3b6c4a8c8bb2c209d2587bb3e.tar.bz2
Implementation of riscv_hwprobe syscall from Linux (#325)
See: https://www.kernel.org/doc/html/latest/arch/riscv/hwprobe.html
Diffstat (limited to 'machine')
-rw-r--r--machine/minit.c2
-rw-r--r--machine/mtrap.h1
2 files changed, 3 insertions, 0 deletions
diff --git a/machine/minit.c b/machine/minit.c
index 95ddaa1..55f50cb 100644
--- a/machine/minit.c
+++ b/machine/minit.c
@@ -17,6 +17,7 @@
uintptr_t mem_size;
volatile uint64_t* mtime;
volatile uint32_t* plic_priorities;
+uint64_t misa_image;
size_t plic_ndevs;
void* kernel_start;
void* kernel_end;
@@ -126,6 +127,7 @@ static void memory_init()
static void hart_init()
{
+ misa_image = read_csr(misa);
mstatus_init();
fp_init();
#ifndef BBL_BOOT_MACHINE
diff --git a/machine/mtrap.h b/machine/mtrap.h
index 2f2e499..41071f3 100644
--- a/machine/mtrap.h
+++ b/machine/mtrap.h
@@ -35,6 +35,7 @@ extern uintptr_t mem_size;
extern volatile uint64_t* mtime;
extern volatile uint32_t* plic_priorities;
extern size_t plic_ndevs;
+extern uint64_t misa_image;
typedef struct {
volatile uint32_t* ipi;