baremetal: create an assert_fail C helper

Create a test for it under interactive/assert_fail.c

Move prompt under interactive

Create baremetal/arch/aarch64/c_from_as.S as an example of calling C
functions from assembly.
This commit is contained in:
Ciro Santilli 六四事件 法轮功
2018-11-08 23:00:02 +00:00
parent ba570f57f3
commit fc9e0c28a5
7 changed files with 39 additions and 17 deletions

View File

@@ -0,0 +1,5 @@
/* Call a C function. */
.global main
main:
mov x0, #0
bl exit

View File

@@ -0,0 +1,6 @@
#include <common.h>
void main(void) {
assert_fail();
}

View File

@@ -1,3 +1,4 @@
#include <stdlib.h>
#include <sys/stat.h>
enum {
@@ -76,3 +77,8 @@ void _exit(int status) {
);
#endif
}
void assert_fail() {
puts("lkmc_test_fail");
exit(1);
}

4
baremetal/lib/common.h Normal file
View File

@@ -0,0 +1,4 @@
#ifndef COMMON_H
#define COMMON_H
void assert_fail();
#endif