aboutsummaryrefslogtreecommitdiff
path: root/pk/configstring.c
diff options
context:
space:
mode:
Diffstat (limited to 'pk/configstring.c')
-rw-r--r--pk/configstring.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/pk/configstring.c b/pk/configstring.c
index 288d211..847cd4d 100644
--- a/pk/configstring.c
+++ b/pk/configstring.c
@@ -1,5 +1,6 @@
#include "encoding.h"
#include "mtrap.h"
+#include <stdio.h>
static const char* skip_whitespace(const char* str)
{
@@ -163,11 +164,10 @@ static long get_sint(query_result res)
static void query_mem(const char* config_string)
{
query_result res = query_config_string(config_string, "ram{0{addr");
- kassert(res.start);
+ assert(res.start);
uintptr_t base = get_uint(res);
res = query_config_string(config_string, "ram{0{size");
mem_size = get_uint(res);
- debug_printk("at %p, found %d MiB of memory\n", base, (int)(mem_size >> 20));
}
static void query_harts(const char* config_string)
@@ -182,18 +182,19 @@ static void query_harts(const char* config_string)
csr_t* base = (csr_t*)get_uint(res);
uintptr_t hart_id = base[CSR_MHARTID];
hls_init(hart_id, base);
- debug_printk("at %p, found hart %ld\n", base, hart_id);
- kassert(num_harts++ == hart_id);
+ num_harts++;
+ assert(hart_id == num_harts-1);
}
if (!hart)
break;
}
+ assert(num_harts);
+ assert(num_harts <= MAX_HARTS);
}
void parse_config_string()
{
const char* s = (const char*)read_csr(mcfgaddr);
- debug_printk("%s\n", s);
query_mem(s);
query_harts(s);
}