paul@62 | 1 | #ifndef __CPU_H__ |
paul@62 | 2 | #define __CPU_H__ |
paul@62 | 3 | |
paul@113 | 4 | #include "xburst_types.h" |
paul@113 | 5 | |
paul@62 | 6 | void flush_cache_all(void); |
paul@73 | 7 | void handle_error_level(void); |
paul@115 | 8 | void enter_user_mode(void); |
paul@133 | 9 | void set_task(u8); |
paul@145 | 10 | void init_registers(u32 *, u32, void (*)(), u32[], u8); |
paul@67 | 11 | void enable_interrupts(void); |
paul@73 | 12 | void init_interrupts(void); |
paul@73 | 13 | void init_tlb(void); |
paul@117 | 14 | void map_page(u32, u32, u32, u8, u8); |
paul@136 | 15 | void init_page_table(u32, u32, u32, u32, u8, u8); |
paul@135 | 16 | void map_page_miss(u32, u32, u8); |
paul@117 | 17 | void map_page_index(u32, u32, u32, u8, u8, u32); |
paul@117 | 18 | void unmap_page(u32, u32, u32, u8, u8); |
paul@62 | 19 | |
paul@143 | 20 | #define page_table_start 0x80040000 |
paul@136 | 21 | #define page_table_task_size 0x00008000 |
paul@136 | 22 | #define page_table_task_size_log2 15 |
paul@136 | 23 | |
paul@62 | 24 | #endif /* __CPU_H__ */ |