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

Commit c3c9897c authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'x86-fixes-for-linus' of...

Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86: fix section mismatch warning - apic_x2apic_phys
  x86: fix section mismatch warning - apic_x2apic_cluster
  x86: fix section mismatch warning - apic_x2apic_uv_x
  x86: fix section mismatch warning - apic_physflat
  x86: fix section mismatch warning - apic_flat
  x86: memtest fix use of reserve_early()
  x86 syscall.h: fix argument order
  x86/tlb_uv: remove strange mc146818rtc include
  x86: remove redundant KERN_DEBUG on pr_debug
  x86: do_boot_cpu - check if we have ESR register
  x86: MAINTAINERS change for AMD microcode patch loader
  x86/proc: fix /proc/cpuinfo cpu offline bug
  x86: call dmi-quirks for HP Laptops after early-quirks are executed
  x86, kexec: fix hang on i386 when panic occurs while console_sem is held
  MCE: Don't run 32bit machine checks with interrupts on
  x86: SB600: skip IRQ0 override if it is not routed to INT2 of IOAPIC
  x86: make variables static
parents d2441183 3cfba089
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -378,8 +378,9 @@ T: git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu.git
S:	Supported
S:	Supported


AMD MICROCODE UPDATE SUPPORT
AMD MICROCODE UPDATE SUPPORT
P:      Peter Oruba
P:      Andreas Herrmann
M:      peter.oruba@amd.com
M:      andeas.herrmann3@amd.com
L:      amd64-microcode@amd64.org
S:      Supported
S:      Supported


AMS (Apple Motion Sensor) DRIVER
AMS (Apple Motion Sensor) DRIVER
+2 −2
Original line number Original line Diff line number Diff line
@@ -17,7 +17,7 @@
#include "boot.h"
#include "boot.h"
#include "video.h"
#include "video.h"


__videocard video_bios;
static __videocard video_bios;


/* Set a conventional BIOS mode */
/* Set a conventional BIOS mode */
static int set_bios_mode(u8 mode);
static int set_bios_mode(u8 mode);
@@ -119,7 +119,7 @@ static int bios_probe(void)
	return nmodes;
	return nmodes;
}
}


