boot cpp
More...
#include "cstdint"
#include "sbi/sbi_ecall_interface.h"
Go to the source code of this file.
|
| sbiret_t | ecall (unsigned long _arg0, unsigned long _arg1, unsigned long _arg2, unsigned long _arg3, unsigned long _arg4, unsigned long _arg5, int _fid, int _eid) |
| |
| void | put_char (const char _c) |
| |
| int | main (int, char **) |
| | 入口 More...
|
| |
boot cpp
- Author
- Zone.N (Zone..nosp@m.Niuz.nosp@m.h@hot.nosp@m.mail.nosp@m..com)
- Version
- 1.0
- Date
- 2023-07-15
- Copyright
- MIT LICENSE https://github.com/Simple-XX/SimpleKernel
- change log:
-
Definition in file boot.cpp.
◆ ecall()
| sbiret_t ecall |
( |
unsigned long |
_arg0, |
|
|
unsigned long |
_arg1, |
|
|
unsigned long |
_arg2, |
|
|
unsigned long |
_arg3, |
|
|
unsigned long |
_arg4, |
|
|
unsigned long |
_arg5, |
|
|
int |
_fid, |
|
|
int |
_eid |
|
) |
| |
Definition at line 32 of file boot.cpp.
36 register uintptr_t a0
asm(
"a0") = (uintptr_t)(_arg0);
37 register uintptr_t a1
asm(
"a1") = (uintptr_t)(_arg1);
38 register uintptr_t a2
asm(
"a2") = (uintptr_t)(_arg2);
39 register uintptr_t a3
asm(
"a3") = (uintptr_t)(_arg3);
40 register uintptr_t a4
asm(
"a4") = (uintptr_t)(_arg4);
41 register uintptr_t a5
asm(
"a5") = (uintptr_t)(_arg5);
42 register uintptr_t a6
asm(
"a6") = (uintptr_t)(_fid);
43 register uintptr_t a7
asm(
"a7") = (uintptr_t)(_eid);
46 :
"r"(a2),
"r"(a3),
"r"(a4),
"r"(a5),
"r"(a6),
"r"(a7)
◆ main()
| int main |
( |
int |
_argc, |
|
|
char ** |
_argv |
|
) |
| |
入口
内核入口
- Parameters
-
- Returns
- int 正常返回 0
Definition at line 58 of file boot.cpp.
void put_char(const char _c)
◆ put_char()
| void put_char |
( |
const char |
_c | ) |
|
Definition at line 53 of file boot.cpp.
54 ecall(_c, 0, 0, 0, 0, 0, 0, SBI_EXT_0_1_CONSOLE_PUTCHAR);
sbiret_t ecall(unsigned long _arg0, unsigned long _arg1, unsigned long _arg2, unsigned long _arg3, unsigned long _arg4, unsigned long _arg5, int _fid, int _eid)