Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
This commit is contained in:
@@ -862,13 +862,3 @@ int dma_supported(struct device *dev, u64 device_mask)
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(dma_supported);
|
||||
|
||||
int dma_set_mask(struct device *dev, u64 dma_mask)
|
||||
{
|
||||
#ifdef CONFIG_PCI
|
||||
if (dev->bus == &pci_bus_type)
|
||||
return pci_set_dma_mask(to_pci_dev(dev), dma_mask);
|
||||
#endif
|
||||
return -EINVAL;
|
||||
}
|
||||
EXPORT_SYMBOL(dma_set_mask);
|
||||
|
@@ -676,17 +676,6 @@ int dma_supported(struct device *dev, u64 mask)
|
||||
}
|
||||
EXPORT_SYMBOL(dma_supported);
|
||||
|
||||
int dma_set_mask(struct device *dev, u64 dma_mask)
|
||||
{
|
||||
#ifdef CONFIG_PCI
|
||||
if (dev->bus == &pci_bus_type)
|
||||
return pci_set_dma_mask(to_pci_dev(dev), dma_mask);
|
||||
#endif
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
EXPORT_SYMBOL(dma_set_mask);
|
||||
|
||||
|
||||
#ifdef CONFIG_PROC_FS
|
||||
|
||||
static int sparc_io_proc_show(struct seq_file *m, void *v)
|
||||
|
@@ -21,7 +21,6 @@
|
||||
|
||||
#include <asm/perf_event.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/local.h>
|
||||
#include <asm/pcr.h>
|
||||
|
||||
/* We don't have a real NMI on sparc64, but we can fake one
|
||||
@@ -113,13 +112,13 @@ notrace __kprobes void perfctr_irq(int irq, struct pt_regs *regs)
|
||||
touched = 1;
|
||||
}
|
||||
if (!touched && __get_cpu_var(last_irq_sum) == sum) {
|
||||
__this_cpu_inc(per_cpu_var(alert_counter));
|
||||
if (__this_cpu_read(per_cpu_var(alert_counter)) == 30 * nmi_hz)
|
||||
__this_cpu_inc(alert_counter);
|
||||
if (__this_cpu_read(alert_counter) == 30 * nmi_hz)
|
||||
die_nmi("BUG: NMI Watchdog detected LOCKUP",
|
||||
regs, panic_on_timeout);
|
||||
} else {
|
||||
__get_cpu_var(last_irq_sum) = sum;
|
||||
__this_cpu_write(per_cpu_var(alert_counter), 0);
|
||||
__this_cpu_write(alert_counter, 0);
|
||||
}
|
||||
if (__get_cpu_var(wd_enabled)) {
|
||||
write_pic(picl_value(nmi_hz));
|
||||
|
@@ -1189,7 +1189,7 @@ static int __kprobes perf_event_nmi_handler(struct notifier_block *self,
|
||||
|
||||
regs = args->regs;
|
||||
|
||||
data.addr = 0;
|
||||
perf_sample_data_init(&data, 0);
|
||||
|
||||
cpuc = &__get_cpu_var(cpu_hw_events);
|
||||
|
||||
@@ -1353,7 +1353,7 @@ static void perf_callchain_user_32(struct pt_regs *regs,
|
||||
}
|
||||
|
||||
/* Like powerpc we can't get PMU interrupts within the PMU handler,
|
||||
* so no need for seperate NMI and IRQ chains as on x86.
|
||||
* so no need for separate NMI and IRQ chains as on x86.
|
||||
*/
|
||||
static DEFINE_PER_CPU(struct perf_callchain_entry, callchain);
|
||||
|
||||
|
@@ -107,11 +107,11 @@ rtrap_nmi: ldx [%sp + PTREGS_OFF + PT_V9_TSTATE], %l1
|
||||
rtrap_irq:
|
||||
rtrap:
|
||||
#ifndef CONFIG_SMP
|
||||
sethi %hi(per_cpu____cpu_data), %l0
|
||||
lduw [%l0 + %lo(per_cpu____cpu_data)], %l1
|
||||
sethi %hi(__cpu_data), %l0
|
||||
lduw [%l0 + %lo(__cpu_data)], %l1
|
||||
#else
|
||||
sethi %hi(per_cpu____cpu_data), %l0
|
||||
or %l0, %lo(per_cpu____cpu_data), %l0
|
||||
sethi %hi(__cpu_data), %l0
|
||||
or %l0, %lo(__cpu_data), %l0
|
||||
lduw [%l0 + %g5], %l1
|
||||
#endif
|
||||
cmp %l1, 0
|
||||
|
@@ -98,119 +98,6 @@ out:
|
||||
return error;
|
||||
}
|
||||
|
||||
/*
|
||||
* sys_ipc() is the de-multiplexer for the SysV IPC calls..
|
||||
*
|
||||
* This is really horribly ugly.
|
||||
*/
|
||||
|
||||
asmlinkage int sys_ipc (uint call, int first, int second, int third, void __user *ptr, long fifth)
|
||||
{
|
||||
int version, err;
|
||||
|
||||
version = call >> 16; /* hack for backward compatibility */
|
||||
call &= 0xffff;
|
||||
|
||||
if (call <= SEMCTL)
|
||||
switch (call) {
|
||||
case SEMOP:
|
||||
err = sys_semtimedop (first, (struct sembuf __user *)ptr, second, NULL);
|
||||
goto out;
|
||||
case SEMTIMEDOP:
|
||||
err = sys_semtimedop (first, (struct sembuf __user *)ptr, second, (const struct timespec __user *) fifth);
|
||||
goto out;
|
||||
case SEMGET:
|
||||
err = sys_semget (first, second, third);
|
||||
goto out;
|
||||
case SEMCTL: {
|
||||
union semun fourth;
|
||||
err = -EINVAL;
|
||||
if (!ptr)
|
||||
goto out;
|
||||
err = -EFAULT;
|
||||
if (get_user(fourth.__pad,
|
||||
(void __user * __user *)ptr))
|
||||
goto out;
|
||||
err = sys_semctl (first, second, third, fourth);
|
||||
goto out;
|
||||
}
|
||||
default:
|
||||
err = -ENOSYS;
|
||||
goto out;
|
||||
}
|
||||
if (call <= MSGCTL)
|
||||
switch (call) {
|
||||
case MSGSND:
|
||||
err = sys_msgsnd (first, (struct msgbuf __user *) ptr,
|
||||
second, third);
|
||||
goto out;
|
||||
case MSGRCV:
|
||||
switch (version) {
|
||||
case 0: {
|
||||
struct ipc_kludge tmp;
|
||||
err = -EINVAL;
|
||||
if (!ptr)
|
||||
goto out;
|
||||
err = -EFAULT;
|
||||
if (copy_from_user(&tmp, (struct ipc_kludge __user *) ptr, sizeof (tmp)))
|
||||
goto out;
|
||||
err = sys_msgrcv (first, tmp.msgp, second, tmp.msgtyp, third);
|
||||
goto out;
|
||||
}
|
||||
case 1: default:
|
||||
err = sys_msgrcv (first,
|
||||
(struct msgbuf __user *) ptr,
|
||||
second, fifth, third);
|
||||
goto out;
|
||||
}
|
||||
case MSGGET:
|
||||
err = sys_msgget ((key_t) first, second);
|
||||
goto out;
|
||||
case MSGCTL:
|
||||
err = sys_msgctl (first, second, (struct msqid_ds __user *) ptr);
|
||||
goto out;
|
||||
default:
|
||||
err = -ENOSYS;
|
||||
goto out;
|
||||
}
|
||||
if (call <= SHMCTL)
|
||||
switch (call) {
|
||||
case SHMAT:
|
||||
switch (version) {
|
||||
case 0: default: {
|
||||
ulong raddr;
|
||||
err = do_shmat (first, (char __user *) ptr, second, &raddr);
|
||||
if (err)
|
||||
goto out;
|
||||
err = -EFAULT;
|
||||
if (put_user (raddr, (ulong __user *) third))
|
||||
goto out;
|
||||
err = 0;
|
||||
goto out;
|
||||
}
|
||||
case 1: /* iBCS2 emulator entry point */
|
||||
err = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
case SHMDT:
|
||||
err = sys_shmdt ((char __user *)ptr);
|
||||
goto out;
|
||||
case SHMGET:
|
||||
err = sys_shmget (first, second, third);
|
||||
goto out;
|
||||
case SHMCTL:
|
||||
err = sys_shmctl (first, second, (struct shmid_ds __user *) ptr);
|
||||
goto out;
|
||||
default:
|
||||
err = -ENOSYS;
|
||||
goto out;
|
||||
}
|
||||
else
|
||||
err = -ENOSYS;
|
||||
out:
|
||||
return err;
|
||||
}
|
||||
|
||||
int sparc_mmap_check(unsigned long addr, unsigned long len)
|
||||
{
|
||||
if (ARCH_SUN4C &&
|
||||
|
@@ -426,7 +426,7 @@ out:
|
||||
* This is really horribly ugly.
|
||||
*/
|
||||
|
||||
SYSCALL_DEFINE6(ipc, unsigned int, call, int, first, unsigned long, second,
|
||||
SYSCALL_DEFINE6(sparc_ipc, unsigned int, call, int, first, unsigned long, second,
|
||||
unsigned long, third, void __user *, ptr, long, fifth)
|
||||
{
|
||||
long err;
|
||||
@@ -510,17 +510,6 @@ out:
|
||||
return err;
|
||||
}
|
||||
|
||||
SYSCALL_DEFINE1(sparc64_newuname, struct new_utsname __user *, name)
|
||||
{
|
||||
int ret = sys_newuname(name);
|
||||
|
||||
if (current->personality == PER_LINUX32 && !ret) {
|
||||
ret = (copy_to_user(name->machine, "sparc\0\0", 8)
|
||||
? -EFAULT : 0);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
SYSCALL_DEFINE1(sparc64_personality, unsigned long, personality)
|
||||
{
|
||||
int ret;
|
||||
|
@@ -6,15 +6,12 @@
|
||||
#include <asm/utrap.h>
|
||||
#include <asm/signal.h>
|
||||
|
||||
struct new_utsname;
|
||||
|
||||
extern asmlinkage unsigned long sys_getpagesize(void);
|
||||
extern asmlinkage long sparc_pipe(struct pt_regs *regs);
|
||||
extern asmlinkage long sys_ipc(unsigned int call, int first,
|
||||
extern asmlinkage long sys_sparc_ipc(unsigned int call, int first,
|
||||
unsigned long second,
|
||||
unsigned long third,
|
||||
void __user *ptr, long fifth);
|
||||
extern asmlinkage long sparc64_newuname(struct new_utsname __user *name);
|
||||
extern asmlinkage long sparc64_personality(unsigned long personality);
|
||||
extern asmlinkage long sys64_munmap(unsigned long addr, size_t len);
|
||||
extern asmlinkage unsigned long sys64_mremap(unsigned long addr,
|
||||
|
@@ -55,7 +55,7 @@ sys_call_table32:
|
||||
/*170*/ .word sys32_lsetxattr, sys32_fsetxattr, sys_getxattr, sys_lgetxattr, compat_sys_getdents
|
||||
.word sys_setsid, sys_fchdir, sys32_fgetxattr, sys_listxattr, sys_llistxattr
|
||||
/*180*/ .word sys32_flistxattr, sys_removexattr, sys_lremovexattr, compat_sys_sigpending, sys_ni_syscall
|
||||
.word sys32_setpgid, sys32_fremovexattr, sys32_tkill, sys32_exit_group, sys_sparc64_newuname
|
||||
.word sys32_setpgid, sys32_fremovexattr, sys32_tkill, sys32_exit_group, sys_newuname
|
||||
/*190*/ .word sys32_init_module, sys_sparc64_personality, sys_remap_file_pages, sys32_epoll_create, sys32_epoll_ctl
|
||||
.word sys32_epoll_wait, sys32_ioprio_set, sys_getppid, sys32_sigaction, sys_sgetmask
|
||||
/*200*/ .word sys32_ssetmask, sys_sigsuspend, compat_sys_newlstat, sys_uselib, compat_sys_old_readdir
|
||||
@@ -130,13 +130,13 @@ sys_call_table:
|
||||
/*170*/ .word sys_lsetxattr, sys_fsetxattr, sys_getxattr, sys_lgetxattr, sys_getdents
|
||||
.word sys_setsid, sys_fchdir, sys_fgetxattr, sys_listxattr, sys_llistxattr
|
||||
/*180*/ .word sys_flistxattr, sys_removexattr, sys_lremovexattr, sys_nis_syscall, sys_ni_syscall
|
||||
.word sys_setpgid, sys_fremovexattr, sys_tkill, sys_exit_group, sys_sparc64_newuname
|
||||
.word sys_setpgid, sys_fremovexattr, sys_tkill, sys_exit_group, sys_newuname
|
||||
/*190*/ .word sys_init_module, sys_sparc64_personality, sys_remap_file_pages, sys_epoll_create, sys_epoll_ctl
|
||||
.word sys_epoll_wait, sys_ioprio_set, sys_getppid, sys_nis_syscall, sys_sgetmask
|
||||
/*200*/ .word sys_ssetmask, sys_nis_syscall, sys_newlstat, sys_uselib, sys_nis_syscall
|
||||
.word sys_readahead, sys_socketcall, sys_syslog, sys_lookup_dcookie, sys_fadvise64
|
||||
/*210*/ .word sys_fadvise64_64, sys_tgkill, sys_waitpid, sys_swapoff, sys_sysinfo
|
||||
.word sys_ipc, sys_nis_syscall, sys_clone, sys_ioprio_get, sys_adjtimex
|
||||
.word sys_sparc_ipc, sys_nis_syscall, sys_clone, sys_ioprio_get, sys_adjtimex
|
||||
/*220*/ .word sys_nis_syscall, sys_ni_syscall, sys_delete_module, sys_ni_syscall, sys_getpgid
|
||||
.word sys_bdflush, sys_sysfs, sys_nis_syscall, sys_setfsuid, sys_setfsgid
|
||||
/*230*/ .word sys_select, sys_nis_syscall, sys_splice, sys_stime, sys_statfs64
|
||||
|
Reference in New Issue
Block a user