SimpleKernel
1.17.0
Loading...
Searching...
No Matches
main.cpp
Go to the documentation of this file.
1
6
#include <cstdarg>
7
#include <cstdint>
8
9
extern
"C"
{
10
volatile
uint8_t*
uart
= (uint8_t*)0x9000000;
11
void
putc
(
char
character) { *
uart
= character; }
12
13
void
SetupFpu
() {
14
__asm__
volatile
(
15
"mov X0, #0x00300000\n"
16
"msr CPACR_EL1, x0\n"
17
"isb\n"
18
:
19
:
20
:);
21
}
22
23
struct
param
{
24
uint64_t
a
;
25
uint64_t
b
;
26
uint64_t
c
;
27
uint64_t
d
;
28
uint64_t
e
;
29
};
30
31
void
callee
([[maybe_unused]]
param
var) {
putc
(
'e'
); }
32
33
void
main
() {
34
SetupFpu
();
35
putc
(
'0'
);
36
callee
({});
37
putc
(
'1'
);
38
}
39
}
param
Definition
main.cpp:23
param::d
uint64_t d
Definition
main.cpp:27
param::a
uint64_t a
Definition
main.cpp:24
param::b
uint64_t b
Definition
main.cpp:25
param::e
uint64_t e
Definition
main.cpp:28
param::c
uint64_t c
Definition
main.cpp:26
callee
void callee(param var)
Definition
main.cpp:31
uart
volatile uint8_t * uart
TODO: Add description.
Definition
main.cpp:10
main
void main()
Definition
main.cpp:33
putc
void putc(char character)
Definition
main.cpp:11
SetupFpu
void SetupFpu()
Definition
main.cpp:13
tests
integration_test
aarch64_minimal
main.cpp
Generated by
1.9.8