1 /* 2 * Copyright 2003-2004, Axel Dörfler, axeld@pinc-software.de. 3 * Copyright 2019, Adrien Destugues, pulkomandy@pulkomandy.tk. 4 * Distributed under the terms of the MIT License. 5 */ 6 #ifndef _KERNEL_ARCH_RISCV64_CPU_H 7 #define _KERNEL_ARCH_RISCV64_CPU_H 8 9 10 #include <arch/riscv64/arch_thread_types.h> 11 //#include <arch/riscv64/cpu.h> 12 #include <kernel.h> 13 14 15 #define CPU_MAX_CACHE_LEVEL 8 16 #define CACHE_LINE_SIZE 64 17 18 19 #define set_ac() 20 #define clear_ac() 21 22 23 typedef struct arch_cpu_info { 24 int null; 25 } arch_cpu_info; 26 27 28 #ifdef __cplusplus 29 extern "C" { 30 #endif 31 32 33 static inline void 34 arch_cpu_pause(void) 35 { 36 // TODO: CPU pause 37 } 38 39 40 static inline void 41 arch_cpu_idle(void) 42 { 43 // TODO: CPU idle call 44 } 45 46 47 #ifdef __cplusplus 48 } 49 #endif 50 51 52 #endif /* _KERNEL_ARCH_RISCV64_CPU_H */ 53