XenevaOS
Loading...
Searching...
No Matches
lowlevel.h
Go to the documentation of this file.
1
30#ifndef __LOW_LEVEL_H__
31#define __LOW_LEVEL_H__
32
33#include <stdint.h>
34
35#ifdef __cplusplus
36extern "C" {
37#endif
38
39 /*
40 * _getCurrentEL -- returns the current exception level
41 */
43
44 /*
45 * read_ttbr0_el1 -- reads the current exception's
46 * page mapping base address
47 */
49
50 /*
51 * write_ttbr0_el1 -- writes current page mapping base
52 * address
53 */
55
57
59
61
63
65
67
69
71
72 /*
73 * read_sctlr_el1 -- reads current system control
74 * register of el1
75 */
77
78 /*
79 * write_sctlr_el1 -- write current system control
80 * register of el1
81 * @param sctlr -- system control register value
82 */
84
86
88
89 /*
90 * dsb_ish -- data syncronization barrier inner shareablity memory
91 * flush, which makes the previous memory access visible for
92 * multi core system
93 */
94 void dsb_ish();
95
96 /*
97 * isb_flush -- instruction synchronization flush, flush previous
98 * instruction set
99 */
100 void isb_flush();
101
102 void tlb_flush(uint64_t virtul_addr);
103
105
107
109
111
113
115
116 void callKernel(void* param, uint64_t stack, uint64_t stacksize, void* entry);
117
118#ifdef __cplusplus
119}
120#endif
121
122#endif
void callKernel(void *param, uint64_t stack, uint64_t stacksize, void *entry)
void write_tcr_el1(uint64_t tcr)
uint64_t read_ttbr1_el1()
void dsb_ish()
void dc_cvau(uint64_t a)
void write_mair_el1(uint64_t mair)
uint64_t read_elr_el1()
uint64_t read_sctlr_el1()
uint64_t read_spsr_el2()
void write_spsr_el2(uint64_t spsr)
uint64_t _getCurrentEL()
void write_vbar_el1(uint64_t vecbase)
void isb_flush()
void write_ttbr0_el1(uint64_t *base)
void ic_ivau(uint64_t a)
uint64_t read_mair_el1()
void tlb_flush(uint64_t virtul_addr)
uint64_t read_ttbr0_el2()
uint64_t read_ttbr0_el1()
uint64_t read_far_el1()
uint64_t read_tcr_el1()
void write_sctlr_el1(uint64_t sctlr)
uint64_t read_ttbr1_el2()
void write_ttbr1_el1(uint64_t *base)
uint64_t read_esr_el1()
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165
void(* entry)(void *)
Definition process.h:91