aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Waterman <waterman@cs.berkeley.edu>2016-03-10 00:42:47 -0800
committerAndrew Waterman <waterman@cs.berkeley.edu>2016-03-10 00:42:47 -0800
commit469c5f16a7ce5a913248367a420d43dc3518eb88 (patch)
tree91ab6ca1ba68d84ecaa80f25e1ef45c737c13adf
parent8bd01c7999a1ba98e556492950d76789fe41462b (diff)
downloadpk-469c5f16a7ce5a913248367a420d43dc3518eb88.zip
pk-469c5f16a7ce5a913248367a420d43dc3518eb88.tar.gz
pk-469c5f16a7ce5a913248367a420d43dc3518eb88.tar.bz2
Make num_harts a uintptr_t
Making it a uint32_t is a false economy.
-rw-r--r--machine/minit.c4
-rw-r--r--machine/mtrap.h4
2 files changed, 4 insertions, 4 deletions
diff --git a/machine/minit.c b/machine/minit.c
index 33b94c8..4bc0f27 100644
--- a/machine/minit.c
+++ b/machine/minit.c
@@ -7,7 +7,7 @@
pte_t* root_page_table;
uintptr_t first_free_paddr;
uintptr_t mem_size;
-uint32_t num_harts;
+uintptr_t num_harts;
static void mstatus_init()
{
@@ -60,7 +60,7 @@ static void fp_init()
#endif
}
-void hls_init(uint32_t id, csr_t* csrs)
+void hls_init(uintptr_t id, csr_t* csrs)
{
hls_t* hls = OTHER_HLS(id);
memset(hls, 0, sizeof(*hls));
diff --git a/machine/mtrap.h b/machine/mtrap.h
index 0498d99..6defd67 100644
--- a/machine/mtrap.h
+++ b/machine/mtrap.h
@@ -30,7 +30,7 @@ static inline int xlen()
extern uintptr_t first_free_paddr;
extern uintptr_t mem_size;
-extern uint32_t num_harts;
+extern uintptr_t num_harts;
typedef uintptr_t csr_t; // TODO this might become uint128_t for RV128
@@ -60,7 +60,7 @@ typedef struct {
#define HLS() ((hls_t*)(MACHINE_STACK_TOP() - HLS_SIZE))
#define OTHER_HLS(id) ((hls_t*)((void*)HLS() + RISCV_PGSIZE * ((id) - read_const_csr(mhartid))))
-void hls_init(uint32_t hart_id, csr_t* csrs);
+void hls_init(uintptr_t hart_id, csr_t* csrs);
void parse_config_string();
void poweroff(void) __attribute((noreturn));
void printm(const char* s, ...);