Commit 63e413d1 authored by Greg Ungerer's avatar Greg Ungerer Committed by Linus Torvalds

[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: default avatarGreg Ungerer <gerg@uclinux.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent d2f386d7
...@@ -472,38 +472,46 @@ config 4KSTACKS ...@@ -472,38 +472,46 @@ config 4KSTACKS
running more threads on a system and also reduces the pressure running more threads on a system and also reduces the pressure
on the VM subsystem for higher order allocations. on the VM subsystem for higher order allocations.
choice comment "RAM configuration"
prompt "RAM size"
default AUTO config RAMBASE
hex "Address of the base of RAM"
config RAMAUTO default "0"
bool "AUTO" help
---help--- Define the address that RAM starts at. On many platforms this is
Configure the RAM size on your platform. Many platforms can auto 0, the base of the address space. And this is the default. Some
detect this, on those choose the AUTO option. Otherwise set the platforms choose to setup their RAM at other addresses within the
RAM size you intend using. processor address space.
config RAM4MB config RAMSIZE
bool "4MiB" hex "Size of RAM (in bytes)"
help default "0x400000"
Set RAM size to be 4MiB. help
Define the size of the system RAM. If you select 0 then the
config RAM8MB kernel will try to probe the RAM size at runtime. This is not
bool "8MiB" supported on all CPU types.
help
Set RAM size to be 8MiB. config VECTORBASE
hex "Address of the base of system vectors"
config RAM16MB default "0"
bool "16MiB" help
help Define the address of the the system vectors. Commonly this is
Set RAM size to be 16MiB. 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
config RAM32MB actually setting the address to use.
bool "32MiB"
help config KERNELBASE
Set RAM size to be 32MiB. hex "Address of the base of kernel code"
default "0x400"
endchoice help
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.
choice choice
prompt "RAM bus width" prompt "RAM bus width"
...@@ -511,7 +519,7 @@ choice ...@@ -511,7 +519,7 @@ choice
config RAMAUTOBIT config RAMAUTOBIT
bool "AUTO" bool "AUTO"
---help--- help
Select the physical RAM data bus size. Not needed on most platforms, Select the physical RAM data bus size. Not needed on most platforms,
so you can generally choose AUTO. so you can generally choose AUTO.
...@@ -545,7 +553,9 @@ config RAMKERNEL ...@@ -545,7 +553,9 @@ config RAMKERNEL
config ROMKERNEL config ROMKERNEL
bool "ROM" bool "ROM"
help help
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.
endchoice endchoice
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment