Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] wrong attribute of HUB chip written in uv_setup() [IA64] remove trailing space in messages [IA64] use asm-generic/scatterlist.h [IA64] build arch/ia64/kernel/acpi-ext.o when CONFIG_ACPI [IA64] Only build arch/ia64/kernel/acpi.o when CONFIG_ACPI [IA64] Remove COMPAT_IA32 support
This commit is contained in:
@@ -100,7 +100,32 @@ ia64_acpi_release_global_lock (unsigned int *lock)
|
||||
static inline void disable_acpi(void) { }
|
||||
static inline void pci_acpi_crs_quirks(void) { }
|
||||
|
||||
#ifdef CONFIG_IA64_GENERIC
|
||||
const char *acpi_get_sysname (void);
|
||||
#else
|
||||
static inline const char *acpi_get_sysname (void)
|
||||
{
|
||||
# if defined (CONFIG_IA64_HP_SIM)
|
||||
return "hpsim";
|
||||
# elif defined (CONFIG_IA64_HP_ZX1)
|
||||
return "hpzx1";
|
||||
# elif defined (CONFIG_IA64_HP_ZX1_SWIOTLB)
|
||||
return "hpzx1_swiotlb";
|
||||
# elif defined (CONFIG_IA64_SGI_SN2)
|
||||
return "sn2";
|
||||
# elif defined (CONFIG_IA64_SGI_UV)
|
||||
return "uv";
|
||||
# elif defined (CONFIG_IA64_DIG)
|
||||
return "dig";
|
||||
# elif defined (CONFIG_IA64_XEN_GUEST)
|
||||
return "xen";
|
||||
# elif defined(CONFIG_IA64_DIG_VTD)
|
||||
return "dig_vtd";
|
||||
# else
|
||||
# error Unknown platform. Fix acpi.c.
|
||||
# endif
|
||||
}
|
||||
#endif
|
||||
int acpi_request_vector (u32 int_type);
|
||||
int acpi_gsi_to_irq (u32 gsi, unsigned int *irq);
|
||||
|
||||
|
@@ -1,40 +0,0 @@
|
||||
#ifndef _ASM_IA64_IA32_H
|
||||
#define _ASM_IA64_IA32_H
|
||||
|
||||
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/signal.h>
|
||||
|
||||
#define IA32_NR_syscalls 285 /* length of syscall table */
|
||||
#define IA32_PAGE_SHIFT 12 /* 4KB pages */
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
# ifdef CONFIG_IA32_SUPPORT
|
||||
|
||||
#define IA32_PAGE_OFFSET 0xc0000000
|
||||
|
||||
extern void ia32_cpu_init (void);
|
||||
extern void ia32_mem_init (void);
|
||||
extern void ia32_gdt_init (void);
|
||||
extern int ia32_exception (struct pt_regs *regs, unsigned long isr);
|
||||
extern int ia32_intercept (struct pt_regs *regs, unsigned long isr);
|
||||
extern int ia32_clone_tls (struct task_struct *child, struct pt_regs *childregs);
|
||||
|
||||
# endif /* !CONFIG_IA32_SUPPORT */
|
||||
|
||||
/* Declare this unconditionally, so we don't get warnings for unreachable code. */
|
||||
extern int ia32_setup_frame1 (int sig, struct k_sigaction *ka, siginfo_t *info,
|
||||
sigset_t *set, struct pt_regs *regs);
|
||||
#if PAGE_SHIFT > IA32_PAGE_SHIFT
|
||||
extern int ia32_copy_ia64_partial_page_list(struct task_struct *,
|
||||
unsigned long);
|
||||
extern void ia32_drop_ia64_partial_page_list(struct task_struct *);
|
||||
#else
|
||||
# define ia32_copy_ia64_partial_page_list(a1, a2) 0
|
||||
# define ia32_drop_ia64_partial_page_list(a1) do { ; } while (0)
|
||||
#endif
|
||||
|
||||
#endif /* !__ASSEMBLY__ */
|
||||
|
||||
#endif /* _ASM_IA64_IA32_H */
|
@@ -270,23 +270,6 @@ typedef struct {
|
||||
(int __user *) (addr)); \
|
||||
})
|
||||
|
||||
#ifdef CONFIG_IA32_SUPPORT
|
||||
struct desc_struct {
|
||||
unsigned int a, b;
|
||||
};
|
||||
|
||||
#define desc_empty(desc) (!((desc)->a | (desc)->b))
|
||||
#define desc_equal(desc1, desc2) (((desc1)->a == (desc2)->a) && ((desc1)->b == (desc2)->b))
|
||||
|
||||
#define GDT_ENTRY_TLS_ENTRIES 3
|
||||
#define GDT_ENTRY_TLS_MIN 6
|
||||
#define GDT_ENTRY_TLS_MAX (GDT_ENTRY_TLS_MIN + GDT_ENTRY_TLS_ENTRIES - 1)
|
||||
|
||||
#define TLS_SIZE (GDT_ENTRY_TLS_ENTRIES * 8)
|
||||
|
||||
struct ia64_partial_page_list;
|
||||
#endif
|
||||
|
||||
struct thread_struct {
|
||||
__u32 flags; /* various thread flags (see IA64_THREAD_*) */
|
||||
/* writing on_ustack is performance-critical, so it's worth spending 8 bits on it... */
|
||||
@@ -298,29 +281,6 @@ struct thread_struct {
|
||||
__u64 rbs_bot; /* the base address for the RBS */
|
||||
int last_fph_cpu; /* CPU that may hold the contents of f32-f127 */
|
||||
|
||||
#ifdef CONFIG_IA32_SUPPORT
|
||||
__u64 eflag; /* IA32 EFLAGS reg */
|
||||
__u64 fsr; /* IA32 floating pt status reg */
|
||||
__u64 fcr; /* IA32 floating pt control reg */
|
||||
__u64 fir; /* IA32 fp except. instr. reg */
|
||||
__u64 fdr; /* IA32 fp except. data reg */
|
||||
__u64 old_k1; /* old value of ar.k1 */
|
||||
__u64 old_iob; /* old IOBase value */
|
||||
struct ia64_partial_page_list *ppl; /* partial page list for 4K page size issue */
|
||||
/* cached TLS descriptors. */
|
||||
struct desc_struct tls_array[GDT_ENTRY_TLS_ENTRIES];
|
||||
|
||||
# define INIT_THREAD_IA32 .eflag = 0, \
|
||||
.fsr = 0, \
|
||||
.fcr = 0x17800000037fULL, \
|
||||
.fir = 0, \
|
||||
.fdr = 0, \
|
||||
.old_k1 = 0, \
|
||||
.old_iob = 0, \
|
||||
.ppl = NULL,
|
||||
#else
|
||||
# define INIT_THREAD_IA32
|
||||
#endif /* CONFIG_IA32_SUPPORT */
|
||||
#ifdef CONFIG_PERFMON
|
||||
void *pfm_context; /* pointer to detailed PMU context */
|
||||
unsigned long pfm_needs_checking; /* when >0, pending perfmon work on kernel exit */
|
||||
@@ -342,7 +302,6 @@ struct thread_struct {
|
||||
.rbs_bot = STACK_TOP - DEFAULT_USER_STACK_SIZE, \
|
||||
.task_size = DEFAULT_TASK_SIZE, \
|
||||
.last_fph_cpu = -1, \
|
||||
INIT_THREAD_IA32 \
|
||||
INIT_THREAD_PM \
|
||||
.dbr = {0, }, \
|
||||
.ibr = {0, }, \
|
||||
@@ -485,11 +444,6 @@ extern void __ia64_load_fpu (struct ia64_fpreg *fph);
|
||||
extern void ia64_save_debug_regs (unsigned long *save_area);
|
||||
extern void ia64_load_debug_regs (unsigned long *save_area);
|
||||
|
||||
#ifdef CONFIG_IA32_SUPPORT
|
||||
extern void ia32_save_state (struct task_struct *task);
|
||||
extern void ia32_load_state (struct task_struct *task);
|
||||
#endif
|
||||
|
||||
#define ia64_fph_enable() do { ia64_rsm(IA64_PSR_DFH); ia64_srlz_d(); } while (0)
|
||||
#define ia64_fph_disable() do { ia64_ssm(IA64_PSR_DFH); ia64_srlz_d(); } while (0)
|
||||
|
||||
|
@@ -1,25 +1,6 @@
|
||||
#ifndef _ASM_IA64_SCATTERLIST_H
|
||||
#define _ASM_IA64_SCATTERLIST_H
|
||||
|
||||
/*
|
||||
* Modified 1998-1999, 2001-2002, 2004
|
||||
* David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co
|
||||
*/
|
||||
|
||||
#include <asm/types.h>
|
||||
|
||||
struct scatterlist {
|
||||
#ifdef CONFIG_DEBUG_SG
|
||||
unsigned long sg_magic;
|
||||
#endif
|
||||
unsigned long page_link;
|
||||
unsigned int offset;
|
||||
unsigned int length; /* buffer length */
|
||||
|
||||
dma_addr_t dma_address;
|
||||
unsigned int dma_length;
|
||||
};
|
||||
|
||||
/*
|
||||
* It used to be that ISA_DMA_THRESHOLD had something to do with the
|
||||
* DMA-limits of ISA-devices. Nowadays, its only remaining use (apart
|
||||
@@ -30,9 +11,6 @@ struct scatterlist {
|
||||
*/
|
||||
#define ISA_DMA_THRESHOLD 0xffffffff
|
||||
|
||||
#define sg_dma_len(sg) ((sg)->dma_length)
|
||||
#define sg_dma_address(sg) ((sg)->dma_address)
|
||||
|
||||
#define ARCH_HAS_SG_CHAIN
|
||||
#include <asm-generic/scatterlist.h>
|
||||
|
||||
#endif /* _ASM_IA64_SCATTERLIST_H */
|
||||
|
@@ -22,33 +22,18 @@ static inline long syscall_get_nr(struct task_struct *task,
|
||||
if ((long)regs->cr_ifs < 0) /* Not a syscall */
|
||||
return -1;
|
||||
|
||||
#ifdef CONFIG_IA32_SUPPORT
|
||||
if (IS_IA32_PROCESS(regs))
|
||||
return regs->r1;
|
||||
#endif
|
||||
|
||||
return regs->r15;
|
||||
}
|
||||
|
||||
static inline void syscall_rollback(struct task_struct *task,
|
||||
struct pt_regs *regs)
|
||||
{
|
||||
#ifdef CONFIG_IA32_SUPPORT
|
||||
if (IS_IA32_PROCESS(regs))
|
||||
regs->r8 = regs->r1;
|
||||
#endif
|
||||
|
||||
/* do nothing */
|
||||
}
|
||||
|
||||
static inline long syscall_get_error(struct task_struct *task,
|
||||
struct pt_regs *regs)
|
||||
{
|
||||
#ifdef CONFIG_IA32_SUPPORT
|
||||
if (IS_IA32_PROCESS(regs))
|
||||
return regs->r8;
|
||||
#endif
|
||||
|
||||
return regs->r10 == -1 ? regs->r8:0;
|
||||
}
|
||||
|
||||
@@ -62,13 +47,6 @@ static inline void syscall_set_return_value(struct task_struct *task,
|
||||
struct pt_regs *regs,
|
||||
int error, long val)
|
||||
{
|
||||
#ifdef CONFIG_IA32_SUPPORT
|
||||
if (IS_IA32_PROCESS(regs)) {
|
||||
regs->r8 = (long) error ? error : val;
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (error) {
|
||||
/* error < 0, but ia64 uses > 0 return value */
|
||||
regs->r8 = -error;
|
||||
@@ -89,37 +67,6 @@ static inline void syscall_get_arguments(struct task_struct *task,
|
||||
{
|
||||
BUG_ON(i + n > 6);
|
||||
|
||||
#ifdef CONFIG_IA32_SUPPORT
|
||||
if (IS_IA32_PROCESS(regs)) {
|
||||
switch (i + n) {
|
||||
case 6:
|
||||
if (!n--) break;
|
||||
*args++ = regs->r13;
|
||||
case 5:
|
||||
if (!n--) break;
|
||||
*args++ = regs->r15;
|
||||
case 4:
|
||||
if (!n--) break;
|
||||
*args++ = regs->r14;
|
||||
case 3:
|
||||
if (!n--) break;
|
||||
*args++ = regs->r10;
|
||||
case 2:
|
||||
if (!n--) break;
|
||||
*args++ = regs->r9;
|
||||
case 1:
|
||||
if (!n--) break;
|
||||
*args++ = regs->r11;
|
||||
case 0:
|
||||
if (!n--) break;
|
||||
default:
|
||||
BUG();
|
||||
break;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
ia64_syscall_get_set_arguments(task, regs, i, n, args, 0);
|
||||
}
|
||||
|
||||
@@ -130,34 +77,6 @@ static inline void syscall_set_arguments(struct task_struct *task,
|
||||
{
|
||||
BUG_ON(i + n > 6);
|
||||
|
||||
#ifdef CONFIG_IA32_SUPPORT
|
||||
if (IS_IA32_PROCESS(regs)) {
|
||||
switch (i + n) {
|
||||
case 6:
|
||||
if (!n--) break;
|
||||
regs->r13 = *args++;
|
||||
case 5:
|
||||
if (!n--) break;
|
||||
regs->r15 = *args++;
|
||||
case 4:
|
||||
if (!n--) break;
|
||||
regs->r14 = *args++;
|
||||
case 3:
|
||||
if (!n--) break;
|
||||
regs->r10 = *args++;
|
||||
case 2:
|
||||
if (!n--) break;
|
||||
regs->r9 = *args++;
|
||||
case 1:
|
||||
if (!n--) break;
|
||||
regs->r11 = *args++;
|
||||
case 0:
|
||||
if (!n--) break;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
ia64_syscall_get_set_arguments(task, regs, i, n, args, 1);
|
||||
}
|
||||
#endif /* _ASM_SYSCALL_H */
|
||||
|
@@ -191,15 +191,6 @@ do { \
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#ifdef CONFIG_IA32_SUPPORT
|
||||
# define IS_IA32_PROCESS(regs) (ia64_psr(regs)->is != 0)
|
||||
#else
|
||||
# define IS_IA32_PROCESS(regs) 0
|
||||
struct task_struct;
|
||||
static inline void ia32_save_state(struct task_struct *t __attribute__((unused))){}
|
||||
static inline void ia32_load_state(struct task_struct *t __attribute__((unused))){}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Context switch from one thread to another. If the two threads have
|
||||
* different address spaces, schedule() has already taken care of
|
||||
@@ -233,7 +224,7 @@ extern void ia64_account_on_switch (struct task_struct *prev, struct task_struct
|
||||
|
||||
#define IA64_HAS_EXTRA_STATE(t) \
|
||||
((t)->thread.flags & (IA64_THREAD_DBG_VALID|IA64_THREAD_PM_VALID) \
|
||||
|| IS_IA32_PROCESS(task_pt_regs(t)) || PERFMON_IS_SYSWIDE())
|
||||
|| PERFMON_IS_SYSWIDE())
|
||||
|
||||
#define __switch_to(prev,next,last) do { \
|
||||
IA64_ACCOUNT_ON_SWITCH(prev, next); \
|
||||
|
@@ -335,20 +335,6 @@
|
||||
#define __ARCH_WANT_SYS_RT_SIGACTION
|
||||
#define __ARCH_WANT_SYS_RT_SIGSUSPEND
|
||||
|
||||
#ifdef CONFIG_IA32_SUPPORT
|
||||
# define __ARCH_WANT_SYS_FADVISE64
|
||||
# define __ARCH_WANT_SYS_GETPGRP
|
||||
# define __ARCH_WANT_SYS_LLSEEK
|
||||
# define __ARCH_WANT_SYS_NICE
|
||||
# define __ARCH_WANT_SYS_OLD_GETRLIMIT
|
||||
# define __ARCH_WANT_SYS_OLDUMOUNT
|
||||
# define __ARCH_WANT_SYS_PAUSE
|
||||
# define __ARCH_WANT_SYS_SIGPENDING
|
||||
# define __ARCH_WANT_SYS_SIGPROCMASK
|
||||
# define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND
|
||||
# define __ARCH_WANT_COMPAT_SYS_TIME
|
||||
#endif
|
||||
|
||||
#if !defined(__ASSEMBLY__) && !defined(ASSEMBLER)
|
||||
|
||||
#include <linux/types.h>
|
||||
|
Reference in New Issue
Block a user