105dda88dSAlexander von Gluck IV/*
25e06ebe1SAlexander von Gluck IV * Copyright 2003-2004, Axel D��rfler, axeld@pinc-software.de.
35e06ebe1SAlexander von Gluck IV * Copyright 2019, Adrien Destugues, pulkomandy@pulkomandy.tk.
45e06ebe1SAlexander von Gluck IV * Distributed under the terms of the MIT License.
55e06ebe1SAlexander von Gluck IV */
65e06ebe1SAlexander von Gluck IV#ifndef _KERNEL_ARCH_RISCV64_CPU_H
75e06ebe1SAlexander von Gluck IV#define _KERNEL_ARCH_RISCV64_CPU_H
805dda88dSAlexander von Gluck IV
905dda88dSAlexander von Gluck IV
105e06ebe1SAlexander von Gluck IV#include <arch/riscv64/arch_thread_types.h>
115e06ebe1SAlexander von Gluck IV//#include <arch/riscv64/cpu.h>
125e06ebe1SAlexander von Gluck IV#include <kernel.h>
135e06ebe1SAlexander von Gluck IV
145e06ebe1SAlexander von Gluck IV
155e06ebe1SAlexander von Gluck IV#define CPU_MAX_CACHE_LEVEL	8
165e06ebe1SAlexander von Gluck IV#define CACHE_LINE_SIZE		64
175e06ebe1SAlexander von Gluck IV
185e06ebe1SAlexander von Gluck IV
195e06ebe1SAlexander von Gluck IV#define set_ac()
205e06ebe1SAlexander von Gluck IV#define clear_ac()
215e06ebe1SAlexander von Gluck IV
225e06ebe1SAlexander von Gluck IV
235e06ebe1SAlexander von Gluck IVtypedef struct arch_cpu_info {
245e06ebe1SAlexander von Gluck IV	int null;
255e06ebe1SAlexander von Gluck IV} arch_cpu_info;
265e06ebe1SAlexander von Gluck IV
275e06ebe1SAlexander von Gluck IV
285e06ebe1SAlexander von Gluck IV#ifdef __cplusplus
295e06ebe1SAlexander von Gluck IVextern "C" {
3005dda88dSAlexander von Gluck IV#endif
315e06ebe1SAlexander von Gluck IV
325e06ebe1SAlexander von Gluck IV
335e06ebe1SAlexander von Gluck IVstatic inline void
345e06ebe1SAlexander von Gluck IVarch_cpu_pause(void)
355e06ebe1SAlexander von Gluck IV{
365e06ebe1SAlexander von Gluck IV	// TODO: CPU pause
375e06ebe1SAlexander von Gluck IV}
385e06ebe1SAlexander von Gluck IV
395e06ebe1SAlexander von Gluck IV
405e06ebe1SAlexander von Gluck IVstatic inline void
415e06ebe1SAlexander von Gluck IVarch_cpu_idle(void)
425e06ebe1SAlexander von Gluck IV{
435e06ebe1SAlexander von Gluck IV	// TODO: CPU idle call
445e06ebe1SAlexander von Gluck IV}
455e06ebe1SAlexander von Gluck IV
465e06ebe1SAlexander von Gluck IV
475e06ebe1SAlexander von Gluck IV#ifdef __cplusplus
485e06ebe1SAlexander von Gluck IV}
495e06ebe1SAlexander von Gluck IV#endif
505e06ebe1SAlexander von Gluck IV
515e06ebe1SAlexander von Gluck IV
525e06ebe1SAlexander von Gluck IV#endif	/* _KERNEL_ARCH_RISCV64_CPU_H */
53