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 <kernel.h> 12 13 14 #define CPU_MAX_CACHE_LEVEL 8 15 #define CACHE_LINE_SIZE 64 16 17 18 #define set_ac() 19 #define clear_ac() 20 21 22 typedef struct arch_cpu_info { 23 int null; 24 } arch_cpu_info; 25 26 27 #ifdef __cplusplus 28 extern "C" { 29 #endif 30 31 32 static inline void 33 arch_cpu_pause(void) 34 { 35 // TODO: CPU pause 36 } 37 38 39 static inline void 40 arch_cpu_idle(void) 41 { 42 // TODO: CPU idle call 43 } 44 45 46 #ifdef __cplusplus 47 } 48 #endif 49 50 51 #endif /* _KERNEL_ARCH_RISCV64_CPU_H */ 52