diff options
author | Andrew Waterman <waterman@cs.berkeley.edu> | 2015-11-28 16:59:00 -0800 |
---|---|---|
committer | Andrew Waterman <waterman@cs.berkeley.edu> | 2015-11-28 17:00:06 -0800 |
commit | 529a6a3a0c42468bf815255697279e0e059a22db (patch) | |
tree | d1c6786e02820ea4714154cb8cb265d529771f15 /pk/pk.h | |
parent | d37b50edf5faee2fe41a2586479ddab7c8a2ec9b (diff) | |
download | pk-529a6a3a0c42468bf815255697279e0e059a22db.zip pk-529a6a3a0c42468bf815255697279e0e059a22db.tar.gz pk-529a6a3a0c42468bf815255697279e0e059a22db.tar.bz2 |
Change boot procedure to not rely on IPIs
That procedure doesn't work correctly if hart 0 comes out of reset while
hart 1 is still in reset.
Diffstat (limited to 'pk/pk.h')
-rw-r--r-- | pk/pk.h | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -3,6 +3,8 @@ #ifndef _PK_H #define _PK_H +#define MAX_HARTS 32 // coupled to width of booted_harts_mask + #ifndef __ASSEMBLER__ #define debug_printk(s, ...) //printk(s, __VA_ARGS__) @@ -48,6 +50,7 @@ extern "C" { extern uintptr_t mem_size; extern int have_vm; extern uint32_t num_harts; +extern volatile uint32_t booted_harts_mask; struct mainvars* parse_args(struct mainvars*); void printk(const char* s, ...); |