Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7c5f1351 authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

Merge branch 'x86/urgent' of into irq/sparseirq



Reason: Pull in the latest io_apic bugfixes

Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parents 5e62feab 02198962
Loading
Loading
Loading
Loading
+17 −7
Original line number Diff line number Diff line
@@ -1220,7 +1220,7 @@ F: drivers/auxdisplay/
F:	include/linux/cfag12864b.h

AVR32 ARCHITECTURE
M:	Haavard Skinnemoen <hskinnemoen@atmel.com>
M:	Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
W:	http://www.atmel.com/products/AVR32/
W:	http://avr32linux.org/
W:	http://avrfreaks.net/
@@ -1228,7 +1228,7 @@ S: Supported
F:	arch/avr32/

AVR32/AT32AP MACHINE SUPPORT
M:	Haavard Skinnemoen <hskinnemoen@atmel.com>
M:	Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
S:	Supported
F:	arch/avr32/mach-at32ap/

@@ -2199,6 +2199,12 @@ W: http://acpi4asus.sf.net
S:	Maintained
F:	drivers/platform/x86/eeepc-laptop.c

EFIFB FRAMEBUFFER DRIVER
L:	linux-fbdev@vger.kernel.org
M:	Peter Jones <pjones@redhat.com>
S:	Maintained
F:	drivers/video/efifb.c

EFS FILESYSTEM
W:	http://aeschi.ch.eu.org/efs/
S:	Orphan
@@ -2662,6 +2668,8 @@ M: Guenter Roeck <guenter.roeck@ericsson.com>
L:	lm-sensors@lm-sensors.org
W:	http://www.lm-sensors.org/
T:	quilt kernel.org/pub/linux/kernel/people/jdelvare/linux-2.6/jdelvare-hwmon/
T:	quilt kernel.org/pub/linux/kernel/people/groeck/linux-staging/
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git
S:	Maintained
F:	Documentation/hwmon/
F:	drivers/hwmon/
@@ -3905,10 +3913,8 @@ F: Documentation/serial/moxa-smartio
F:	drivers/char/mxser.*

MSI LAPTOP SUPPORT
M:	Lennart Poettering <mzxreary@0pointer.de>
M:	Lee, Chun-Yi <jlee@novell.com>
L:	platform-driver-x86@vger.kernel.org
W:	https://tango.0pointer.de/mailman/listinfo/s270-linux
W:	http://0pointer.de/lennart/tchibo.html
S:	Maintained
F:	drivers/platform/x86/msi-laptop.c

@@ -3925,8 +3931,10 @@ S: Supported
F:	drivers/mfd/

MULTIMEDIA CARD (MMC), SECURE DIGITAL (SD) AND SDIO SUBSYSTEM
S:	Orphan
M:	Chris Ball <cjb@laptop.org>
L:	linux-mmc@vger.kernel.org
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc.git
S:	Maintained
F:	drivers/mmc/
F:	include/linux/mmc/

@@ -5097,8 +5105,10 @@ S: Maintained
F:	drivers/mmc/host/sdricoh_cs.c

SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) DRIVER
S:	Orphan
M:	Chris Ball <cjb@laptop.org>
L:	linux-mmc@vger.kernel.org
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc.git
S:	Maintained
F:	drivers/mmc/host/sdhci.*

SECURE DIGITAL HOST CONTROLLER INTERFACE, OPEN FIRMWARE BINDINGS (SDHCI-OF)
+2 −2
Original line number Diff line number Diff line
@@ -32,8 +32,9 @@ config HAVE_OPROFILE

config KPROBES
	bool "Kprobes"
	depends on KALLSYMS && MODULES
	depends on MODULES
	depends on HAVE_KPROBES
	select KALLSYMS
	help
	  Kprobes allows you to trap at almost any kernel address and
	  execute a callback function.  register_kprobe() establishes
@@ -45,7 +46,6 @@ config OPTPROBES
	def_bool y
	depends on KPROBES && HAVE_OPTPROBES
	depends on !PREEMPT
	select KALLSYMS_ALL

config HAVE_EFFICIENT_UNALIGNED_ACCESS
	bool
+7 −13
Original line number Diff line number Diff line
@@ -73,8 +73,6 @@
	ldq	$20, HAE_REG($19);	\
	stq	$21, HAE_CACHE($19);	\
	stq	$21, 0($20);		\
	ldq	$0, 0($sp);		\
	ldq	$1, 8($sp);		\
99:;					\
	ldq	$19, 72($sp);		\
	ldq	$20, 80($sp);		\
@@ -316,7 +314,7 @@ ret_from_sys_call:
	cmovne	$26, 0, $19		/* $19 = 0 => non-restartable */
	ldq	$0, SP_OFF($sp)
	and	$0, 8, $0
	beq	$0, restore_all
	beq	$0, ret_to_kernel
ret_to_user:
	/* Make sure need_resched and sigpending don't change between
		sampling and the rti.  */
