blob: 1b930247c80da2ce9c24de583dea85b5d397f017 (
about) (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#include "uart.h"
#include "psr.h"
void PL0_main(void)
{
uart_puts("hello PL0! Switching to user mode!\n\r");
// if all went correct, Success! gets printed
uart_puts("Success!\n\r");
// if we're indeed i PL0, we should crash now, when trying to access
// memory we're not allowed to
char first_kernel_byte[2];
first_kernel_byte[0] = *(char*) ((uint32_t) 0x8000);
first_kernel_byte[1] = '\0';
uart_puts(first_kernel_byte);
while (1)
{
char c = uart_getc();
uart_putc(c);
if (c == '\r')
uart_putc('\n');
}
}
|