git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.3
[linux-2.6.git]
/
include
/
asm-ppc64
/
processor.h
diff --git
a/include/asm-ppc64/processor.h
b/include/asm-ppc64/processor.h
index
d5e3837
..
19ef025
100644
(file)
--- a/
include/asm-ppc64/processor.h
+++ b/
include/asm-ppc64/processor.h
@@
-20,12
+20,6
@@
#include <asm/ptrace.h>
#include <asm/types.h>
#include <asm/ptrace.h>
#include <asm/types.h>
-/*
- * Default implementation of macro that returns current
- * instruction pointer ("program counter").
- */
-#define current_text_addr() ({ __label__ _l; _l: &&_l;})
-
/* Machine State Register (MSR) Fields */
#define MSR_SF_LG 63 /* Enable 64 bit mode */
#define MSR_ISF_LG 61 /* Interrupt 64b mode valid on 630 */
/* Machine State Register (MSR) Fields */
#define MSR_SF_LG 63 /* Enable 64 bit mode */
#define MSR_ISF_LG 61 /* Interrupt 64b mode valid on 630 */
@@
-410,6
+404,12
@@
#define XGLUE(a,b) a##b
#define GLUE(a,b) XGLUE(a,b)
#define XGLUE(a,b) a##b
#define GLUE(a,b) XGLUE(a,b)
+/* iSeries CTRL register (for runlatch) */
+
+#define CTRLT 0x098
+#define CTRLF 0x088
+#define RUNLATCH 0x0001
+
#ifdef __ASSEMBLY__
#define _GLOBAL(name) \
#ifdef __ASSEMBLY__
#define _GLOBAL(name) \
@@
-438,8
+438,13
@@
name: \
.type GLUE(.,name),@function; \
GLUE(.,name):
.type GLUE(.,name),@function; \
GLUE(.,name):
-#e
ndif
/* __ASSEMBLY__ */
+#e
lse
/* __ASSEMBLY__ */
+/*
+ * Default implementation of macro that returns current
+ * instruction pointer ("program counter").
+ */
+#define current_text_addr() ({ __label__ _l; _l: &&_l;})
/* Macros for setting and retrieving special purpose registers */
/* Macros for setting and retrieving special purpose registers */
@@
-461,20
+466,9
@@
GLUE(.,name):
#define mttbl(v) asm volatile("mttbl %0":: "r"(v))
#define mttbu(v) asm volatile("mttbu %0":: "r"(v))
#define mttbl(v) asm volatile("mttbl %0":: "r"(v))
#define mttbu(v) asm volatile("mttbu %0":: "r"(v))
-/* iSeries CTRL register (for runlatch) */
-
-#define CTRLT 0x098
-#define CTRLF 0x088
-#define RUNLATCH 0x0001
-
-/* Size of an exception stack frame contained in the paca. */
-#define EXC_FRAME_SIZE 64
-
#define mfasr() ({unsigned long rval; \
asm volatile("mfasr %0" : "=r" (rval)); rval;})
#define mfasr() ({unsigned long rval; \
asm volatile("mfasr %0" : "=r" (rval)); rval;})
-#ifndef __ASSEMBLY__
-
static inline void set_tb(unsigned int upper, unsigned int lower)
{
mttbl(0);
static inline void set_tb(unsigned int upper, unsigned int lower)
{
mttbl(0);
@@
-485,6
+479,8
@@
static inline void set_tb(unsigned int upper, unsigned int lower)
#define __get_SP() ({unsigned long sp; \
asm volatile("mr %0,1": "=r" (sp)); sp;})
#define __get_SP() ({unsigned long sp; \
asm volatile("mr %0,1": "=r" (sp)); sp;})
+#ifdef __KERNEL__
+
extern int have_of;
struct task_struct;
extern int have_of;
struct task_struct;
@@
-507,8
+503,6
@@
extern long kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
extern struct task_struct *last_task_used_math;
extern struct task_struct *last_task_used_altivec;
extern struct task_struct *last_task_used_math;
extern struct task_struct *last_task_used_altivec;
-
-#ifdef __KERNEL__
/* 64-bit user address space is 41-bits (2TBs user VM) */
#define TASK_SIZE_USER64 (0x0000020000000000UL)
/* 64-bit user address space is 41-bits (2TBs user VM) */
#define TASK_SIZE_USER64 (0x0000020000000000UL)
@@
-520,8
+514,6
@@
extern struct task_struct *last_task_used_altivec;
#define TASK_SIZE (test_thread_flag(TIF_32BIT) ? \
TASK_SIZE_USER32 : TASK_SIZE_USER64)
#define TASK_SIZE (test_thread_flag(TIF_32BIT) ? \
TASK_SIZE_USER32 : TASK_SIZE_USER64)
-#endif /* __KERNEL__ */
-
/* This decides where the kernel will search for a free chunk of vm
* space during mmap's.
/* This decides where the kernel will search for a free chunk of vm
* space during mmap's.
@@
-538,6
+530,7
@@
typedef struct {
struct thread_struct {
unsigned long ksp; /* Kernel stack pointer */
struct thread_struct {
unsigned long ksp; /* Kernel stack pointer */
+ unsigned long ksp_vsid;
struct pt_regs *regs; /* Pointer to saved register state */
mm_segment_t fs; /* for get_fs() validation */
double fpr[32]; /* Complete floating point set */
struct pt_regs *regs; /* Pointer to saved register state */
mm_segment_t fs; /* for get_fs() validation */
double fpr[32]; /* Complete floating point set */
@@
-559,12
+552,12
@@
struct thread_struct {
#define INIT_SP (sizeof(init_stack) + (unsigned long) &init_stack)
#define INIT_THREAD { \
#define INIT_SP (sizeof(init_stack) + (unsigned long) &init_stack)
#define INIT_THREAD { \
-
INIT_SP, /* ksp */
\
-
(struct pt_regs *)INIT_SP - 1, /* regs */
\
-
KERNEL_DS, /*fs*/
\
-
{0}, /* fpr */
\
-
0, /* fpscr */
\
-
MSR_FE0|MSR_FE1, /* fpexc_mode */
\
+
.ksp = INIT_SP,
\
+
.regs = (struct pt_regs *)INIT_SP - 1,
\
+
.fs = KERNEL_DS,
\
+
.fpr = {0},
\
+
.fpscr = 0,
\
+
.fpexc_mode = MSR_FE0|MSR_FE1,
\
}
/*
}
/*
@@
-626,12
+619,11
@@
static inline void prefetchw(const void *x)
#define spin_lock_prefetch(x) prefetchw(x)
#define spin_lock_prefetch(x) prefetchw(x)
-#ifdef CONFIG_SCHED_SMT
-#define ARCH_HAS_SCHED_DOMAIN
-#define ARCH_HAS_SCHED_WAKE_IDLE
-#endif
+#define HAVE_ARCH_PICK_MMAP_LAYOUT
+
+#endif /* __KERNEL__ */
-#endif /*
ASSEMBLY
*/
+#endif /*
__ASSEMBLY__
*/
/*
* Number of entries in the SLB. If this ever changes we should handle
/*
* Number of entries in the SLB. If this ever changes we should handle