Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] arch/arm/kernel/dma-isa.c: named initializers [ARM] 3527/1: MPCore Boot Lockup Fix [ARM] arch/arm/kernel/process.c: Fix warning [ARM] 3526/1: ioremap should use vunmap instead of vfree on ARM [ARM] 3524/1: ARM EABI: more 64-bit aligned stack fixes [ARM] 3517/1: move definition of PROC_INFO_SZ from procinfo.h to asm-offsets.h
This commit is contained in:
commit
4fbca5320e
@ -99,6 +99,8 @@ int main(void)
|
|||||||
DEFINE(MACHINFO_NAME, offsetof(struct machine_desc, name));
|
DEFINE(MACHINFO_NAME, offsetof(struct machine_desc, name));
|
||||||
DEFINE(MACHINFO_PHYSIO, offsetof(struct machine_desc, phys_io));
|
DEFINE(MACHINFO_PHYSIO, offsetof(struct machine_desc, phys_io));
|
||||||
DEFINE(MACHINFO_PGOFFIO, offsetof(struct machine_desc, io_pg_offst));
|
DEFINE(MACHINFO_PGOFFIO, offsetof(struct machine_desc, io_pg_offst));
|
||||||
|
BLANK();
|
||||||
|
DEFINE(PROC_INFO_SZ, sizeof(struct proc_info_list));
|
||||||
DEFINE(PROCINFO_INITFUNC, offsetof(struct proc_info_list, __cpu_flush));
|
DEFINE(PROCINFO_INITFUNC, offsetof(struct proc_info_list, __cpu_flush));
|
||||||
DEFINE(PROCINFO_MMUFLAGS, offsetof(struct proc_info_list, __cpu_mmu_flags));
|
DEFINE(PROCINFO_MMUFLAGS, offsetof(struct proc_info_list, __cpu_mmu_flags));
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -143,12 +143,23 @@ static struct dma_ops isa_dma_ops = {
|
|||||||
.residue = isa_get_dma_residue,
|
.residue = isa_get_dma_residue,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct resource dma_resources[] = {
|
static struct resource dma_resources[] = { {
|
||||||
{ "dma1", 0x0000, 0x000f },
|
.name = "dma1",
|
||||||
{ "dma low page", 0x0080, 0x008f },
|
.start = 0x0000,
|
||||||
{ "dma2", 0x00c0, 0x00df },
|
.end = 0x000f
|
||||||
{ "dma high page", 0x0480, 0x048f }
|
}, {
|
||||||
};
|
.name = "dma low page",
|
||||||
|
.start = 0x0080,
|
||||||
|
.end = 0x008f
|
||||||
|
}, {
|
||||||
|
.name = "dma2",
|
||||||
|
.start = 0x00c0,
|
||||||
|
.end = 0x00df
|
||||||
|
}, {
|
||||||
|
.name = "dma high page",
|
||||||
|
.start = 0x0480,
|
||||||
|
.end = 0x048f
|
||||||
|
} };
|
||||||
|
|
||||||
void __init isa_init_dma(dma_t *dma)
|
void __init isa_init_dma(dma_t *dma)
|
||||||
{
|
{
|
||||||
|
@ -311,7 +311,7 @@ void free_thread_info(struct thread_info *thread)
|
|||||||
struct thread_info_list *th = &get_cpu_var(thread_info_list);
|
struct thread_info_list *th = &get_cpu_var(thread_info_list);
|
||||||
if (th->nr < EXTRA_TASK_STRUCT) {
|
if (th->nr < EXTRA_TASK_STRUCT) {
|
||||||
unsigned long *p = (unsigned long *)thread;
|
unsigned long *p = (unsigned long *)thread;
|
||||||
p[0] = th->head;
|
p[0] = (unsigned long)th->head;
|
||||||
th->head = p;
|
th->head = p;
|
||||||
th->nr += 1;
|
th->nr += 1;
|
||||||
put_cpu_var(thread_info_list);
|
put_cpu_var(thread_info_list);
|
||||||
|
@ -122,7 +122,7 @@ ENTRY(c_backtrace)
|
|||||||
#define reg r5
|
#define reg r5
|
||||||
#define stack r6
|
#define stack r6
|
||||||
|
|
||||||
.Ldumpstm: stmfd sp!, {instr, reg, stack, r7, lr}
|
.Ldumpstm: stmfd sp!, {instr, reg, stack, r7, r8, lr}
|
||||||
mov stack, r0
|
mov stack, r0
|
||||||
mov instr, r1
|
mov instr, r1
|
||||||
mov reg, #9
|
mov reg, #9
|
||||||
@ -145,7 +145,7 @@ ENTRY(c_backtrace)
|
|||||||
adrne r0, .Lcr
|
adrne r0, .Lcr
|
||||||
blne printk
|
blne printk
|
||||||
mov r0, stack
|
mov r0, stack
|
||||||
LOADREGS(fd, sp!, {instr, reg, stack, r7, pc})
|
LOADREGS(fd, sp!, {instr, reg, stack, r7, r8, pc})
|
||||||
|
|
||||||
.Lfp: .asciz " r%d = %08X%c"
|
.Lfp: .asciz " r%d = %08X%c"
|
||||||
.Lcr: .asciz "\n"
|
.Lcr: .asciz "\n"
|
||||||
|
@ -189,12 +189,12 @@ ENTRY(__do_div64)
|
|||||||
moveq pc, lr
|
moveq pc, lr
|
||||||
|
|
||||||
@ Division by 0:
|
@ Division by 0:
|
||||||
str lr, [sp, #-4]!
|
str lr, [sp, #-8]!
|
||||||
bl __div0
|
bl __div0
|
||||||
|
|
||||||
@ as wrong as it could be...
|
@ as wrong as it could be...
|
||||||
mov yl, #0
|
mov yl, #0
|
||||||
mov yh, #0
|
mov yh, #0
|
||||||
mov xh, #0
|
mov xh, #0
|
||||||
ldr pc, [sp], #4
|
ldr pc, [sp], #8
|
||||||
|
|
||||||
|
@ -137,8 +137,11 @@ static struct amba_device *amba_devs[] __initdata = {
|
|||||||
static void __init gic_init_irq(void)
|
static void __init gic_init_irq(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_REALVIEW_MPCORE
|
#ifdef CONFIG_REALVIEW_MPCORE
|
||||||
|
unsigned int pldctrl;
|
||||||
writel(0x0000a05f, __io_address(REALVIEW_SYS_LOCK));
|
writel(0x0000a05f, __io_address(REALVIEW_SYS_LOCK));
|
||||||
writel(0x008003c0, __io_address(REALVIEW_SYS_BASE) + 0xd8);
|
pldctrl = readl(__io_address(REALVIEW_SYS_BASE) + 0xd8);
|
||||||
|
pldctrl |= 0x00800000; /* New irq mode */
|
||||||
|
writel(pldctrl, __io_address(REALVIEW_SYS_BASE) + 0xd8);
|
||||||
writel(0x00000000, __io_address(REALVIEW_SYS_LOCK));
|
writel(0x00000000, __io_address(REALVIEW_SYS_LOCK));
|
||||||
#endif
|
#endif
|
||||||
gic_dist_init(__io_address(REALVIEW_GIC_DIST_BASE));
|
gic_dist_init(__io_address(REALVIEW_GIC_DIST_BASE));
|
||||||
|
@ -141,7 +141,7 @@ __ioremap_pfn(unsigned long pfn, unsigned long offset, size_t size,
|
|||||||
return NULL;
|
return NULL;
|
||||||
addr = (unsigned long)area->addr;
|
addr = (unsigned long)area->addr;
|
||||||
if (remap_area_pages(addr, pfn, size, flags)) {
|
if (remap_area_pages(addr, pfn, size, flags)) {
|
||||||
vfree((void *)addr);
|
vunmap((void *)addr);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
return (void __iomem *) (offset + (char *)addr);
|
return (void __iomem *) (offset + (char *)addr);
|
||||||
@ -173,7 +173,7 @@ EXPORT_SYMBOL(__ioremap);
|
|||||||
|
|
||||||
void __iounmap(void __iomem *addr)
|
void __iounmap(void __iomem *addr)
|
||||||
{
|
{
|
||||||
vfree((void *) (PAGE_MASK & (unsigned long) addr));
|
vunmap((void *)(PAGE_MASK & (unsigned long)addr));
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(__iounmap);
|
EXPORT_SYMBOL(__iounmap);
|
||||||
|
|
||||||
|
@ -45,8 +45,6 @@ extern unsigned int elf_hwcap;
|
|||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
|
|
||||||
#define PROC_INFO_SZ 48
|
|
||||||
|
|
||||||
#define HWCAP_SWP 1
|
#define HWCAP_SWP 1
|
||||||
#define HWCAP_HALF 2
|
#define HWCAP_HALF 2
|
||||||
#define HWCAP_THUMB 4
|
#define HWCAP_THUMB 4
|
||||||
|
Loading…
x
Reference in New Issue
Block a user