# HG changeset patch # User Windel Bouwman # Date 1399035106 -7200 # Node ID e07c2a9abac1db2a9a8bdf3b1d9fd709cddd59ff # Parent 34ac19044b8a3a9360320e9858795977fca1f9ca Enabled paging in kernel diff -r 34ac19044b8a -r e07c2a9abac1 kernel/arch/qemu_vexpress/startup_a9.asm --- a/kernel/arch/qemu_vexpress/startup_a9.asm Thu May 01 22:09:18 2014 +0200 +++ b/kernel/arch/qemu_vexpress/startup_a9.asm Fri May 02 14:51:46 2014 +0200 @@ -34,8 +34,8 @@ ; Enable the VMSA (Virtual memory system architecture): mrc p15, 0, r0, c1, c0, 0 ; TODO: -; mov r1, 0x1 -; orr r0, r0, r1 ; TODO: implement orr r0, r0, 1 +mov r1, 0x1 +orr r0, r0, r1 ; TODO: implement orr r0, r0, 1 mcr p15, 0, r0, c1, c0, 0 ; Setup stack: @@ -77,8 +77,15 @@ section mem_tables kernel_table0: - dcd 0x000402 ; Identity map first 1 MB - repeat 0xFFE + dcd 0x00000402 ; Identity map first 1 MB + dcd 0x10000402 ; Map to peripheral space 1 MB + repeat 0x5FE dcd 0 endrepeat + dcd 0x00000402 ; Alias to 0x0 + + repeat 0x9FF + dcd 0 + endrepeat + diff -r 34ac19044b8a -r e07c2a9abac1 kernel/arch/vexpressA9.c3 --- a/kernel/arch/vexpressA9.c3 Thu May 01 22:09:18 2014 +0200 +++ b/kernel/arch/vexpressA9.c3 Fri May 02 14:51:46 2014 +0200 @@ -16,7 +16,7 @@ function void putc(int c) { var int *UART0DR; - UART0DR = cast(0x10009000); // UART0 DR register + UART0DR = cast(0x109000); // UART0 DR register when remapped at 1MB *UART0DR = c; }