aboutsummaryrefslogtreecommitdiff
path: root/kernel.c
diff options
context:
space:
mode:
authorWojtek Kosior <kwojtus@protonmail.com>2019-12-28 21:54:42 +0100
committerWojtek Kosior <kwojtus@protonmail.com>2019-12-28 21:54:42 +0100
commit700f4c412d42c9b9811269045c0e363a0331bba9 (patch)
tree260feed1ca657843d993c1ae73e93f25a17cede1 /kernel.c
parent80c9af17330ac442a4c3d6d55b4041cbe923e9b4 (diff)
downloadrpi-MMU-example-700f4c412d42c9b9811269045c0e363a0331bba9.tar.gz
rpi-MMU-example-700f4c412d42c9b9811269045c0e363a0331bba9.zip
split kernel into 2 stages; second stage gets copied to 0x0 and runs from there
Diffstat (limited to 'kernel.c')
-rw-r--r--kernel.c44
1 files changed, 0 insertions, 44 deletions
diff --git a/kernel.c b/kernel.c
deleted file mode 100644
index 719ceff..0000000
--- a/kernel.c
+++ /dev/null
@@ -1,44 +0,0 @@
-#include "uart.h"
-#include "demo_functionality.h"
-#include "paging.h"
-
-void kernel_main(void)
-{
- uart_init();
-
- // When we attach screen session after loading kernel with socat
- // we miss kernel's greeting... So we'll make the kernel wait for
- // one char we're going to send from within screen
- uart_getc();
-
- uart_puts("Hello, kernel World!\r\n");
-
- // prints some info
- demo_paging_support();
-
- // prints some info
- demo_current_mode();
-
- // prints some info and sets upp translation table, turns on MMU
- setup_flat_map();
-
- demo_setup_PL0();
-
- demo_setup_interrupts();
-
- // prints some info and sets up a section for PL0 code, loads a blob
- // there and jumps to it... never, ever, ever returns
- demo_go_unprivileged();
-
- while(1);
-
- while (1)
- {
- char c = uart_getc();
-
- uart_putc(c);
-
- if (c == '\r')
- uart_putc('\n');
- }
-}