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

Commit aef55d49 authored by H. Peter Anvin's avatar H. Peter Anvin
Browse files

Merge branch 'x86/urgent' into x86/irq



Merge reason: conflict in arch/x86/kernel/apic/io_apic.c

Resolved Conflicts:
	arch/x86/kernel/apic/io_apic.c

Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
parents ca4dbc66 eb5b3794
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -327,7 +327,6 @@ static int load_aout_binary(struct linux_binprm *bprm, struct pt_regs *regs)
	current->mm->free_area_cache = TASK_UNMAPPED_BASE;
	current->mm->cached_hole_size = 0;

	current->mm->mmap = NULL;
	install_exec_creds(bprm);
	current->flags &= ~PF_FORKNOEXEC;

+1 −0
Original line number Diff line number Diff line
@@ -160,6 +160,7 @@ extern int io_apic_get_redir_entries(int ioapic);
struct io_apic_irq_attr;
extern int io_apic_set_pci_routing(struct device *dev, int irq,
		 struct io_apic_irq_attr *irq_attr);
void setup_IO_APIC_irq_extra(u32 gsi);
extern int (*ioapic_renumber_irq)(int ioapic, int irq);
extern void ioapic_init_mappings(void);
extern void ioapic_insert_resources(void);
+2 −2
Original line number Diff line number Diff line
@@ -11,9 +11,9 @@
#include <linux/irqflags.h>

/* entries in ARCH_DLINFO: */
#ifdef CONFIG_IA32_EMULATION
#if defined(CONFIG_IA32_EMULATION) || !defined(CONFIG_X86_64)
# define AT_VECTOR_SIZE_ARCH 2
#else
#else /* else it's non-compat x86-64 */
# define AT_VECTOR_SIZE_ARCH 1
#endif

+8 −6
Original line number Diff line number Diff line
@@ -446,6 +446,12 @@ void __init acpi_pic_sci_set_trigger(unsigned int irq, u16 trigger)
int acpi_gsi_to_irq(u32 gsi, unsigned int *irq)
{
	*irq = gsi;

#ifdef CONFIG_X86_IO_APIC
	if (acpi_irq_model == ACPI_IRQ_MODEL_IOAPIC)
		setup_IO_APIC_irq_extra(gsi);
#endif

	return 0;
}

@@ -473,7 +479,8 @@ int acpi_register_gsi(struct device *dev, u32 gsi, int trigger, int polarity)
		plat_gsi = mp_register_gsi(dev, gsi, trigger, polarity);
	}
#endif
	acpi_gsi_to_irq(plat_gsi, &irq);
	irq = plat_gsi;

	return irq;
}

@@ -1185,9 +1192,6 @@ static void __init acpi_process_madt(void)
		if (!error) {
			acpi_lapic = 1;

#ifdef CONFIG_X86_BIGSMP
			generic_bigsmp_probe();
#endif
			/*
			 * Parse MADT IO-APIC entries
			 */
@@ -1197,8 +1201,6 @@ static void __init acpi_process_madt(void)
				acpi_ioapic = 1;

				smp_found_config = 1;
				if (apic->setup_apic_routing)
					apic->setup_apic_routing();
			}
		}
		if (error == -EINVAL) {
+0 −17
Original line number Diff line number Diff line
@@ -1641,9 +1641,7 @@ int __init APIC_init_uniprocessor(void)
#endif

	enable_IR_x2apic();
#ifdef CONFIG_X86_64
	default_setup_apic_routing();
#endif

	verify_local_APIC();
	connect_bsp_APIC();
@@ -1891,21 +1889,6 @@ void __cpuinit generic_processor_info(int apicid, int version)
	if (apicid > max_physical_apicid)
		max_physical_apicid = apicid;

#ifdef CONFIG_X86_32
	if (num_processors > 8) {
		switch (boot_cpu_data.x86_vendor) {
		case X86_VENDOR_INTEL:
			if (!APIC_XAPIC(version)) {
				def_to_bigsmp = 0;
				break;
			}
			/* If P4 and above fall through */
		case X86_VENDOR_AMD:
			def_to_bigsmp = 1;
		}
	}
#endif

#if defined(CONFIG_SMP) || defined(CONFIG_X86_64)
	early_per_cpu(x86_cpu_to_apicid, cpu) = apicid;
	early_per_cpu(x86_bios_cpu_apicid, cpu) = apicid;
Loading