Merge of master.kernel.org:/home/rmk/linux-2.6-rmk.git
This commit is contained in:
@@ -18,48 +18,30 @@
|
|||||||
* Please select one of the following when turning on debugging.
|
* Please select one of the following when turning on debugging.
|
||||||
*/
|
*/
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
#if defined(CONFIG_DEBUG_DC21285_PORT)
|
|
||||||
.macro loadsp, rb
|
#include <asm/arch/debug-macro.S>
|
||||||
mov \rb, #0x42000000
|
|
||||||
.endm
|
#if defined(CONFIG_DEBUG_ICEDCC)
|
||||||
.macro writeb, rb
|
|
||||||
str \rb, [r3, #0x160]
|
|
||||||
.endm
|
|
||||||
#elif defined(CONFIG_DEBUG_ICEDCC)
|
|
||||||
.macro loadsp, rb
|
.macro loadsp, rb
|
||||||
.endm
|
.endm
|
||||||
.macro writeb, rb
|
.macro writeb, ch, rb
|
||||||
mcr p14, 0, \rb, c0, c1, 0
|
mcr p14, 0, \ch, c0, c1, 0
|
||||||
.endm
|
.endm
|
||||||
#elif defined(CONFIG_FOOTBRIDGE)
|
#else
|
||||||
|
.macro writeb, ch, rb
|
||||||
|
senduart \ch, \rb
|
||||||
|
.endm
|
||||||
|
|
||||||
|
#if defined(CONFIG_FOOTBRIDGE) || \
|
||||||
|
defined(CONFIG_ARCH_RPC) || \
|
||||||
|
defined(CONFIG_ARCH_INTEGRATOR) || \
|
||||||
|
defined(CONFIG_ARCH_PXA) || \
|
||||||
|
defined(CONFIG_ARCH_IXP4XX) || \
|
||||||
|
defined(CONFIG_ARCH_IXP2000) || \
|
||||||
|
defined(CONFIG_ARCH_LH7A40X) || \
|
||||||
|
defined(CONFIG_ARCH_OMAP)
|
||||||
.macro loadsp, rb
|
.macro loadsp, rb
|
||||||
mov \rb, #0x7c000000
|
addruart \rb
|
||||||
.endm
|
|
||||||
.macro writeb, rb
|
|
||||||
strb \rb, [r3, #0x3f8]
|
|
||||||
.endm
|
|
||||||
#elif defined(CONFIG_ARCH_RPC)
|
|
||||||
.macro loadsp, rb
|
|
||||||
mov \rb, #0x03000000
|
|
||||||
orr \rb, \rb, #0x00010000
|
|
||||||
.endm
|
|
||||||
.macro writeb, rb
|
|
||||||
strb \rb, [r3, #0x3f8 << 2]
|
|
||||||
.endm
|
|
||||||
#elif defined(CONFIG_ARCH_INTEGRATOR)
|
|
||||||
.macro loadsp, rb
|
|
||||||
mov \rb, #0x16000000
|
|
||||||
.endm
|
|
||||||
.macro writeb, rb
|
|
||||||
strb \rb, [r3, #0]
|
|
||||||
.endm
|
|
||||||
#elif defined(CONFIG_ARCH_PXA) /* Xscale-type */
|
|
||||||
.macro loadsp, rb
|
|
||||||
mov \rb, #0x40000000
|
|
||||||
orr \rb, \rb, #0x00100000
|
|
||||||
.endm
|
|
||||||
.macro writeb, rb
|
|
||||||
strb \rb, [r3, #0]
|
|
||||||
.endm
|
.endm
|
||||||
#elif defined(CONFIG_ARCH_SA1100)
|
#elif defined(CONFIG_ARCH_SA1100)
|
||||||
.macro loadsp, rb
|
.macro loadsp, rb
|
||||||
@@ -70,64 +52,21 @@
|
|||||||
add \rb, \rb, #0x00010000 @ Ser1
|
add \rb, \rb, #0x00010000 @ Ser1
|
||||||
# endif
|
# endif
|
||||||
.endm
|
.endm
|
||||||
.macro writeb, rb
|
|
||||||
str \rb, [r3, #0x14] @ UTDR
|
|
||||||
.endm
|
|
||||||
#elif defined(CONFIG_ARCH_IXP4XX)
|
|
||||||
.macro loadsp, rb
|
|
||||||
mov \rb, #0xc8000000
|
|
||||||
.endm
|
|
||||||
.macro writeb, rb
|
|
||||||
str \rb, [r3, #0]
|
|
||||||
#elif defined(CONFIG_ARCH_IXP2000)
|
|
||||||
.macro loadsp, rb
|
|
||||||
mov \rb, #0xc0000000
|
|
||||||
orr \rb, \rb, #0x00030000
|
|
||||||
.endm
|
|
||||||
.macro writeb, rb
|
|
||||||
str \rb, [r3, #0]
|
|
||||||
.endm
|
|
||||||
#elif defined(CONFIG_ARCH_LH7A40X)
|
|
||||||
.macro loadsp, rb
|
|
||||||
ldr \rb, =0x80000700 @ UART2 UARTBASE
|
|
||||||
.endm
|
|
||||||
.macro writeb, rb
|
|
||||||
strb \rb, [r3, #0]
|
|
||||||
.endm
|
|
||||||
#elif defined(CONFIG_ARCH_OMAP)
|
|
||||||
.macro loadsp, rb
|
|
||||||
mov \rb, #0xff000000 @ physical base address
|
|
||||||
add \rb, \rb, #0x00fb0000
|
|
||||||
#if defined(CONFIG_OMAP_LL_DEBUG_UART2) || defined(CONFIG_OMAP_LL_DEBUG_UART3)
|
|
||||||
add \rb, \rb, #0x00000800
|
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_OMAP_LL_DEBUG_UART3
|
|
||||||
add \rb, \rb, #0x00009000
|
|
||||||
#endif
|
|
||||||
.endm
|
|
||||||
.macro writeb, rb
|
|
||||||
strb \rb, [r3]
|
|
||||||
.endm
|
|
||||||
#elif defined(CONFIG_ARCH_IOP331)
|
#elif defined(CONFIG_ARCH_IOP331)
|
||||||
.macro loadsp, rb
|
.macro loadsp, rb
|
||||||
mov \rb, #0xff000000
|
mov \rb, #0xff000000
|
||||||
orr \rb, \rb, #0x00ff0000
|
orr \rb, \rb, #0x00ff0000
|
||||||
orr \rb, \rb, #0x0000f700 @ location of the UART
|
orr \rb, \rb, #0x0000f700 @ location of the UART
|
||||||
.endm
|
.endm
|
||||||
.macro writeb, rb
|
|
||||||
str \rb, [r3, #0]
|
|
||||||
.endm
|
|
||||||
#elif defined(CONFIG_ARCH_S3C2410)
|
#elif defined(CONFIG_ARCH_S3C2410)
|
||||||
.macro loadsp, rb
|
.macro loadsp, rb
|
||||||
mov \rb, #0x50000000
|
mov \rb, #0x50000000
|
||||||
add \rb, \rb, #0x4000 * CONFIG_S3C2410_LOWLEVEL_UART_PORT
|
add \rb, \rb, #0x4000 * CONFIG_S3C2410_LOWLEVEL_UART_PORT
|
||||||
.endm
|
.endm
|
||||||
.macro writeb, rb
|
|
||||||
strb \rb, [r3, #0x20]
|
|
||||||
.endm
|
|
||||||
#else
|
#else
|
||||||
#error no serial architecture defined
|
#error no serial architecture defined
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
.macro kputc,val
|
.macro kputc,val
|
||||||
@@ -734,7 +673,7 @@ puts: loadsp r3
|
|||||||
1: ldrb r2, [r0], #1
|
1: ldrb r2, [r0], #1
|
||||||
teq r2, #0
|
teq r2, #0
|
||||||
moveq pc, lr
|
moveq pc, lr
|
||||||
2: writeb r2
|
2: writeb r2, r3
|
||||||
mov r1, #0x00020000
|
mov r1, #0x00020000
|
||||||
3: subs r1, r1, #1
|
3: subs r1, r1, #1
|
||||||
bne 3b
|
bne 3b
|
||||||
|
@@ -26,6 +26,7 @@
|
|||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
#include <asm/arch/imxfb.h>
|
||||||
#include <asm/hardware.h>
|
#include <asm/hardware.h>
|
||||||
|
|
||||||
#include <asm/mach/map.h>
|
#include <asm/mach/map.h>
|
||||||
@@ -228,6 +229,14 @@ static struct platform_device imx_uart2_device = {
|
|||||||
.resource = imx_uart2_resources,
|
.resource = imx_uart2_resources,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct imxfb_mach_info imx_fb_info;
|
||||||
|
|
||||||
|
void __init set_imx_fb_info(struct imxfb_mach_info *hard_imx_fb_info)
|
||||||
|
{
|
||||||
|
memcpy(&imx_fb_info,hard_imx_fb_info,sizeof(struct imxfb_mach_info));
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(set_imx_fb_info);
|
||||||
|
|
||||||
static struct resource imxfb_resources[] = {
|
static struct resource imxfb_resources[] = {
|
||||||
[0] = {
|
[0] = {
|
||||||
.start = 0x00205000,
|
.start = 0x00205000,
|
||||||
@@ -241,9 +250,16 @@ static struct resource imxfb_resources[] = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static u64 fb_dma_mask = ~(u64)0;
|
||||||
|
|
||||||
static struct platform_device imxfb_device = {
|
static struct platform_device imxfb_device = {
|
||||||
.name = "imx-fb",
|
.name = "imx-fb",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
|
.dev = {
|
||||||
|
.platform_data = &imx_fb_info,
|
||||||
|
.dma_mask = &fb_dma_mask,
|
||||||
|
.coherent_dma_mask = 0xffffffff,
|
||||||
|
},
|
||||||
.num_resources = ARRAY_SIZE(imxfb_resources),
|
.num_resources = ARRAY_SIZE(imxfb_resources),
|
||||||
.resource = imxfb_resources,
|
.resource = imxfb_resources,
|
||||||
};
|
};
|
||||||
|
@@ -216,7 +216,9 @@ integrator_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
|
|||||||
|
|
||||||
write_seqlock(&xtime_lock);
|
write_seqlock(&xtime_lock);
|
||||||
|
|
||||||
// ...clear the interrupt
|
/*
|
||||||
|
* clear the interrupt
|
||||||
|
*/
|
||||||
timer1->TimerClear = 1;
|
timer1->TimerClear = 1;
|
||||||
|
|
||||||
timer_tick(regs);
|
timer_tick(regs);
|
||||||
@@ -264,7 +266,7 @@ void __init integrator_time_init(unsigned long reload, unsigned int ctrl)
|
|||||||
timer1->TimerValue = timer_reload;
|
timer1->TimerValue = timer_reload;
|
||||||
timer1->TimerControl = timer_ctrl;
|
timer1->TimerControl = timer_ctrl;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Make irqs happen for the system timer
|
* Make irqs happen for the system timer
|
||||||
*/
|
*/
|
||||||
setup_irq(IRQ_TIMERINT1, &integrator_timer_irq);
|
setup_irq(IRQ_TIMERINT1, &integrator_timer_irq);
|
||||||
|
@@ -37,7 +37,7 @@ static void integrator_leds_event(led_event_t ledevt)
|
|||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
const unsigned int dbg_base = IO_ADDRESS(INTEGRATOR_DBG_BASE);
|
const unsigned int dbg_base = IO_ADDRESS(INTEGRATOR_DBG_BASE);
|
||||||
unsigned int update_alpha_leds;
|
unsigned int update_alpha_leds;
|
||||||
|
|
||||||
// yup, change the LEDs
|
// yup, change the LEDs
|
||||||
local_irq_save(flags);
|
local_irq_save(flags);
|
||||||
update_alpha_leds = 0;
|
update_alpha_leds = 0;
|
||||||
|
@@ -413,6 +413,7 @@ config CPU_BPREDICT_DISABLE
|
|||||||
config HAS_TLS_REG
|
config HAS_TLS_REG
|
||||||
bool
|
bool
|
||||||
depends on CPU_32v6 && !CPU_32v5 && !CPU_32v4 && !CPU_32v3
|
depends on CPU_32v6 && !CPU_32v5 && !CPU_32v4 && !CPU_32v3
|
||||||
|
default y
|
||||||
help
|
help
|
||||||
This selects support for the CP15 thread register.
|
This selects support for the CP15 thread register.
|
||||||
It is defined to be available on ARMv6 or later. However
|
It is defined to be available on ARMv6 or later. However
|
||||||
|
@@ -90,6 +90,8 @@ struct cfb_info {
|
|||||||
*/
|
*/
|
||||||
u_char ramdac_ctrl;
|
u_char ramdac_ctrl;
|
||||||
u_char ramdac_powerdown;
|
u_char ramdac_powerdown;
|
||||||
|
|
||||||
|
u32 pseudo_palette[16];
|
||||||
};
|
};
|
||||||
|
|
||||||
static char *default_font = "Acorn8x8";
|
static char *default_font = "Acorn8x8";
|
||||||
@@ -1223,9 +1225,7 @@ cyberpro_alloc_fb_info(unsigned int id, char *name)
|
|||||||
{
|
{
|
||||||
struct cfb_info *cfb;
|
struct cfb_info *cfb;
|
||||||
|
|
||||||
cfb = kmalloc(sizeof(struct cfb_info) +
|
cfb = kmalloc(sizeof(struct cfb_info), GFP_KERNEL);
|
||||||
sizeof(u32) * 16, GFP_KERNEL);
|
|
||||||
|
|
||||||
if (!cfb)
|
if (!cfb)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
@@ -1281,7 +1281,7 @@ cyberpro_alloc_fb_info(unsigned int id, char *name)
|
|||||||
|
|
||||||
cfb->fb.fbops = &cyber2000fb_ops;
|
cfb->fb.fbops = &cyber2000fb_ops;
|
||||||
cfb->fb.flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;
|
cfb->fb.flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;
|
||||||
cfb->fb.pseudo_palette = (void *)(cfb + 1);
|
cfb->fb.pseudo_palette = cfb->pseudo_palette;
|
||||||
|
|
||||||
fb_alloc_cmap(&cfb->fb.cmap, NR_PALETTE, 0);
|
fb_alloc_cmap(&cfb->fb.cmap, NR_PALETTE, 0);
|
||||||
|
|
||||||
|
@@ -1,15 +1,4 @@
|
|||||||
/*
|
/*
|
||||||
* linux/include/asm-arm/arch-cl7500/vmalloc.h
|
* linux/include/asm-arm/arch-cl7500/vmalloc.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
* Just any arbitrary offset to the start of the vmalloc VM area: the
|
|
||||||
* current 8MB value just means that there will be a 8MB "hole" after the
|
|
||||||
* physical memory until the kernel virtual memory starts. That means that
|
|
||||||
* any out-of-bounds memory accesses will hopefully be caught.
|
|
||||||
* The vmalloc() routines leaves a hole of 4kB between each vmalloced
|
|
||||||
* area for the same reason. ;)
|
|
||||||
*/
|
|
||||||
#define VMALLOC_OFFSET (8*1024*1024)
|
|
||||||
#define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
|
|
||||||
#define VMALLOC_END (PAGE_OFFSET + 0x1c000000)
|
#define VMALLOC_END (PAGE_OFFSET + 0x1c000000)
|
||||||
|
@@ -17,15 +17,4 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
* Just any arbitrary offset to the start of the vmalloc VM area: the
|
|
||||||
* current 8MB value just means that there will be a 8MB "hole" after the
|
|
||||||
* physical memory until the kernel virtual memory starts. That means that
|
|
||||||
* any out-of-bounds memory accesses will hopefully be caught.
|
|
||||||
* The vmalloc() routines leaves a hole of 4kB between each vmalloced
|
|
||||||
* area for the same reason. ;)
|
|
||||||
*/
|
|
||||||
#define VMALLOC_OFFSET (8*1024*1024)
|
|
||||||
#define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
|
|
||||||
#define VMALLOC_END (PAGE_OFFSET + 0x10000000)
|
#define VMALLOC_END (PAGE_OFFSET + 0x10000000)
|
||||||
|
@@ -7,15 +7,4 @@
|
|||||||
* it under the terms of the GNU General Public License version 2 as
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
* published by the Free Software Foundation.
|
* published by the Free Software Foundation.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
* Just any arbitrary offset to the start of the vmalloc VM area: the
|
|
||||||
* current 8MB value just means that there will be a 8MB "hole" after the
|
|
||||||
* physical memory until the kernel virtual memory starts. That means that
|
|
||||||
* any out-of-bounds memory accesses will hopefully be caught.
|
|
||||||
* The vmalloc() routines leaves a hole of 4kB between each vmalloced
|
|
||||||
* area for the same reason. ;)
|
|
||||||
*/
|
|
||||||
#define VMALLOC_OFFSET (8*1024*1024)
|
|
||||||
#define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
|
|
||||||
#define VMALLOC_END (PAGE_OFFSET + 0x1f000000)
|
#define VMALLOC_END (PAGE_OFFSET + 0x1f000000)
|
||||||
|
@@ -8,17 +8,6 @@
|
|||||||
|
|
||||||
#include <linux/config.h>
|
#include <linux/config.h>
|
||||||
|
|
||||||
/*
|
|
||||||
* Just any arbitrary offset to the start of the vmalloc VM area: the
|
|
||||||
* current 8MB value just means that there will be a 8MB "hole" after the
|
|
||||||
* physical memory until the kernel virtual memory starts. That means that
|
|
||||||
* any out-of-bounds memory accesses will hopefully be caught.
|
|
||||||
* The vmalloc() routines leaves a hole of 4kB between each vmalloced
|
|
||||||
* area for the same reason. ;)
|
|
||||||
*/
|
|
||||||
#define VMALLOC_OFFSET (8*1024*1024)
|
|
||||||
#define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
|
|
||||||
|
|
||||||
#ifdef CONFIG_ARCH_FOOTBRIDGE
|
#ifdef CONFIG_ARCH_FOOTBRIDGE
|
||||||
#define VMALLOC_END (PAGE_OFFSET + 0x30000000)
|
#define VMALLOC_END (PAGE_OFFSET + 0x30000000)
|
||||||
#else
|
#else
|
||||||
|
@@ -17,15 +17,4 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
* Just any arbitrary offset to the start of the vmalloc VM area: the
|
|
||||||
* current 8MB value just means that there will be a 8MB "hole" after the
|
|
||||||
* physical memory until the kernel virtual memory starts. That means that
|
|
||||||
* any out-of-bounds memory accesses will hopefully be caught.
|
|
||||||
* The vmalloc() routines leaves a hole of 4kB between each vmalloced
|
|
||||||
* area for the same reason. ;)
|
|
||||||
*/
|
|
||||||
#define VMALLOC_OFFSET (8*1024*1024)
|
|
||||||
#define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
|
|
||||||
#define VMALLOC_END (PAGE_OFFSET + 0x10000000)
|
#define VMALLOC_END (PAGE_OFFSET + 0x10000000)
|
||||||
|
@@ -5,17 +5,6 @@
|
|||||||
#ifndef __ARCH_ARM_VMALLOC_H
|
#ifndef __ARCH_ARM_VMALLOC_H
|
||||||
#define __ARCH_ARM_VMALLOC_H
|
#define __ARCH_ARM_VMALLOC_H
|
||||||
|
|
||||||
/*
|
|
||||||
* Just any arbitrary offset to the start of the vmalloc VM area: the
|
|
||||||
* current 8MB value just means that there will be a 8MB "hole" after the
|
|
||||||
* physical memory until the kernel virtual memory starts. That means that
|
|
||||||
* any out-of-bounds memory accesses will hopefully be caught.
|
|
||||||
* The vmalloc() routines leaves a hole of 4kB between each vmalloced
|
|
||||||
* area for the same reason. ;)
|
|
||||||
*/
|
|
||||||
#define VMALLOC_OFFSET (8*1024*1024)
|
|
||||||
#define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
|
|
||||||
#define VMALLOC_VMADDR(x) ((unsigned long)(x))
|
|
||||||
#define VMALLOC_END (PAGE_OFFSET + 0x10000000)
|
#define VMALLOC_END (PAGE_OFFSET + 0x10000000)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -17,16 +17,4 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
* Just any arbitrary offset to the start of the vmalloc VM area: the
|
|
||||||
* current 8MB value just means that there will be a 8MB "hole" after the
|
|
||||||
* physical memory until the kernel virtual memory starts. That means that
|
|
||||||
* any out-of-bounds memory accesses will hopefully be caught.
|
|
||||||
* The vmalloc() routines leaves a hole of 4kB between each vmalloced
|
|
||||||
* area for the same reason. ;)
|
|
||||||
*/
|
|
||||||
#define VMALLOC_OFFSET (8*1024*1024)
|
|
||||||
#define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
|
|
||||||
#define VMALLOC_VMADDR(x) ((unsigned long)(x))
|
|
||||||
#define VMALLOC_END (PAGE_OFFSET + 0x10000000)
|
#define VMALLOC_END (PAGE_OFFSET + 0x10000000)
|
||||||
|
@@ -20,14 +20,14 @@
|
|||||||
* * Copyright <20> ARM Limited 1998. All rights reserved.
|
* * Copyright <20> ARM Limited 1998. All rights reserved.
|
||||||
* ***********************************************************************/
|
* ***********************************************************************/
|
||||||
/* ************************************************************************
|
/* ************************************************************************
|
||||||
*
|
*
|
||||||
* Integrator address map
|
* Integrator address map
|
||||||
*
|
*
|
||||||
* NOTE: This is a multi-hosted header file for use with uHAL and
|
* NOTE: This is a multi-hosted header file for use with uHAL and
|
||||||
* supported debuggers.
|
* supported debuggers.
|
||||||
*
|
*
|
||||||
* $Id: platform.s,v 1.32 2000/02/18 10:51:39 asims Exp $
|
* $Id: platform.s,v 1.32 2000/02/18 10:51:39 asims Exp $
|
||||||
*
|
*
|
||||||
* ***********************************************************************/
|
* ***********************************************************************/
|
||||||
|
|
||||||
#ifndef __address_h
|
#ifndef __address_h
|
||||||
@@ -40,22 +40,22 @@
|
|||||||
* Memory definitions
|
* Memory definitions
|
||||||
* ------------------------------------------------------------------------
|
* ------------------------------------------------------------------------
|
||||||
* Integrator memory map
|
* Integrator memory map
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#define INTEGRATOR_BOOT_ROM_LO 0x00000000
|
#define INTEGRATOR_BOOT_ROM_LO 0x00000000
|
||||||
#define INTEGRATOR_BOOT_ROM_HI 0x20000000
|
#define INTEGRATOR_BOOT_ROM_HI 0x20000000
|
||||||
#define INTEGRATOR_BOOT_ROM_BASE INTEGRATOR_BOOT_ROM_HI /* Normal position */
|
#define INTEGRATOR_BOOT_ROM_BASE INTEGRATOR_BOOT_ROM_HI /* Normal position */
|
||||||
#define INTEGRATOR_BOOT_ROM_SIZE SZ_512K
|
#define INTEGRATOR_BOOT_ROM_SIZE SZ_512K
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* New Core Modules have different amounts of SSRAM, the amount of SSRAM
|
* New Core Modules have different amounts of SSRAM, the amount of SSRAM
|
||||||
* fitted can be found in HDR_STAT.
|
* fitted can be found in HDR_STAT.
|
||||||
*
|
*
|
||||||
* The symbol INTEGRATOR_SSRAM_SIZE is kept, however this now refers to
|
* The symbol INTEGRATOR_SSRAM_SIZE is kept, however this now refers to
|
||||||
* the minimum amount of SSRAM fitted on any core module.
|
* the minimum amount of SSRAM fitted on any core module.
|
||||||
*
|
*
|
||||||
* New Core Modules also alias the SSRAM.
|
* New Core Modules also alias the SSRAM.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#define INTEGRATOR_SSRAM_BASE 0x00000000
|
#define INTEGRATOR_SSRAM_BASE 0x00000000
|
||||||
#define INTEGRATOR_SSRAM_ALIAS_BASE 0x10800000
|
#define INTEGRATOR_SSRAM_ALIAS_BASE 0x10800000
|
||||||
@@ -67,9 +67,9 @@
|
|||||||
#define INTEGRATOR_MBRD_SSRAM_BASE 0x28000000
|
#define INTEGRATOR_MBRD_SSRAM_BASE 0x28000000
|
||||||
#define INTEGRATOR_MBRD_SSRAM_SIZE SZ_512K
|
#define INTEGRATOR_MBRD_SSRAM_SIZE SZ_512K
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* SDRAM is a SIMM therefore the size is not known.
|
* SDRAM is a SIMM therefore the size is not known.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#define INTEGRATOR_SDRAM_BASE 0x00040000
|
#define INTEGRATOR_SDRAM_BASE 0x00040000
|
||||||
|
|
||||||
@@ -79,9 +79,9 @@
|
|||||||
#define INTEGRATOR_HDR2_SDRAM_BASE 0xA0000000
|
#define INTEGRATOR_HDR2_SDRAM_BASE 0xA0000000
|
||||||
#define INTEGRATOR_HDR3_SDRAM_BASE 0xB0000000
|
#define INTEGRATOR_HDR3_SDRAM_BASE 0xB0000000
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Logic expansion modules
|
* Logic expansion modules
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#define INTEGRATOR_LOGIC_MODULES_BASE 0xC0000000
|
#define INTEGRATOR_LOGIC_MODULES_BASE 0xC0000000
|
||||||
#define INTEGRATOR_LOGIC_MODULE0_BASE 0xC0000000
|
#define INTEGRATOR_LOGIC_MODULE0_BASE 0xC0000000
|
||||||
@@ -92,7 +92,7 @@
|
|||||||
/* ------------------------------------------------------------------------
|
/* ------------------------------------------------------------------------
|
||||||
* Integrator header card registers
|
* Integrator header card registers
|
||||||
* ------------------------------------------------------------------------
|
* ------------------------------------------------------------------------
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#define INTEGRATOR_HDR_ID_OFFSET 0x00
|
#define INTEGRATOR_HDR_ID_OFFSET 0x00
|
||||||
#define INTEGRATOR_HDR_PROC_OFFSET 0x04
|
#define INTEGRATOR_HDR_PROC_OFFSET 0x04
|
||||||
@@ -185,12 +185,12 @@
|
|||||||
/* ------------------------------------------------------------------------
|
/* ------------------------------------------------------------------------
|
||||||
* Integrator system registers
|
* Integrator system registers
|
||||||
* ------------------------------------------------------------------------
|
* ------------------------------------------------------------------------
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* System Controller
|
* System Controller
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#define INTEGRATOR_SC_ID_OFFSET 0x00
|
#define INTEGRATOR_SC_ID_OFFSET 0x00
|
||||||
#define INTEGRATOR_SC_OSC_OFFSET 0x04
|
#define INTEGRATOR_SC_OSC_OFFSET 0x04
|
||||||
@@ -230,11 +230,11 @@
|
|||||||
#define INTEGRATOR_SC_CTRL_URTS1 (1 << 6)
|
#define INTEGRATOR_SC_CTRL_URTS1 (1 << 6)
|
||||||
#define INTEGRATOR_SC_CTRL_UDTR1 (1 << 7)
|
#define INTEGRATOR_SC_CTRL_UDTR1 (1 << 7)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* External Bus Interface
|
* External Bus Interface
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#define INTEGRATOR_EBI_BASE 0x12000000
|
#define INTEGRATOR_EBI_BASE 0x12000000
|
||||||
|
|
||||||
#define INTEGRATOR_EBI_CSR0_OFFSET 0x00
|
#define INTEGRATOR_EBI_CSR0_OFFSET 0x00
|
||||||
#define INTEGRATOR_EBI_CSR1_OFFSET 0x04
|
#define INTEGRATOR_EBI_CSR1_OFFSET 0x04
|
||||||
@@ -279,9 +279,9 @@
|
|||||||
#define INTEGRATOR_KBD_BASE 0x18000000 /* Keyboard */
|
#define INTEGRATOR_KBD_BASE 0x18000000 /* Keyboard */
|
||||||
#define INTEGRATOR_MOUSE_BASE 0x19000000 /* Mouse */
|
#define INTEGRATOR_MOUSE_BASE 0x19000000 /* Mouse */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* LED's & Switches
|
* LED's & Switches
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#define INTEGRATOR_DBG_ALPHA_OFFSET 0x00
|
#define INTEGRATOR_DBG_ALPHA_OFFSET 0x00
|
||||||
#define INTEGRATOR_DBG_LEDS_OFFSET 0x04
|
#define INTEGRATOR_DBG_LEDS_OFFSET 0x04
|
||||||
@@ -300,7 +300,7 @@
|
|||||||
* ------------------------------------------------------------------------
|
* ------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
/* PS2 Keyboard interface */
|
/* PS2 Keyboard interface */
|
||||||
#define KMI0_BASE INTEGRATOR_KBD_BASE
|
#define KMI0_BASE INTEGRATOR_KBD_BASE
|
||||||
|
|
||||||
/* PS2 Mouse interface */
|
/* PS2 Mouse interface */
|
||||||
#define KMI1_BASE INTEGRATOR_MOUSE_BASE
|
#define KMI1_BASE INTEGRATOR_MOUSE_BASE
|
||||||
@@ -313,7 +313,7 @@
|
|||||||
* This represents a fairly liberal usage of address space. Even though
|
* This represents a fairly liberal usage of address space. Even though
|
||||||
* the V3 only has two windows (therefore we need to map stuff on the fly),
|
* the V3 only has two windows (therefore we need to map stuff on the fly),
|
||||||
* we maintain the same addresses, even if they're not mapped.
|
* we maintain the same addresses, even if they're not mapped.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#define PHYS_PCI_MEM_BASE 0x40000000 /* 512M to xxx */
|
#define PHYS_PCI_MEM_BASE 0x40000000 /* 512M to xxx */
|
||||||
/* unused 256M from A0000000-AFFFFFFF might be used for I2O ???
|
/* unused 256M from A0000000-AFFFFFFF might be used for I2O ???
|
||||||
@@ -326,7 +326,7 @@
|
|||||||
*/
|
*/
|
||||||
#define PHYS_PCI_V3_BASE 0x62000000
|
#define PHYS_PCI_V3_BASE 0x62000000
|
||||||
|
|
||||||
#define PCI_DRAMSIZE INTEGRATOR_SSRAM_SIZE
|
#define PCI_DRAMSIZE INTEGRATOR_SSRAM_SIZE
|
||||||
|
|
||||||
/* 'export' these to UHAL */
|
/* 'export' these to UHAL */
|
||||||
#define UHAL_PCI_IO PCI_IO_BASE
|
#define UHAL_PCI_IO PCI_IO_BASE
|
||||||
@@ -334,7 +334,7 @@
|
|||||||
#define UHAL_PCI_ALLOC_IO_BASE 0x00004000
|
#define UHAL_PCI_ALLOC_IO_BASE 0x00004000
|
||||||
#define UHAL_PCI_ALLOC_MEM_BASE PCI_MEM_BASE
|
#define UHAL_PCI_ALLOC_MEM_BASE PCI_MEM_BASE
|
||||||
#define UHAL_PCI_MAX_SLOT 20
|
#define UHAL_PCI_MAX_SLOT 20
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Start of uHAL definitions
|
* Start of uHAL definitions
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
@@ -343,17 +343,17 @@
|
|||||||
/* ------------------------------------------------------------------------
|
/* ------------------------------------------------------------------------
|
||||||
* Integrator Interrupt Controllers
|
* Integrator Interrupt Controllers
|
||||||
* ------------------------------------------------------------------------
|
* ------------------------------------------------------------------------
|
||||||
*
|
*
|
||||||
* Offsets from interrupt controller base
|
* Offsets from interrupt controller base
|
||||||
*
|
*
|
||||||
* System Controller interrupt controller base is
|
* System Controller interrupt controller base is
|
||||||
*
|
*
|
||||||
* INTEGRATOR_IC_BASE + (header_number << 6)
|
* INTEGRATOR_IC_BASE + (header_number << 6)
|
||||||
*
|
*
|
||||||
* Core Module interrupt controller base is
|
* Core Module interrupt controller base is
|
||||||
*
|
*
|
||||||
* INTEGRATOR_HDR_IC
|
* INTEGRATOR_HDR_IC
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#define IRQ_STATUS 0
|
#define IRQ_STATUS 0
|
||||||
#define IRQ_RAW_STATUS 0x04
|
#define IRQ_RAW_STATUS 0x04
|
||||||
@@ -374,22 +374,22 @@
|
|||||||
/* ------------------------------------------------------------------------
|
/* ------------------------------------------------------------------------
|
||||||
* Interrupts
|
* Interrupts
|
||||||
* ------------------------------------------------------------------------
|
* ------------------------------------------------------------------------
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* Each Core Module has two interrupts controllers, one on the core module
|
* Each Core Module has two interrupts controllers, one on the core module
|
||||||
* itself and one in the system controller on the motherboard. The
|
* itself and one in the system controller on the motherboard. The
|
||||||
* READ_INT macro in target.s reads both interrupt controllers and returns
|
* READ_INT macro in target.s reads both interrupt controllers and returns
|
||||||
* a 32 bit bitmask, bits 0 to 23 are interrupts from the system controller
|
* a 32 bit bitmask, bits 0 to 23 are interrupts from the system controller
|
||||||
* and bits 24 to 31 are from the core module.
|
* and bits 24 to 31 are from the core module.
|
||||||
*
|
*
|
||||||
* The following definitions relate to the bitmask returned by READ_INT.
|
* The following definitions relate to the bitmask returned by READ_INT.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* ------------------------------------------------------------------------
|
/* ------------------------------------------------------------------------
|
||||||
* LED's - The header LED is not accessible via the uHAL API
|
* LED's - The header LED is not accessible via the uHAL API
|
||||||
* ------------------------------------------------------------------------
|
* ------------------------------------------------------------------------
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#define GREEN_LED 0x01
|
#define GREEN_LED 0x01
|
||||||
#define YELLOW_LED 0x02
|
#define YELLOW_LED 0x02
|
||||||
@@ -399,44 +399,44 @@
|
|||||||
|
|
||||||
#define LED_BANK INTEGRATOR_DBG_LEDS
|
#define LED_BANK INTEGRATOR_DBG_LEDS
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Memory definitions - run uHAL out of SSRAM.
|
* Memory definitions - run uHAL out of SSRAM.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#define uHAL_MEMORY_SIZE INTEGRATOR_SSRAM_SIZE
|
#define uHAL_MEMORY_SIZE INTEGRATOR_SSRAM_SIZE
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Application Flash
|
* Application Flash
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#define FLASH_BASE INTEGRATOR_FLASH_BASE
|
#define FLASH_BASE INTEGRATOR_FLASH_BASE
|
||||||
#define FLASH_SIZE INTEGRATOR_FLASH_SIZE
|
#define FLASH_SIZE INTEGRATOR_FLASH_SIZE
|
||||||
#define FLASH_END (FLASH_BASE + FLASH_SIZE - 1)
|
#define FLASH_END (FLASH_BASE + FLASH_SIZE - 1)
|
||||||
#define FLASH_BLOCK_SIZE SZ_128K
|
#define FLASH_BLOCK_SIZE SZ_128K
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Boot Flash
|
* Boot Flash
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#define EPROM_BASE INTEGRATOR_BOOT_ROM_HI
|
#define EPROM_BASE INTEGRATOR_BOOT_ROM_HI
|
||||||
#define EPROM_SIZE INTEGRATOR_BOOT_ROM_SIZE
|
#define EPROM_SIZE INTEGRATOR_BOOT_ROM_SIZE
|
||||||
#define EPROM_END (EPROM_BASE + EPROM_SIZE - 1)
|
#define EPROM_END (EPROM_BASE + EPROM_SIZE - 1)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Clean base - dummy
|
* Clean base - dummy
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#define CLEAN_BASE EPROM_BASE
|
#define CLEAN_BASE EPROM_BASE
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Timer definitions
|
* Timer definitions
|
||||||
*
|
*
|
||||||
* Only use timer 1 & 2
|
* Only use timer 1 & 2
|
||||||
* (both run at 24MHz and will need the clock divider set to 16).
|
* (both run at 24MHz and will need the clock divider set to 16).
|
||||||
*
|
*
|
||||||
* Timer 0 runs at bus frequency and therefore could vary and currently
|
* Timer 0 runs at bus frequency and therefore could vary and currently
|
||||||
* uHAL can't handle that.
|
* uHAL can't handle that.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define INTEGRATOR_TIMER0_BASE INTEGRATOR_CT_BASE
|
#define INTEGRATOR_TIMER0_BASE INTEGRATOR_CT_BASE
|
||||||
@@ -447,9 +447,9 @@
|
|||||||
#define MAX_PERIOD 699050
|
#define MAX_PERIOD 699050
|
||||||
#define TICKS_PER_uSEC 24
|
#define TICKS_PER_uSEC 24
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These are useconds NOT ticks.
|
* These are useconds NOT ticks.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#define mSEC_1 1000
|
#define mSEC_1 1000
|
||||||
#define mSEC_5 (mSEC_1 * 5)
|
#define mSEC_5 (mSEC_1 * 5)
|
||||||
|
@@ -17,15 +17,4 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
* Just any arbitrary offset to the start of the vmalloc VM area: the
|
|
||||||
* current 8MB value just means that there will be a 8MB "hole" after the
|
|
||||||
* physical memory until the kernel virtual memory starts. That means that
|
|
||||||
* any out-of-bounds memory accesses will hopefully be caught.
|
|
||||||
* The vmalloc() routines leaves a hole of 4kB between each vmalloced
|
|
||||||
* area for the same reason. ;)
|
|
||||||
*/
|
|
||||||
#define VMALLOC_OFFSET (8*1024*1024)
|
|
||||||
#define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
|
|
||||||
#define VMALLOC_END (PAGE_OFFSET + 0x10000000)
|
#define VMALLOC_END (PAGE_OFFSET + 0x10000000)
|
||||||
|
@@ -10,9 +10,6 @@
|
|||||||
* The vmalloc() routines leaves a hole of 4kB between each vmalloced
|
* The vmalloc() routines leaves a hole of 4kB between each vmalloced
|
||||||
* area for the same reason. ;)
|
* area for the same reason. ;)
|
||||||
*/
|
*/
|
||||||
#define VMALLOC_OFFSET (8*1024*1024)
|
|
||||||
#define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
|
|
||||||
#define VMALLOC_VMADDR(x) ((unsigned long)(x))
|
|
||||||
//#define VMALLOC_END (0xe8000000)
|
//#define VMALLOC_END (0xe8000000)
|
||||||
/* increase usable physical RAM to ~992M per RMK */
|
/* increase usable physical RAM to ~992M per RMK */
|
||||||
#define VMALLOC_END (0xfe000000)
|
#define VMALLOC_END (0xfe000000)
|
||||||
|
@@ -17,7 +17,4 @@
|
|||||||
* The vmalloc() routines leaves a hole of 4kB between each vmalloced
|
* The vmalloc() routines leaves a hole of 4kB between each vmalloced
|
||||||
* area for the same reason. ;)
|
* area for the same reason. ;)
|
||||||
*/
|
*/
|
||||||
#define VMALLOC_OFFSET (8*1024*1024)
|
|
||||||
#define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
|
|
||||||
#define VMALLOC_VMADDR(x) ((unsigned long)(x))
|
|
||||||
#define VMALLOC_END 0xfaffefff
|
#define VMALLOC_END 0xfaffefff
|
||||||
|
@@ -1,17 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* linux/include/asm-arm/arch-ixp4xx/vmalloc.h
|
* linux/include/asm-arm/arch-ixp4xx/vmalloc.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
* Just any arbitrary offset to the start of the vmalloc VM area: the
|
|
||||||
* current 8MB value just means that there will be a 8MB "hole" after the
|
|
||||||
* physical memory until the kernel virtual memory starts. That means that
|
|
||||||
* any out-of-bounds memory accesses will hopefully be caught.
|
|
||||||
* The vmalloc() routines leaves a hole of 4kB between each vmalloced
|
|
||||||
* area for the same reason. ;)
|
|
||||||
*/
|
|
||||||
#define VMALLOC_OFFSET (8*1024*1024)
|
|
||||||
#define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
|
|
||||||
#define VMALLOC_VMADDR(x) ((unsigned long)(x))
|
|
||||||
#define VMALLOC_END (0xFF000000)
|
#define VMALLOC_END (0xFF000000)
|
||||||
|
|
||||||
|
@@ -1,15 +1,4 @@
|
|||||||
/*
|
/*
|
||||||
* linux/include/asm-arm/arch-l7200/vmalloc.h
|
* linux/include/asm-arm/arch-l7200/vmalloc.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
* Just any arbitrary offset to the start of the vmalloc VM area: the
|
|
||||||
* current 8MB value just means that there will be a 8MB "hole" after the
|
|
||||||
* physical memory until the kernel virtual memory starts. That means that
|
|
||||||
* any out-of-bounds memory accesses will hopefully be caught.
|
|
||||||
* The vmalloc() routines leaves a hole of 4kB between each vmalloced
|
|
||||||
* area for the same reason. ;)
|
|
||||||
*/
|
|
||||||
#define VMALLOC_OFFSET (8*1024*1024)
|
|
||||||
#define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
|
|
||||||
#define VMALLOC_END (PAGE_OFFSET + 0x10000000)
|
#define VMALLOC_END (PAGE_OFFSET + 0x10000000)
|
||||||
|
@@ -7,15 +7,4 @@
|
|||||||
* version 2 as published by the Free Software Foundation.
|
* version 2 as published by the Free Software Foundation.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
* Just any arbitrary offset to the start of the vmalloc VM area: the
|
|
||||||
* current 8MB value just means that there will be a 8MB "hole" after
|
|
||||||
* the physical memory until the kernel virtual memory starts. That
|
|
||||||
* means that any out-of-bounds memory accesses will hopefully be
|
|
||||||
* caught. The vmalloc() routines leaves a hole of 4kB (one page)
|
|
||||||
* between each vmalloced area for the same reason. ;)
|
|
||||||
*/
|
|
||||||
#define VMALLOC_OFFSET (8*1024*1024)
|
|
||||||
#define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
|
|
||||||
#define VMALLOC_END (0xe8000000)
|
#define VMALLOC_END (0xe8000000)
|
||||||
|
@@ -17,17 +17,5 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
* Just any arbitrary offset to the start of the vmalloc VM area: the
|
|
||||||
* current 8MB value just means that there will be a 8MB "hole" after the
|
|
||||||
* physical memory until the kernel virtual memory starts. That means that
|
|
||||||
* any out-of-bounds memory accesses will hopefully be caught.
|
|
||||||
* The vmalloc() routines leaves a hole of 4kB between each vmalloced
|
|
||||||
* area for the same reason. ;)
|
|
||||||
*/
|
|
||||||
#define VMALLOC_OFFSET (8*1024*1024)
|
|
||||||
#define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
|
|
||||||
#define VMALLOC_VMADDR(x) ((unsigned long)(x))
|
|
||||||
#define VMALLOC_END (PAGE_OFFSET + 0x10000000)
|
#define VMALLOC_END (PAGE_OFFSET + 0x10000000)
|
||||||
|
|
||||||
|
@@ -8,15 +8,4 @@
|
|||||||
* it under the terms of the GNU General Public License version 2 as
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
* published by the Free Software Foundation.
|
* published by the Free Software Foundation.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
* Just any arbitrary offset to the start of the vmalloc VM area: the
|
|
||||||
* current 8MB value just means that there will be a 8MB "hole" after the
|
|
||||||
* physical memory until the kernel virtual memory starts. That means that
|
|
||||||
* any out-of-bounds memory accesses will hopefully be caught.
|
|
||||||
* The vmalloc() routines leaves a hole of 4kB between each vmalloced
|
|
||||||
* area for the same reason. ;)
|
|
||||||
*/
|
|
||||||
#define VMALLOC_OFFSET (8*1024*1024)
|
|
||||||
#define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
|
|
||||||
#define VMALLOC_END (0xe8000000)
|
#define VMALLOC_END (0xe8000000)
|
||||||
|
@@ -7,15 +7,4 @@
|
|||||||
* it under the terms of the GNU General Public License version 2 as
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
* published by the Free Software Foundation.
|
* published by the Free Software Foundation.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
* Just any arbitrary offset to the start of the vmalloc VM area: the
|
|
||||||
* current 8MB value just means that there will be a 8MB "hole" after the
|
|
||||||
* physical memory until the kernel virtual memory starts. That means that
|
|
||||||
* any out-of-bounds memory accesses will hopefully be caught.
|
|
||||||
* The vmalloc() routines leaves a hole of 4kB between each vmalloced
|
|
||||||
* area for the same reason. ;)
|
|
||||||
*/
|
|
||||||
#define VMALLOC_OFFSET (8*1024*1024)
|
|
||||||
#define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
|
|
||||||
#define VMALLOC_END (PAGE_OFFSET + 0x1c000000)
|
#define VMALLOC_END (PAGE_OFFSET + 0x1c000000)
|
||||||
|
@@ -19,18 +19,6 @@
|
|||||||
#ifndef __ASM_ARCH_VMALLOC_H
|
#ifndef __ASM_ARCH_VMALLOC_H
|
||||||
#define __ASM_ARCH_VMALLOC_H
|
#define __ASM_ARCH_VMALLOC_H
|
||||||
|
|
||||||
/*
|
|
||||||
* Just any arbitrary offset to the start of the vmalloc VM area: the
|
|
||||||
* current 8MB value just means that there will be a 8MB "hole" after the
|
|
||||||
* physical memory until the kernel virtual memory starts. That means that
|
|
||||||
* any out-of-bounds memory accesses will hopefully be caught.
|
|
||||||
* The vmalloc() routines leaves a hole of 4kB between each vmalloced
|
|
||||||
* area for the same reason. ;)
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define VMALLOC_OFFSET (8*1024*1024)
|
|
||||||
#define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
|
|
||||||
#define VMALLOC_VMADDR(x) ((unsigned long)(x))
|
|
||||||
#define VMALLOC_END (0xE0000000)
|
#define VMALLOC_END (0xE0000000)
|
||||||
|
|
||||||
#endif /* __ASM_ARCH_VMALLOC_H */
|
#endif /* __ASM_ARCH_VMALLOC_H */
|
||||||
|
@@ -1,15 +1,4 @@
|
|||||||
/*
|
/*
|
||||||
* linux/include/asm-arm/arch-sa1100/vmalloc.h
|
* linux/include/asm-arm/arch-sa1100/vmalloc.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
* Just any arbitrary offset to the start of the vmalloc VM area: the
|
|
||||||
* current 8MB value just means that there will be a 8MB "hole" after the
|
|
||||||
* physical memory until the kernel virtual memory starts. That means that
|
|
||||||
* any out-of-bounds memory accesses will hopefully be caught.
|
|
||||||
* The vmalloc() routines leaves a hole of 4kB between each vmalloced
|
|
||||||
* area for the same reason. ;)
|
|
||||||
*/
|
|
||||||
#define VMALLOC_OFFSET (8*1024*1024)
|
|
||||||
#define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
|
|
||||||
#define VMALLOC_END (0xe8000000)
|
#define VMALLOC_END (0xe8000000)
|
||||||
|
@@ -1,15 +1,4 @@
|
|||||||
/*
|
/*
|
||||||
* linux/include/asm-arm/arch-rpc/vmalloc.h
|
* linux/include/asm-arm/arch-rpc/vmalloc.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
* Just any arbitrary offset to the start of the vmalloc VM area: the
|
|
||||||
* current 8MB value just means that there will be a 8MB "hole" after the
|
|
||||||
* physical memory until the kernel virtual memory starts. That means that
|
|
||||||
* any out-of-bounds memory accesses will hopefully be caught.
|
|
||||||
* The vmalloc() routines leaves a hole of 4kB between each vmalloced
|
|
||||||
* area for the same reason. ;)
|
|
||||||
*/
|
|
||||||
#define VMALLOC_OFFSET (8*1024*1024)
|
|
||||||
#define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
|
|
||||||
#define VMALLOC_END (PAGE_OFFSET + 0x10000000)
|
#define VMALLOC_END (PAGE_OFFSET + 0x10000000)
|
||||||
|
@@ -18,16 +18,4 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
* Just any arbitrary offset to the start of the vmalloc VM area: the
|
|
||||||
* current 8MB value just means that there will be a 8MB "hole" after the
|
|
||||||
* physical memory until the kernel virtual memory starts. That means that
|
|
||||||
* any out-of-bounds memory accesses will hopefully be caught.
|
|
||||||
* The vmalloc() routines leaves a hole of 4kB between each vmalloced
|
|
||||||
* area for the same reason. ;)
|
|
||||||
*/
|
|
||||||
#define VMALLOC_OFFSET (8*1024*1024)
|
|
||||||
#define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
|
|
||||||
#define VMALLOC_VMADDR(x) ((unsigned long)(x))
|
|
||||||
#define VMALLOC_END (PAGE_OFFSET + 0x18000000)
|
#define VMALLOC_END (PAGE_OFFSET + 0x18000000)
|
||||||
|
@@ -16,6 +16,23 @@
|
|||||||
#include <asm/proc-fns.h>
|
#include <asm/proc-fns.h>
|
||||||
#include <asm/arch/vmalloc.h>
|
#include <asm/arch/vmalloc.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Just any arbitrary offset to the start of the vmalloc VM area: the
|
||||||
|
* current 8MB value just means that there will be a 8MB "hole" after the
|
||||||
|
* physical memory until the kernel virtual memory starts. That means that
|
||||||
|
* any out-of-bounds memory accesses will hopefully be caught.
|
||||||
|
* The vmalloc() routines leaves a hole of 4kB between each vmalloced
|
||||||
|
* area for the same reason. ;)
|
||||||
|
*
|
||||||
|
* Note that platforms may override VMALLOC_START, but they must provide
|
||||||
|
* VMALLOC_END. VMALLOC_END defines the (exclusive) limit of this space,
|
||||||
|
* which may not overlap IO space.
|
||||||
|
*/
|
||||||
|
#ifndef VMALLOC_START
|
||||||
|
#define VMALLOC_OFFSET (8*1024*1024)
|
||||||
|
#define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Hardware-wise, we have a two level page table structure, where the first
|
* Hardware-wise, we have a two level page table structure, where the first
|
||||||
* level has 4096 entries, and the second level has 256 entries. Each entry
|
* level has 4096 entries, and the second level has 256 entries. Each entry
|
||||||
|
Reference in New Issue
Block a user