X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/6c506d8916fb114675e93d0e2cb20831d4022294..d1b1c8d9119229dbeed06cd252917e54a1cb77f6:/lunaix-os/arch/generic/includes/sys/cpu.h diff --git a/lunaix-os/arch/generic/includes/sys/cpu.h b/lunaix-os/arch/generic/includes/sys/cpu.h new file mode 100644 index 0000000..952a3de --- /dev/null +++ b/lunaix-os/arch/generic/includes/sys/cpu.h @@ -0,0 +1,71 @@ +#ifndef __LUNAIX_CPU_H +#define __LUNAIX_CPU_H + +#include + +/** + * @brief Get processor ID string + * + * @param id_out + */ +void +cpu_get_id(char* id_out); + +void +cpu_trap_sched(); + +void +cpu_trap_panic(char* message); + + +/** + * @brief Load current processor state + * + * @return ptr_t + */ +ptr_t +cpu_ldstate(); + +/** + * @brief Load current processor config + * + * @return ptr_t + */ +ptr_t +cpu_ldconfig(); + +/** + * @brief Change current processor state + * + * @return ptr_t + */ +void +cpu_chconfig(ptr_t val); + +/** + * @brief Change current virtual memory space + * + * @return ptr_t + */ +void +cpu_chvmspace(ptr_t val); + +void +cpu_enable_interrupt(); + +void +cpu_disable_interrupt(); + +void +cpu_wait(); + +/** + * @brief Read exeception address + * + * @return ptr_t + */ +ptr_t +cpu_ldeaddr(); + + +#endif /* __LUNAIX_CPU_H */