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
9extern "C" {
10volatile uint8_t* uart = (uint8_t*)0x9000000;
11void putc(char character) { *uart = character; }
12
13void SetupFpu() {
14 __asm__ volatile(
15 "mov X0, #0x00300000\n"
16 "msr CPACR_EL1, x0\n"
17 "isb\n"
18 :
19 :
20 :);
21}
22
23struct param {
24 uint64_t a;
25 uint64_t b;
26 uint64_t c;
27 uint64_t d;
28 uint64_t e;
29};
30
31void callee([[maybe_unused]] param var) { putc('e'); }
32
33void main() {
34 SetupFpu();
35 putc('0');
36 callee({});
37 putc('1');
38}
39}
Definition main.cpp:23
uint64_t d
Definition main.cpp:27
uint64_t a
Definition main.cpp:24
uint64_t b
Definition main.cpp:25
uint64_t e
Definition main.cpp:28
uint64_t c
Definition main.cpp:26
void callee(param var)
Definition main.cpp:31
volatile uint8_t * uart
TODO: Add description.
Definition main.cpp:10
void main()
Definition main.cpp:33
void putc(char character)
Definition main.cpp:11
void SetupFpu()
Definition main.cpp:13