summaryrefslogtreecommitdiff
path: root/firmware/target/arm/s3c2440/gigabeat-fx/system-meg-fx.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/s3c2440/gigabeat-fx/system-meg-fx.c')
-rw-r--r--firmware/target/arm/s3c2440/gigabeat-fx/system-meg-fx.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/firmware/target/arm/s3c2440/gigabeat-fx/system-meg-fx.c b/firmware/target/arm/s3c2440/gigabeat-fx/system-meg-fx.c
index 00cf626ab3..c7b1b77c9f 100644
--- a/firmware/target/arm/s3c2440/gigabeat-fx/system-meg-fx.c
+++ b/firmware/target/arm/s3c2440/gigabeat-fx/system-meg-fx.c
@@ -1,7 +1,8 @@
1#include "kernel.h" 1#include "kernel.h"
2#include "system.h" 2#include "system.h"
3#include "panic.h" 3#include "panic.h"
4#include "mmu-meg-fx.h" 4#include "mmu-arm.h"
5#include "cpu.h"
5 6
6#define default_interrupt(name) \ 7#define default_interrupt(name) \
7 extern __attribute__((weak,alias("UIRQ"))) void name (void) 8 extern __attribute__((weak,alias("UIRQ"))) void name (void)
@@ -90,6 +91,19 @@ void system_reboot(void)
90 ; 91 ;
91} 92}
92 93
94static void set_page_tables(void)
95{
96 map_section(0, 0, 0x1000, CACHE_NONE); /* map every memory region to itself */
97 map_section(0x30000000, 0, 32, CACHE_ALL); /* map RAM to 0 and enable caching for it */
98 map_section((int)FRAME, (int)FRAME, 1, BUFFERED); /* enable buffered writing for the framebuffer */
99}
100
101void memory_init(void) {
102 ttb_init();
103 set_page_tables();
104 enable_mmu();
105}
106
93void system_init(void) 107void system_init(void)
94{ 108{
95 /* Disable interrupts and set all to IRQ mode */ 109 /* Disable interrupts and set all to IRQ mode */