@@ -329,6 +327,11 @@ restore_all:
	RESTORE_ALL
	call_pal PAL_rti

ret_to_kernel:
	lda	$16, 7
	call_pal PAL_swpipl
	br restore_all

	.align 3
$syscall_error:
	/*
@@ -657,7 +660,7 @@ kernel_thread:
	/* We don't actually care for a3 success widgetry in the kernel.
	   Not for positive errno values.  */
	stq	$0, 0($sp)		/* $0 */
	br	restore_all
	br	ret_to_kernel
.end kernel_thread

/*
@@ -911,15 +914,6 @@ sys_execve:
	jmp	$31, do_sys_execve
.end sys_execve

	.align	4
	.globl	osf_sigprocmask
	.ent	osf_sigprocmask
osf_sigprocmask:
	.prologue 0
	mov	$sp, $18
	jmp	$31, sys_osf_sigprocmask
.end osf_sigprocmask

	.align	4
	.globl	alpha_ni_syscall
	.ent	alpha_ni_syscall
+1 −1
Original line number Diff line number Diff line
@@ -356,7 +356,7 @@ dump_elf_thread(elf_greg_t *dest, struct pt_regs *pt, struct thread_info *ti)
	dest[27] = pt->r27;
	dest[28] = pt->r28;
	dest[29] = pt->gp;
	dest[30] = rdusp();
	dest[30] = ti == current_thread_info() ? rdusp() : ti->pcb.usp;
	dest[31] = pt->pc;

	/* Once upon a time this was the PS value.  Which is stupid
+15 −41
Original line number Diff line number Diff line
@@ -41,46 +41,20 @@ static void do_signal(struct pt_regs *, struct switch_stack *,
/*
 * The OSF/1 sigprocmask calling sequence is different from the
 * C sigprocmask() sequence..
 *
 * how:
 * 1 - SIG_BLOCK
 * 2 - SIG_UNBLOCK
 * 3 - SIG_SETMASK
 *
 * We change the range to -1 .. 1 in order to let gcc easily
 * use the conditional move instructions.
 *
 * Note that we don't need to acquire the kernel lock for SMP
 * operation, as all of this is local to this thread.
 */
SYSCALL_DEFINE3(osf_sigprocmask, int, how, unsigned long, newmask,
		struct pt_regs *, regs)
SYSCALL_DEFINE2(osf_sigprocmask, int, how, unsigned long, newmask)
{
	unsigned long oldmask = -EINVAL;

	if ((unsigned long)how-1 <= 2) {
		long sign = how-2;		/* -1 .. 1 */
		unsigned long block, unblock;

		newmask &= _BLOCKABLE;
		spin_lock_irq(&current->sighand->siglock);
		oldmask = current->blocked.sig[0];

		unblock = oldmask & ~newmask;
		block = oldmask | newmask;
		if (!sign)
			block = unblock;
		if (sign <= 0)
			newmask = block;
		if (_NSIG_WORDS > 1 && sign > 0)
			sigemptyset(&current->blocked);
		current->blocked.sig[0] = newmask;
		recalc_sigpending();
		spin_unlock_irq(&current->sighand->siglock);
	sigset_t oldmask;
	sigset_t mask;
	unsigned long res;

		regs->r0 = 0;		/* special no error return */
	siginitset(&mask, newmask & ~_BLOCKABLE);
	res = sigprocmask(how, &mask, &oldmask);
	if (!res) {
		force_successful_syscall_return();
		res = oldmask.sig[0];
	}
	return oldmask;
	return res;
}

SYSCALL_DEFINE3(osf_sigaction, int, sig,
@@ -94,9 +68,9 @@ SYSCALL_DEFINE3(osf_sigaction, int, sig,
		old_sigset_t mask;
		if (!access_ok(VERIFY_READ, act, sizeof(*act)) ||
		    __get_user(new_ka.sa.sa_handler, &act->sa_handler) ||
		    __get_user(new_ka.sa.sa_flags, &act->sa_flags))
		    __get_user(new_ka.sa.sa_flags, &act->sa_flags) ||
		    __get_user(mask, &act->sa_mask))
			return -EFAULT;
		__get_user(mask, &act->sa_mask);
		siginitset(&new_ka.sa.sa_mask, mask);
		new_ka.ka_restorer = NULL;
	}
@@ -106,9 +80,9 @@ SYSCALL_DEFINE3(osf_sigaction, int, sig,
	if (!ret && oact) {
		if (!access_ok(VERIFY_WRITE, oact, sizeof(*oact)) ||
		    __put_user(old_ka.sa.sa_handler, &oact->sa_handler) ||
		    __put_user(old_ka.sa.sa_flags, &oact->sa_flags))
		    __put_user(old_ka.sa.sa_flags, &oact->sa_flags) ||
		    __put_user(old_ka.sa.sa_mask.sig[0], &oact->sa_mask))
			return -EFAULT;
		__put_user(old_ka.sa.sa_mask.sig[0], &oact->sa_mask);
	}

	return ret;
Loading