__videocard video_bios =
static __videocard video_bios =
{
{
	.card_name	= "BIOS",
	.card_name	= "BIOS",
	.probe		= bios_probe,
	.probe		= bios_probe,
+2 −2
Original line number Original line Diff line number Diff line
@@ -20,7 +20,7 @@
static struct vesa_general_info vginfo;
static struct vesa_general_info vginfo;
static struct vesa_mode_info vminfo;
static struct vesa_mode_info vminfo;


__videocard video_vesa;
static __videocard video_vesa;


#ifndef _WAKEUP
#ifndef _WAKEUP
static void vesa_store_mode_params_graphics(void);
static void vesa_store_mode_params_graphics(void);
@@ -293,7 +293,7 @@ void vesa_store_edid(void)


#endif /* not _WAKEUP */
#endif /* not _WAKEUP */


__videocard video_vesa =
static __videocard video_vesa =
{
{
	.card_name	= "VESA",
	.card_name	= "VESA",
	.probe		= vesa_probe,
	.probe		= vesa_probe,
+54 −52
Original line number Original line Diff line number Diff line
@@ -93,26 +93,26 @@ static inline void syscall_get_arguments(struct task_struct *task,
{
{
# ifdef CONFIG_IA32_EMULATION
# ifdef CONFIG_IA32_EMULATION
	if (task_thread_info(task)->status & TS_COMPAT)
	if (task_thread_info(task)->status & TS_COMPAT)
		switch (i + n) {
		switch (i) {
		case 6:
		case 0:
			if (!n--) break;
			if (!n--) break;
			*args++ = regs->bp;
			*args++ = regs->bx;
		case 5:
		case 1:
			if (!n--) break;
			if (!n--) break;
			*args++ = regs->di;
			*args++ = regs->cx;
		case 4:
		case 2:
			if (!n--) break;
			if (!n--) break;
			*args++ = regs->si;
			*args++ = regs->dx;
		case 3:
		case 3:
			if (!n--) break;
			if (!n--) break;
			*args++ = regs->dx;
			*args++ = regs->si;
		case 2:
		case 4:
			if (!n--) break;
			if (!n--) break;
			*args++ = regs->cx;
			*args++ = regs->di;
		case 1:
		case 5:
			if (!n--) break;
			if (!n--) break;
			*args++ = regs->bx;
			*args++ = regs->bp;
		case 0:
		case 6:
			if (!n--) break;
			if (!n--) break;
		default:
		default:
			BUG();
			BUG();
@@ -120,26 +120,26 @@ static inline void syscall_get_arguments(struct task_struct *task,
		}
		}
	else
	else
# endif
# endif
		switch (i + n) {
		switch (i) {
		case 6:
		case 0:
			if (!n--) break;
			if (!n--) break;
			*args++ = regs->r9;
			*args++ = regs->di;
		case 5:
		case 1:
			if (!n--) break;
			if (!n--) break;
			*args++ = regs->r8;
			*args++ = regs->si;
		case 4:
		case 2:
			if (!n--) break;
			if (!n--) break;
			*args++ = regs->r10;
			*args++ = regs->dx;
		case 3:
		case 3:
			if (!n--) break;
			if (!n--) break;
			*args++ = regs->dx;
			*args++ = regs->r10;
		case 2:
		case 4:
			if (!n--) break;
			if (!n--) break;
			*args++ = regs->si;
			*args++ = regs->r8;
		case 1:
		case 5:
			if (!n--) break;
			if (!n--) break;
			*args++ = regs->di;
			*args++ = regs->r9;
		case 0:
		case 6:
			if (!n--) break;
			if (!n--) break;
		default:
		default:
			BUG();
			BUG();
@@ -154,55 +154,57 @@ static inline void syscall_set_arguments(struct task_struct *task,
{
{
# ifdef CONFIG_IA32_EMULATION
# ifdef CONFIG_IA32_EMULATION
	if (task_thread_info(task)->status & TS_COMPAT)
	if (task_thread_info(task)->status & TS_COMPAT)
		switch (i + n) {
		switch (i) {
		case 6:
		case 0:
			if (!n--) break;
			if (!n--) break;
			regs->bp = *args++;
			regs->bx = *args++;
		case 5:
		case 1:
			if (!n--) break;
			if (!n--) break;
			regs->di = *args++;
			regs->cx = *args++;
		case 4:
		case 2:
			if (!n--) break;
			if (!n--) break;
			regs->si = *args++;
			regs->dx = *args++;
		case 3:
		case 3:
			if (!n--) break;
			if (!n--) break;
			regs->dx = *args++;
			regs->si = *args++;
		case 2:
		case 4:
			if (!n--) break;
			if (!n--) break;
			regs->cx = *args++;
			regs->di = *args++;
		case 1:
		case 5:
			if (!n--) break;
			if (!n--) break;
			regs->bx = *args++;
			regs->bp = *args++;
		case 0:
		case 6:
			if (!n--) break;
			if (!n--) break;
		default:
		default:
			BUG();
			BUG();
			break;
		}
		}
	else
	else
# endif
# endif
		switch (i + n) {
		switch (i) {
		case 6:
		case 0:
			if (!n--) break;
			if (!n--) break;
			regs->r9 = *args++;
			regs->di = *args++;
		case 5:
		case 1:
			if (!n--) break;
			if (!n--) break;
			regs->r8 = *args++;
			regs->si = *args++;
		case 4:
		case 2:
			if (!n--) break;
			if (!n--) break;
			regs->r10 = *args++;
			regs->dx = *args++;
		case 3:
		case 3:
			if (!n--) break;
			if (!n--) break;
			regs->dx = *args++;
			regs->r10 = *args++;
		case 2:
		case 4:
			if (!n--) break;
			if (!n--) break;
			regs->si = *args++;
			regs->r8 = *args++;
		case 1:
		case 5:
			if (!n--) break;
			if (!n--) break;
			regs->di = *args++;
			regs->r9 = *args++;
		case 0:
		case 6:
			if (!n--) break;
			if (!n--) break;
		default:
		default:
			BUG();
			BUG();
			break;
		}
		}
}
}


+9 −1
Original line number Original line Diff line number Diff line
@@ -1137,7 +1137,7 @@ int mp_register_gsi(u32 gsi, int triggering, int polarity)
		return gsi;
		return gsi;
	}
	}
	if (test_bit(ioapic_pin, mp_ioapic_routing[ioapic].pin_programmed)) {
	if (test_bit(ioapic_pin, mp_ioapic_routing[ioapic].pin_programmed)) {
		pr_debug(KERN_DEBUG "Pin %d-%d already programmed\n",
		pr_debug("Pin %d-%d already programmed\n",
			 mp_ioapic_routing[ioapic].apic_id, ioapic_pin);
			 mp_ioapic_routing[ioapic].apic_id, ioapic_pin);
#ifdef CONFIG_X86_32
#ifdef CONFIG_X86_32
		return (gsi < IRQ_COMPRESSION_START ? gsi : gsi_to_irq[gsi]);
		return (gsi < IRQ_COMPRESSION_START ? gsi : gsi_to_irq[gsi]);
@@ -1599,6 +1599,11 @@ static struct dmi_system_id __initdata acpi_dmi_table[] = {
		     DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 360"),
		     DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 360"),
		     },
		     },
	 },
	 },
	{}
};

/* second table for DMI checks that should run after early-quirks */
static struct dmi_system_id __initdata acpi_dmi_table_late[] = {
	/*
	/*
	 * HP laptops which use a DSDT reporting as HP/SB400/10000,
	 * HP laptops which use a DSDT reporting as HP/SB400/10000,
	 * which includes some code which overrides all temperature
	 * which includes some code which overrides all temperature
@@ -1727,6 +1732,9 @@ int __init early_acpi_boot_init(void)


int __init acpi_boot_init(void)
int __init acpi_boot_init(void)
{
{
	/* those are executed after early-quirks are executed */
	dmi_check_system(acpi_dmi_table_late);

	/*
	/*
	 * If acpi_disabled, bail out
	 * If acpi_disabled, bail out
	 * One exception: acpi=ht continues far enough to enumerate LAPICs
	 * One exception: acpi=ht continues far enough to enumerate LAPICs
Loading