|author||Greg Ungerer <firstname.lastname@example.org>||2006-06-26 16:32:59 +1000|
|committer||Linus Torvalds <email@example.com>||2006-06-26 10:59:07 -0700|
[PATCH] m68knommu: create configurable RAM setup
Reworked the way RAM regions are defined. Instead of coding all the variations for each board type we now just configure RAM base and size in the usual Kconfig setup. This much simplifies the code, and makes it a lot more flexible when setting up new boards or board varients. Signed-off-by: Greg Ungerer <firstname.lastname@example.org> Signed-off-by: Linus Torvalds <email@example.com>
1 files changed, 44 insertions, 34 deletions
diff --git a/arch/m68knommu/Kconfig b/arch/m68knommu/Kconfig
index 6c6980b9b6d..8b6e723eb82 100644
@@ -472,38 +472,46 @@ config 4KSTACKS
running more threads on a system and also reduces the pressure
on the VM subsystem for higher order allocations.
- prompt "RAM size"
- default AUTO
- bool "AUTO"
- Configure the RAM size on your platform. Many platforms can auto
- detect this, on those choose the AUTO option. Otherwise set the
- RAM size you intend using.
- bool "4MiB"
- Set RAM size to be 4MiB.
- bool "8MiB"
- Set RAM size to be 8MiB.
- bool "16MiB"
- Set RAM size to be 16MiB.
- bool "32MiB"
- Set RAM size to be 32MiB.
+comment "RAM configuration"
+ hex "Address of the base of RAM"
+ default "0"
+ Define the address that RAM starts at. On many platforms this is
+ 0, the base of the address space. And this is the default. Some
+ platforms choose to setup their RAM at other addresses within the
+ processor address space.
+ hex "Size of RAM (in bytes)"
+ default "0x400000"
+ Define the size of the system RAM. If you select 0 then the
+ kernel will try to probe the RAM size at runtime. This is not
+ supported on all CPU types.
+ hex "Address of the base of system vectors"
+ default "0"
+ Define the address of the the system vectors. Commonly this is
+ put at the start of RAM, but it doesn't have to be. On ColdFire
+ platforms this address is programmed into the VBR register, thus
+ actually setting the address to use.
+ hex "Address of the base of kernel code"
+ default "0x400"
+ Typically on m68k systems the kernel will not start at the base
+ of RAM, but usually some small offset from it. Define the start
+ address of the kernel here. The most common setup will have the
+ processor vectors at the base of RAM and then the start of the
+ kernel. On some platforms some RAM is reserved for boot loaders
+ and the kernel starts after that. The 0x400 default was based on
+ a system with the RAM based at address 0, and leaving enough room
+ for the theoretical maximum number of 256 vectors.
prompt "RAM bus width"
@@ -511,7 +519,7 @@ choice
Select the physical RAM data bus size. Not needed on most platforms,
so you can generally choose AUTO.
@@ -545,7 +553,9 @@ config RAMKERNEL
- The kernel will be resident in FLASH/ROM when running.
+ The kernel will be resident in FLASH/ROM when running. This is
+ often referred to as Execute-in-Place (XIP), since the kernel
+ code executes from the position it is stored in the FLASH/ROM.