From 775ea39a1e98b558bfe37c93bd5998a6e32846e2 Mon Sep 17 00:00:00 2001
From: Arvind S Raj <sraj.arvind@gmail.com>
Date: Fri, 25 Jul 2014 19:13:26 +0530
Subject: [PATCH] Moved entire memory to higher memory location to prevent
overlap when kernel is loaded into memory.
* Changed base and entry points for haiku_loader_nbsd.ub.
* Changed base address for SDRAM and framebuffer.
* Use variable defined in BoardSetup instead of hardcoding in Jamfile.
---
build/jam/board/beagle/BoardSetup | 10 +++++-----
headers/private/kernel/arch/arm/omap3.h | 4 ++--
src/system/boot/platform/u-boot/Jamfile | 4 ++--
3 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/build/jam/board/beagle/BoardSetup b/build/jam/board/beagle/BoardSetup
index 0c54643..2cc6434 100644
a
|
b
|
HAIKU_BOARD_DESCRIPTION = "BeagleBoard" ;
|
8 | 8 | # |
9 | 9 | |
10 | 10 | # load address for haiku_loader |
11 | | HAIKU_BOARD_LOADER_BASE = 0x80008000 ; |
| 11 | HAIKU_BOARD_LOADER_BASE = 0x90008000 ; |
12 | 12 | # entry points (raw binary, and netbsd loader emulation) |
13 | | HAIKU_BOARD_LOADER_ENTRY_RAW = 0x80008000 ; |
14 | | HAIKU_BOARD_LOADER_ENTRY_NBSD = 0x80008008 ; |
| 13 | HAIKU_BOARD_LOADER_ENTRY_RAW = 0x90008000 ; |
| 14 | HAIKU_BOARD_LOADER_ENTRY_NBSD = 0x90008008 ; |
15 | 15 | |
16 | 16 | HAIKU_BOARD_LOADER_ENTRY = $(HAIKU_BOARD_LOADER_ENTRY_NBSD) ; |
17 | 17 | HAIKU_BOARD_LOADER_FAKE_OS = netbsd ; |
18 | 18 | |
19 | 19 | # load address for haiku_loader uimage |
20 | 20 | # (must be different than real load address) |
21 | | HAIKU_BOARD_LOADER_UIBASE = 0x84000000 ; |
| 21 | HAIKU_BOARD_LOADER_UIBASE = 0x92000000 ; |
22 | 22 | |
23 | | HAIKU_BOARD_LOADER_STACK_BASE = 0x84000000 ; |
| 23 | HAIKU_BOARD_LOADER_STACK_BASE = 0x94000000 ; |
24 | 24 | |
25 | 25 | # |
26 | 26 | # Flash image |
diff --git a/headers/private/kernel/arch/arm/omap3.h b/headers/private/kernel/arch/arm/omap3.h
index c0b7e18..903cf4a 100644
a
|
b
|
|
23 | 23 | #ifndef __PLATFORM_OMAP3_H |
24 | 24 | #define __PLATFORM_OMAP3_H |
25 | 25 | |
26 | | #define SDRAM_BASE 0x80000000 |
| 26 | #define SDRAM_BASE 0x90000000 |
27 | 27 | |
28 | 28 | #define VECT_BASE 0x00000000 |
29 | 29 | #define VECT_SIZE 0x1000 |
… |
… |
|
32 | 32 | #define DEVICE_SIZE 0x2000000 |
33 | 33 | |
34 | 34 | /* framebuffer */ |
35 | | #define FB_BASE 0x88000000 |
| 35 | #define FB_BASE 0x98000000 |
36 | 36 | #define FB_SIZE 0x200000 |
37 | 37 | |
38 | 38 | #define L4_BASE 0x48000000 |
diff --git a/src/system/boot/platform/u-boot/Jamfile b/src/system/boot/platform/u-boot/Jamfile
index fc61049..6f2cab6 100644
a
|
b
|
actions BuildUBootSDImage1
|
184 | 184 | # We load the uImage 2MB above its final destination, bootm will decode |
185 | 185 | # it to the proper location. Our image is smaller than 2MB so this works. |
186 | 186 | echo 'uenvcmd=run loadImage; run mmcboot; |
187 | | loadImage=fatload mmc0 0 0x80200000 haiku_loader_nbsd.ub |
188 | | mmcboot=bootm 0x80200000' > uEnv.txt |
| 187 | loadImage=fatload mmc0 0 $(HAIKU_BOARD_LOADER_UIBASE) haiku_loader_nbsd.ub |
| 188 | mmcboot=bootm $(HAIKU_BOARD_LOADER_UIBASE)' > uEnv.txt |
189 | 189 | # populate |
190 | 190 | MTOOLSRC=$(1).mtools mcopy $(2[1-]) i: |
191 | 191 | MTOOLSRC=$(1).mtools mcopy uEnv.txt i: |