aboutsummaryrefslogtreecommitdiff
path: root/machine/minit.c
diff options
context:
space:
mode:
Diffstat (limited to 'machine/minit.c')
-rw-r--r--machine/minit.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/machine/minit.c b/machine/minit.c
index 76d9bae..2616f19 100644
--- a/machine/minit.c
+++ b/machine/minit.c
@@ -2,6 +2,7 @@
#include "atomic.h"
#include "vm.h"
#include "fp_emulation.h"
+#include "fdt.h"
#include <string.h>
#include <limits.h>
@@ -71,11 +72,10 @@ hls_t* hls_init(uintptr_t id)
return hls;
}
+#define DTB 0x1014
+
static void memory_init()
{
- // TODO FDT: mem_size
- mem_size = 16 << 20;
-
mem_size = mem_size / MEGAPAGE_SIZE * MEGAPAGE_SIZE;
}
@@ -107,9 +107,6 @@ static void prci_test()
static void hart_plic_init()
{
- // TODO FDT: mtime, ipi, timecmp
- return;
-
// clear pending interrupts
*HLS()->ipi = 0;
*HLS()->timecmp = -1ULL;
@@ -129,7 +126,11 @@ void init_first_hart()
{
hart_init();
hls_init(0); // this might get called again from parse_config_string
- //parse_config_string();
+
+ query_mem(DTB);
+ query_harts(DTB);
+ query_clint(DTB);
+
plic_init();
hart_plic_init();
//prci_test();