Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]
Disintegrate asm/system.h for Unicore32. (Compilation successful) The implementation details are not changed, but only splitted. BTW, some codestyles are adjusted. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
This commit is contained in:
parent
bd119c6923
commit
8978bfd228
|
@ -3,7 +3,6 @@ include include/asm-generic/Kbuild.asm
|
||||||
generic-y += atomic.h
|
generic-y += atomic.h
|
||||||
generic-y += auxvec.h
|
generic-y += auxvec.h
|
||||||
generic-y += bitsperlong.h
|
generic-y += bitsperlong.h
|
||||||
generic-y += bug.h
|
|
||||||
generic-y += bugs.h
|
generic-y += bugs.h
|
||||||
generic-y += cputime.h
|
generic-y += cputime.h
|
||||||
generic-y += current.h
|
generic-y += current.h
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
/*
|
||||||
|
* Memory barrier implementations for PKUnity SoC and UniCore ISA
|
||||||
|
*
|
||||||
|
* Copyright (C) 2001-2012 GUAN Xue-tao
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*/
|
||||||
|
#ifndef __UNICORE_BARRIER_H__
|
||||||
|
#define __UNICORE_BARRIER_H__
|
||||||
|
|
||||||
|
#define isb() __asm__ __volatile__ ("" : : : "memory")
|
||||||
|
#define dsb() __asm__ __volatile__ ("" : : : "memory")
|
||||||
|
#define dmb() __asm__ __volatile__ ("" : : : "memory")
|
||||||
|
|
||||||
|
#define mb() barrier()
|
||||||
|
#define rmb() barrier()
|
||||||
|
#define wmb() barrier()
|
||||||
|
#define smp_mb() barrier()
|
||||||
|
#define smp_rmb() barrier()
|
||||||
|
#define smp_wmb() barrier()
|
||||||
|
#define read_barrier_depends() do { } while (0)
|
||||||
|
#define smp_read_barrier_depends() do { } while (0)
|
||||||
|
|
||||||
|
#define set_mb(var, value) do { var = value; smp_mb(); } while (0)
|
||||||
|
|
||||||
|
#endif /* __UNICORE_BARRIER_H__ */
|
|
@ -0,0 +1,27 @@
|
||||||
|
/*
|
||||||
|
* Bug handling for PKUnity SoC and UniCore ISA
|
||||||
|
*
|
||||||
|
* Copyright (C) 2001-2012 GUAN Xue-tao
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*/
|
||||||
|
#ifndef __UNICORE_BUG_H__
|
||||||
|
#define __UNICORE_BUG_H__
|
||||||
|
|
||||||
|
#include <asm-generic/bug.h>
|
||||||
|
|
||||||
|
struct pt_regs;
|
||||||
|
struct siginfo;
|
||||||
|
|
||||||
|
extern void die(const char *msg, struct pt_regs *regs, int err);
|
||||||
|
extern void uc32_notify_die(const char *str, struct pt_regs *regs,
|
||||||
|
struct siginfo *info, unsigned long err, unsigned long trap);
|
||||||
|
|
||||||
|
extern asmlinkage void __backtrace(void);
|
||||||
|
extern asmlinkage void c_backtrace(unsigned long fp, int pmode);
|
||||||
|
|
||||||
|
extern void __show_regs(struct pt_regs *);
|
||||||
|
|
||||||
|
#endif /* __UNICORE_BUG_H__ */
|
|
@ -0,0 +1,61 @@
|
||||||
|
/*
|
||||||
|
* Atomics xchg/cmpxchg for PKUnity SoC and UniCore ISA
|
||||||
|
*
|
||||||
|
* Copyright (C) 2001-2012 GUAN Xue-tao
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*/
|
||||||
|
#ifndef __UNICORE_CMPXCHG_H__
|
||||||
|
#define __UNICORE_CMPXCHG_H__
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Generate a link failure on undefined symbol if the pointer points to a value
|
||||||
|
* of unsupported size.
|
||||||
|
*/
|
||||||
|
extern void __xchg_bad_pointer(void);
|
||||||
|
|
||||||
|
static inline unsigned long __xchg(unsigned long x, volatile void *ptr,
|
||||||
|
int size)
|
||||||
|
{
|
||||||
|
unsigned long ret;
|
||||||
|
|
||||||
|
switch (size) {
|
||||||
|
case 1:
|
||||||
|
asm volatile("swapb %0, %1, [%2]"
|
||||||
|
: "=&r" (ret)
|
||||||
|
: "r" (x), "r" (ptr)
|
||||||
|
: "memory", "cc");
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
asm volatile("swapw %0, %1, [%2]"
|
||||||
|
: "=&r" (ret)
|
||||||
|
: "r" (x), "r" (ptr)
|
||||||
|
: "memory", "cc");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
ret = __xchg_bad_pointer();
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
#define xchg(ptr, x) \
|
||||||
|
((__typeof__(*(ptr)))__xchg((unsigned long)(x), (ptr), sizeof(*(ptr))))
|
||||||
|
|
||||||
|
#include <asm-generic/cmpxchg-local.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* cmpxchg_local and cmpxchg64_local are atomic wrt current CPU. Always make
|
||||||
|
* them available.
|
||||||
|
*/
|
||||||
|
#define cmpxchg_local(ptr, o, n) \
|
||||||
|
((__typeof__(*(ptr)))__cmpxchg_local_generic((ptr), \
|
||||||
|
(unsigned long)(o), (unsigned long)(n), sizeof(*(ptr))))
|
||||||
|
#define cmpxchg64_local(ptr, o, n) \
|
||||||
|
__cmpxchg64_local_generic((ptr), (o), (n))
|
||||||
|
|
||||||
|
#include <asm-generic/cmpxchg.h>
|
||||||
|
|
||||||
|
#endif /* __UNICORE_CMPXCHG_H__ */
|
|
@ -0,0 +1,15 @@
|
||||||
|
/*
|
||||||
|
* Process execution bits for PKUnity SoC and UniCore ISA
|
||||||
|
*
|
||||||
|
* Copyright (C) 2001-2012 GUAN Xue-tao
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*/
|
||||||
|
#ifndef __UNICORE_EXEC_H__
|
||||||
|
#define __UNICORE_EXEC_H__
|
||||||
|
|
||||||
|
#define arch_align_stack(x) (x)
|
||||||
|
|
||||||
|
#endif /* __UNICORE_EXEC_H__ */
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Co-processor register definitions for PKUnity SoC and UniCore ISA
|
||||||
|
*
|
||||||
|
* Copyright (C) 2001-2012 GUAN Xue-tao
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*/
|
||||||
|
#ifndef __UNICORE_HWDEF_COPRO_H__
|
||||||
|
#define __UNICORE_HWDEF_COPRO_H__
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Control Register bits (CP#0 CR1)
|
||||||
|
*/
|
||||||
|
#define CR_M (1 << 0) /* MMU enable */
|
||||||
|
#define CR_A (1 << 1) /* Alignment abort enable */
|
||||||
|
#define CR_D (1 << 2) /* Dcache enable */
|
||||||
|
#define CR_I (1 << 3) /* Icache enable */
|
||||||
|
#define CR_B (1 << 4) /* Dcache write mechanism: write back */
|
||||||
|
#define CR_T (1 << 5) /* Burst enable */
|
||||||
|
#define CR_V (1 << 13) /* Vectors relocated to 0xffff0000 */
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLY__
|
||||||
|
|
||||||
|
#define vectors_high() (cr_alignment & CR_V)
|
||||||
|
|
||||||
|
extern unsigned long cr_no_alignment; /* defined in entry.S */
|
||||||
|
extern unsigned long cr_alignment; /* defined in entry.S */
|
||||||
|
|
||||||
|
static inline unsigned int get_cr(void)
|
||||||
|
{
|
||||||
|
unsigned int val;
|
||||||
|
asm("movc %0, p0.c1, #0" : "=r" (val) : : "cc");
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void set_cr(unsigned int val)
|
||||||
|
{
|
||||||
|
asm volatile("movc p0.c1, %0, #0" : : "r" (val) : "cc");
|
||||||
|
isb();
|
||||||
|
}
|
||||||
|
|
||||||
|
extern void adjust_cr(unsigned long mask, unsigned long set);
|
||||||
|
|
||||||
|
#endif /* __ASSEMBLY__ */
|
||||||
|
|
||||||
|
#endif /* __UNICORE_HWDEF_COPRO_H__ */
|
|
@ -16,7 +16,6 @@
|
||||||
|
|
||||||
#include <asm/byteorder.h>
|
#include <asm/byteorder.h>
|
||||||
#include <asm/memory.h>
|
#include <asm/memory.h>
|
||||||
#include <asm/system.h>
|
|
||||||
|
|
||||||
#define PCI_IOBASE PKUNITY_PCILIO_BASE
|
#define PCI_IOBASE PKUNITY_PCILIO_BASE
|
||||||
#include <asm-generic/io.h>
|
#include <asm-generic/io.h>
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
/*
|
||||||
|
* Task switching for PKUnity SoC and UniCore ISA
|
||||||
|
*
|
||||||
|
* Copyright (C) 2001-2012 GUAN Xue-tao
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*/
|
||||||
|
#ifndef __UNICORE_SWITCH_TO_H__
|
||||||
|
#define __UNICORE_SWITCH_TO_H__
|
||||||
|
|
||||||
|
struct task_struct;
|
||||||
|
struct thread_info;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* switch_to(prev, next) should switch from task `prev' to `next'
|
||||||
|
* `prev' will never be the same as `next'. schedule() itself
|
||||||
|
* contains the memory barrier to tell GCC not to cache `current'.
|
||||||
|
*/
|
||||||
|
extern struct task_struct *__switch_to(struct task_struct *,
|
||||||
|
struct thread_info *, struct thread_info *);
|
||||||
|
|
||||||
|
#define switch_to(prev, next, last) \
|
||||||
|
do { \
|
||||||
|
last = __switch_to(prev, task_thread_info(prev), \
|
||||||
|
task_thread_info(next)); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
|
#endif /* __UNICORE_SWITCH_TO_H__ */
|
|
@ -1,161 +1,5 @@
|
||||||
/*
|
/* FILE TO BE DELETED. DO NOT ADD STUFF HERE! */
|
||||||
* linux/arch/unicore32/include/asm/system.h
|
#include <asm/barrier.h>
|
||||||
*
|
#include <asm/cmpxchg.h>
|
||||||
* Code specific to PKUnity SoC and UniCore ISA
|
#include <asm/exec.h>
|
||||||
*
|
#include <asm/switch_to.h>
|
||||||
* Copyright (C) 2001-2010 GUAN Xue-tao
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License version 2 as
|
|
||||||
* published by the Free Software Foundation.
|
|
||||||
*/
|
|
||||||
#ifndef __UNICORE_SYSTEM_H__
|
|
||||||
#define __UNICORE_SYSTEM_H__
|
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
|
||||||
|
|
||||||
/*
|
|
||||||
* CR1 bits (CP#0 CR1)
|
|
||||||
*/
|
|
||||||
#define CR_M (1 << 0) /* MMU enable */
|
|
||||||
#define CR_A (1 << 1) /* Alignment abort enable */
|
|
||||||
#define CR_D (1 << 2) /* Dcache enable */
|
|
||||||
#define CR_I (1 << 3) /* Icache enable */
|
|
||||||
#define CR_B (1 << 4) /* Dcache write mechanism: write back */
|
|
||||||
#define CR_T (1 << 5) /* Burst enable */
|
|
||||||
#define CR_V (1 << 13) /* Vectors relocated to 0xffff0000 */
|
|
||||||
|
|
||||||
#ifndef __ASSEMBLY__
|
|
||||||
|
|
||||||
#include <linux/linkage.h>
|
|
||||||
#include <linux/irqflags.h>
|
|
||||||
|
|
||||||
struct thread_info;
|
|
||||||
struct task_struct;
|
|
||||||
|
|
||||||
struct pt_regs;
|
|
||||||
|
|
||||||
void die(const char *msg, struct pt_regs *regs, int err);
|
|
||||||
|
|
||||||
struct siginfo;
|
|
||||||
void uc32_notify_die(const char *str, struct pt_regs *regs,
|
|
||||||
struct siginfo *info, unsigned long err, unsigned long trap);
|
|
||||||
|
|
||||||
void hook_fault_code(int nr, int (*fn)(unsigned long, unsigned int,
|
|
||||||
struct pt_regs *),
|
|
||||||
int sig, int code, const char *name);
|
|
||||||
|
|
||||||
#define xchg(ptr, x) \
|
|
||||||
((__typeof__(*(ptr)))__xchg((unsigned long)(x), (ptr), sizeof(*(ptr))))
|
|
||||||
|
|
||||||
extern asmlinkage void __backtrace(void);
|
|
||||||
extern asmlinkage void c_backtrace(unsigned long fp, int pmode);
|
|
||||||
|
|
||||||
struct mm_struct;
|
|
||||||
extern void show_pte(struct mm_struct *mm, unsigned long addr);
|
|
||||||
extern void __show_regs(struct pt_regs *);
|
|
||||||
|
|
||||||
extern int cpu_architecture(void);
|
|
||||||
extern void cpu_init(void);
|
|
||||||
|
|
||||||
#define vectors_high() (cr_alignment & CR_V)
|
|
||||||
|
|
||||||
#define isb() __asm__ __volatile__ ("" : : : "memory")
|
|
||||||
#define dsb() __asm__ __volatile__ ("" : : : "memory")
|
|
||||||
#define dmb() __asm__ __volatile__ ("" : : : "memory")
|
|
||||||
|
|
||||||
#define mb() barrier()
|
|
||||||
#define rmb() barrier()
|
|
||||||
#define wmb() barrier()
|
|
||||||
#define smp_mb() barrier()
|
|
||||||
#define smp_rmb() barrier()
|
|
||||||
#define smp_wmb() barrier()
|
|
||||||
#define read_barrier_depends() do { } while (0)
|
|
||||||
#define smp_read_barrier_depends() do { } while (0)
|
|
||||||
|
|
||||||
#define set_mb(var, value) do { var = value; smp_mb(); } while (0)
|
|
||||||
#define nop() __asm__ __volatile__("mov\tr0,r0\t@ nop\n\t");
|
|
||||||
|
|
||||||
extern unsigned long cr_no_alignment; /* defined in entry-unicore.S */
|
|
||||||
extern unsigned long cr_alignment; /* defined in entry-unicore.S */
|
|
||||||
|
|
||||||
static inline unsigned int get_cr(void)
|
|
||||||
{
|
|
||||||
unsigned int val;
|
|
||||||
asm("movc %0, p0.c1, #0" : "=r" (val) : : "cc");
|
|
||||||
return val;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void set_cr(unsigned int val)
|
|
||||||
{
|
|
||||||
asm volatile("movc p0.c1, %0, #0 @set CR"
|
|
||||||
: : "r" (val) : "cc");
|
|
||||||
isb();
|
|
||||||
}
|
|
||||||
|
|
||||||
extern void adjust_cr(unsigned long mask, unsigned long set);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* switch_to(prev, next) should switch from task `prev' to `next'
|
|
||||||
* `prev' will never be the same as `next'. schedule() itself
|
|
||||||
* contains the memory barrier to tell GCC not to cache `current'.
|
|
||||||
*/
|
|
||||||
extern struct task_struct *__switch_to(struct task_struct *,
|
|
||||||
struct thread_info *, struct thread_info *);
|
|
||||||
extern void panic(const char *fmt, ...);
|
|
||||||
|
|
||||||
#define switch_to(prev, next, last) \
|
|
||||||
do { \
|
|
||||||
last = __switch_to(prev, \
|
|
||||||
task_thread_info(prev), task_thread_info(next)); \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
static inline unsigned long
|
|
||||||
__xchg(unsigned long x, volatile void *ptr, int size)
|
|
||||||
{
|
|
||||||
unsigned long ret;
|
|
||||||
|
|
||||||
switch (size) {
|
|
||||||
case 1:
|
|
||||||
asm volatile("@ __xchg1\n"
|
|
||||||
" swapb %0, %1, [%2]"
|
|
||||||
: "=&r" (ret)
|
|
||||||
: "r" (x), "r" (ptr)
|
|
||||||
: "memory", "cc");
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
asm volatile("@ __xchg4\n"
|
|
||||||
" swapw %0, %1, [%2]"
|
|
||||||
: "=&r" (ret)
|
|
||||||
: "r" (x), "r" (ptr)
|
|
||||||
: "memory", "cc");
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
panic("xchg: bad data size: ptr 0x%p, size %d\n",
|
|
||||||
ptr, size);
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
#include <asm-generic/cmpxchg-local.h>
|
|
||||||
|
|
||||||
/*
|
|
||||||
* cmpxchg_local and cmpxchg64_local are atomic wrt current CPU. Always make
|
|
||||||
* them available.
|
|
||||||
*/
|
|
||||||
#define cmpxchg_local(ptr, o, n) \
|
|
||||||
((__typeof__(*(ptr)))__cmpxchg_local_generic((ptr), \
|
|
||||||
(unsigned long)(o), (unsigned long)(n), sizeof(*(ptr))))
|
|
||||||
#define cmpxchg64_local(ptr, o, n) \
|
|
||||||
__cmpxchg64_local_generic((ptr), (o), (n))
|
|
||||||
|
|
||||||
#include <asm-generic/cmpxchg.h>
|
|
||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
|
||||||
|
|
||||||
#define arch_align_stack(x) (x)
|
|
||||||
|
|
||||||
#endif /* __KERNEL__ */
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -16,7 +16,6 @@
|
||||||
#include <linux/errno.h>
|
#include <linux/errno.h>
|
||||||
|
|
||||||
#include <asm/memory.h>
|
#include <asm/memory.h>
|
||||||
#include <asm/system.h>
|
|
||||||
|
|
||||||
#define __copy_from_user __copy_from_user
|
#define __copy_from_user __copy_from_user
|
||||||
#define __copy_to_user __copy_to_user
|
#define __copy_to_user __copy_to_user
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
#include <linux/errno.h>
|
#include <linux/errno.h>
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
|
|
||||||
#include <asm/system.h>
|
|
||||||
#include <asm/irq.h>
|
#include <asm/irq.h>
|
||||||
#include <mach/hardware.h>
|
#include <mach/hardware.h>
|
||||||
#include <mach/dma.h>
|
#include <mach/dma.h>
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
#include <generated/asm-offsets.h>
|
#include <generated/asm-offsets.h>
|
||||||
#include <asm/memory.h>
|
#include <asm/memory.h>
|
||||||
#include <asm/thread_info.h>
|
#include <asm/thread_info.h>
|
||||||
#include <asm/system.h>
|
#include <asm/hwdef-copro.h>
|
||||||
#include <asm/pgtable-hwdef.h>
|
#include <asm/pgtable-hwdef.h>
|
||||||
|
|
||||||
#if (PHYS_OFFSET & 0x003fffff)
|
#if (PHYS_OFFSET & 0x003fffff)
|
||||||
|
|
|
@ -15,7 +15,6 @@
|
||||||
#include <linux/suspend.h>
|
#include <linux/suspend.h>
|
||||||
#include <linux/bootmem.h>
|
#include <linux/bootmem.h>
|
||||||
|
|
||||||
#include <asm/system.h>
|
|
||||||
#include <asm/page.h>
|
#include <asm/page.h>
|
||||||
#include <asm/pgtable.h>
|
#include <asm/pgtable.h>
|
||||||
#include <asm/pgalloc.h>
|
#include <asm/pgalloc.h>
|
||||||
|
|
|
@ -26,7 +26,6 @@
|
||||||
#include <linux/syscore_ops.h>
|
#include <linux/syscore_ops.h>
|
||||||
#include <linux/gpio.h>
|
#include <linux/gpio.h>
|
||||||
|
|
||||||
#include <asm/system.h>
|
|
||||||
#include <mach/hardware.h>
|
#include <mach/hardware.h>
|
||||||
|
|
||||||
#include "setup.h"
|
#include "setup.h"
|
||||||
|
|
|
@ -20,7 +20,6 @@
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
|
|
||||||
#include <asm/checksum.h>
|
#include <asm/checksum.h>
|
||||||
#include <asm/system.h>
|
|
||||||
|
|
||||||
#include "ksyms.h"
|
#include "ksyms.h"
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,6 @@
|
||||||
|
|
||||||
#include <asm/cacheflush.h>
|
#include <asm/cacheflush.h>
|
||||||
#include <asm/processor.h>
|
#include <asm/processor.h>
|
||||||
#include <asm/system.h>
|
|
||||||
#include <asm/stacktrace.h>
|
#include <asm/stacktrace.h>
|
||||||
|
|
||||||
#include "setup.h"
|
#include "setup.h"
|
||||||
|
|
|
@ -12,8 +12,11 @@
|
||||||
#ifndef __UNICORE_KERNEL_SETUP_H__
|
#ifndef __UNICORE_KERNEL_SETUP_H__
|
||||||
#define __UNICORE_KERNEL_SETUP_H__
|
#define __UNICORE_KERNEL_SETUP_H__
|
||||||
|
|
||||||
|
#include <asm/hwdef-copro.h>
|
||||||
|
|
||||||
extern void paging_init(void);
|
extern void paging_init(void);
|
||||||
extern void puv3_core_init(void);
|
extern void puv3_core_init(void);
|
||||||
|
extern void cpu_init(void);
|
||||||
|
|
||||||
extern void puv3_ps2_init(void);
|
extern void puv3_ps2_init(void);
|
||||||
extern void pci_puv3_preinit(void);
|
extern void pci_puv3_preinit(void);
|
||||||
|
|
|
@ -26,7 +26,6 @@
|
||||||
#include <linux/unistd.h>
|
#include <linux/unistd.h>
|
||||||
|
|
||||||
#include <asm/cacheflush.h>
|
#include <asm/cacheflush.h>
|
||||||
#include <asm/system.h>
|
|
||||||
#include <asm/traps.h>
|
#include <asm/traps.h>
|
||||||
|
|
||||||
#include "setup.h"
|
#include "setup.h"
|
||||||
|
|
|
@ -24,6 +24,8 @@
|
||||||
#include <asm/tlbflush.h>
|
#include <asm/tlbflush.h>
|
||||||
#include <asm/unaligned.h>
|
#include <asm/unaligned.h>
|
||||||
|
|
||||||
|
#include "mm.h"
|
||||||
|
|
||||||
#define CODING_BITS(i) (i & 0xe0000120)
|
#define CODING_BITS(i) (i & 0xe0000120)
|
||||||
|
|
||||||
#define LDST_P_BIT(i) (i & (1 << 28)) /* Preindex */
|
#define LDST_P_BIT(i) (i & (1 << 28)) /* Preindex */
|
||||||
|
|
|
@ -20,7 +20,6 @@
|
||||||
#include <linux/sched.h>
|
#include <linux/sched.h>
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
|
|
||||||
#include <asm/system.h>
|
|
||||||
#include <asm/pgtable.h>
|
#include <asm/pgtable.h>
|
||||||
#include <asm/tlbflush.h>
|
#include <asm/tlbflush.h>
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,6 @@
|
||||||
#include <linux/pagemap.h>
|
#include <linux/pagemap.h>
|
||||||
|
|
||||||
#include <asm/cacheflush.h>
|
#include <asm/cacheflush.h>
|
||||||
#include <asm/system.h>
|
|
||||||
#include <asm/tlbflush.h>
|
#include <asm/tlbflush.h>
|
||||||
|
|
||||||
void flush_cache_mm(struct mm_struct *mm)
|
void flush_cache_mm(struct mm_struct *mm)
|
||||||
|
|
|
@ -9,6 +9,8 @@
|
||||||
* 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.
|
||||||
*/
|
*/
|
||||||
|
#include <asm/hwdef-copro.h>
|
||||||
|
|
||||||
/* the upper-most page table pointer */
|
/* the upper-most page table pointer */
|
||||||
extern pmd_t *top_pmd;
|
extern pmd_t *top_pmd;
|
||||||
extern int sysctl_overcommit_memory;
|
extern int sysctl_overcommit_memory;
|
||||||
|
@ -34,6 +36,9 @@ struct mem_type {
|
||||||
const struct mem_type *get_mem_type(unsigned int type);
|
const struct mem_type *get_mem_type(unsigned int type);
|
||||||
|
|
||||||
extern void __flush_dcache_page(struct address_space *, struct page *);
|
extern void __flush_dcache_page(struct address_space *, struct page *);
|
||||||
|
extern void hook_fault_code(int nr, int (*fn)
|
||||||
|
(unsigned long, unsigned int, struct pt_regs *),
|
||||||
|
int sig, int code, const char *name);
|
||||||
|
|
||||||
void __init bootmem_init(void);
|
void __init bootmem_init(void);
|
||||||
void uc32_mm_memblock_reserve(void);
|
void uc32_mm_memblock_reserve(void);
|
||||||
|
|
Loading…
Reference in New Issue