rpms/kernel/FC-6 linux-2.6-x86-apic-auto.patch, NONE, 1.1 kernel-2.6.spec, 1.2834, 1.2835 linux-2.6-xen.patch, 1.75, 1.76

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Thu Nov 2 05:49:09 UTC 2006


Author: davej

Update of /cvs/dist/rpms/kernel/FC-6
In directory cvs.devel.redhat.com:/tmp/cvs-serv19432

Modified Files:
	kernel-2.6.spec linux-2.6-xen.patch 
Added Files:
	linux-2.6-x86-apic-auto.patch 
Log Message:
Use heuristics to determine whether to enable lapic on i386.

linux-2.6-x86-apic-auto.patch:
 Documentation/kernel-parameters.txt |    4 +
 arch/i386/Kconfig                   |   10 ++++
 arch/i386/kernel/apic.c             |   73 ++++++++++++++++++++++++++++++++++--
 arch/i386/kernel/mpparse.c          |    5 ++
 arch/i386/kernel/setup.c            |    9 +++-
 drivers/firmware/dmi_scan.c         |    5 ++
 include/asm-i386/apic.h             |    2 
 include/linux/dmi.h                 |    2 
 8 files changed, 104 insertions(+), 6 deletions(-)

--- NEW FILE linux-2.6-x86-apic-auto.patch ---
Subject: Add heuristics to enable/disable local APIC
From: ak at suse.de
Patch-mainline: maybe

Adds a new heuristical APIC mode that is similar to the old SUSE APIC_OFF,
but does DTRT on UP systems with SMP kernels and has some more tweaks.

This is a much cleaner patch than before.

---
 Documentation/kernel-parameters.txt |    4 +
 arch/i386/Kconfig                   |   10 ++++
 arch/i386/kernel/apic.c             |   73 ++++++++++++++++++++++++++++++++++--
 arch/i386/kernel/mpparse.c          |    5 ++
 arch/i386/kernel/setup.c            |    9 +++-
 drivers/firmware/dmi_scan.c         |    5 ++
 include/asm-i386/apic.h             |    2 
 include/linux/dmi.h                 |    2 
 8 files changed, 104 insertions(+), 6 deletions(-)

--- linux-2.6.18.orig/Documentation/kernel-parameters.txt
+++ linux-2.6.18/Documentation/kernel-parameters.txt
@@ -1027,6 +1027,10 @@ running once the system is up.
 	noapic		[SMP,APIC] Tells the kernel to not make use of any
 			IOAPICs that may be present in the system.
 
+	apic		[APIC,i386] Override default heuristics to enable/disable the local
+			APIC by CONFIG_X86_APIC_AUTO. When this option is set the kernel
+			will try to use the local APIC.
+
 	noasync		[HW,M68K] Disables async and sync negotiation for
 			all devices.
 
--- linux-2.6.18.orig/arch/i386/Kconfig
+++ linux-2.6.18/arch/i386/Kconfig
@@ -291,6 +291,16 @@ config X86_LOCAL_APIC
 	depends on X86_UP_APIC || ((X86_VISWS || SMP) && !X86_VOYAGER)
 	default y
 
+config X86_APIC_AUTO
+        bool "Use heuristics to enable/disable local APIC"
+	depends on X86_LOCAL_APIC
+	help
+	  This option uses some proven heuristics to automatically enable or disable the local
+	  APIC. All decisions can be overriden by command line options.
+	  In a nutshell very old systems run better with APIC off and newer or multiprocessor
+	  systems prefer APIC on
+	  This is a useful default for distribution kernels.
+
 config X86_IO_APIC
 	bool
 	depends on X86_UP_IOAPIC || (SMP && !(X86_VISWS || X86_VOYAGER))
--- linux-2.6.18.orig/arch/i386/kernel/apic.c
+++ linux-2.6.18/arch/i386/kernel/apic.c
@@ -26,6 +26,7 @@
 #include <linux/sysdev.h>
 #include <linux/cpu.h>
 #include <linux/module.h>
+#include <linux/dmi.h>
 
 #include <asm/atomic.h>
 #include <asm/smp.h>
@@ -53,6 +54,9 @@ static cpumask_t timer_bcast_ipi;
  * Knob to control our willingness to enable the local APIC.
  */
 int enable_local_apic __initdata = 0; /* -1=force-disable, +1=force-enable */
+int prefer_apic __initdata = 0;	/* when enable_local_apic == 0 prefer APIC but don't force against
+				   BIOS wishes */
+int apic_disabled_by_dmi __initdata;
 
 /*
  * Debug level
@@ -753,6 +757,10 @@ static void apic_pm_activate(void) { }
 
 static int __init apic_set_verbosity(char *str)
 {
+	if (*str == '=')
+		++str;
+	if (*str == 0)
+		prefer_apic = 1;
 	if (strcmp("debug", str) == 0)
 		apic_verbosity = APIC_DEBUG;
 	else if (strcmp("verbose", str) == 0)
@@ -760,7 +768,7 @@ static int __init apic_set_verbosity(cha
 	return 1;
 }
 
-__setup("apic=", apic_set_verbosity);
+__setup("apic", apic_set_verbosity);
 
 static int __init detect_init_APIC (void)
 {
@@ -791,8 +799,9 @@ static int __init detect_init_APIC (void
 		 * APIC only if "lapic" specified.
 		 */
 		if (enable_local_apic <= 0) {
-			printk("Local APIC disabled by BIOS -- "
-			       "you can enable it with \"lapic\"\n");
+			if (!apic_disabled_by_dmi)
+				printk("Local APIC disabled by BIOS -- "
+				       "you can enable it with \"lapic\"\n");
 			return -1;
 		}
 		/*
@@ -1326,6 +1335,64 @@ fastcall void smp_error_interrupt(struct
 	irq_exit();
 }
 
+#ifdef CONFIG_X86_APIC_AUTO
+
+/* Some heuristics to decide when to enable the APICs */
+
+static __init int dmi_enable_apic(void)
+{
+	int year;
+	int apic;
+	char *vendor;
+
+	/* If the machine has more than one CPU try to use APIC because it'll
+	   be running the SMP kernel with APIC soon anyways.
+	   This won't cover dual core, but they are handled by the date check
+	   below. */
+	if (dmi_cpus > 1)
+		return 1;
+
+	year = dmi_get_year(DMI_BIOS_DATE);
+	vendor = dmi_get_system_info(DMI_BIOS_VENDOR);
+	apic = 0;
+
+	/* All Intel BIOS since 1998 assumed APIC on. Don't include 1998 itself
+	   because we're not sure for that. */
+	if (vendor && !strncmp(vendor, "Intel", 5))
+		apic = 1;
+	/* Use APIC for anything since 2001 */
+	else if (year >= 2001)
+		apic = 1;
+
+#ifdef CONFIG_ACPI
+	/* When ACPI is disabled also default to APIC off on very new systems (>= 2004)
+	   which typically don't have working mptables anymore */
+	if (acpi_noirq && year >= 2004)
+		apic = 0;
+#endif
+
+	if (!apic)
+		apic_disabled_by_dmi = 1;
+
+	return apic;
+}
+
+void __init dmi_check_apic(void)
+{
+	if (enable_local_apic != 0 || prefer_apic)
+		return;
+	if (!dmi_enable_apic()) {
+		clear_bit(X86_FEATURE_APIC, boot_cpu_data.x86_capability);
+		nr_ioapics = 0;
+		enable_local_apic = -1;
+		printk(KERN_INFO "IO/L-APIC disabled because your old system seems to be old\n");
+		printk(KERN_INFO "overwrite with \"apic\"\n");
+		return;
+	}
+	printk(KERN_INFO "IO/L-APIC allowed because system is MP or new enough\n");
+}
+#endif
+
 /*
  * This initializes the IO-APIC and APIC hardware if this is
  * a UP kernel.
--- linux-2.6.18.orig/drivers/firmware/dmi_scan.c
+++ linux-2.6.18/drivers/firmware/dmi_scan.c
@@ -154,6 +154,8 @@ static void __init dmi_save_ipmi_device(
 	list_add(&dev->list, &dmi_devices);
 }
 
+int dmi_cpus;
+
 /*
  *	Process a DMI table entry. Right now all we care about are the BIOS
  *	and machine entries. For 2.5 we should pull the smbus controller info
@@ -178,6 +180,9 @@ static void __init dmi_decode(struct dmi
 		dmi_save_ident(dm, DMI_BOARD_NAME, 5);
 		dmi_save_ident(dm, DMI_BOARD_VERSION, 6);
 		break;
+	case 4:		/* Central Processor */
+		dmi_cpus++;
+		break;
 	case 10:	/* Onboard Devices Information */
 		dmi_save_devices(dm);
 		break;
--- linux-2.6.18.orig/include/linux/dmi.h
+++ linux-2.6.18/include/linux/dmi.h
@@ -68,7 +68,7 @@ extern struct dmi_device * dmi_find_devi
 	struct dmi_device *from);
 extern void dmi_scan_machine(void);
 extern int dmi_get_year(int field);
-
+extern int dmi_cpus;
 #else
 
 static inline int dmi_check_system(struct dmi_system_id *list) { return 0; }
--- linux-2.6.18.orig/arch/i386/kernel/setup.c
+++ linux-2.6.18/arch/i386/kernel/setup.c
@@ -61,6 +61,7 @@
 #include <asm/io.h>
 #include <setup_arch.h>
 #include <bios_ebda.h>
+#include <asm/apic.h>
 
 /* Forward Declaration. */
 void __init find_max_pfn(void);
@@ -865,7 +866,7 @@ static void __init parse_cmdline_early (
 
 #ifdef CONFIG_X86_LOCAL_APIC
 		/* enable local APIC */
-		else if (!memcmp(from, "lapic", 5))
+		else if (!memcmp(from, "lapic", 5) || !memcmp(from, "apic", 4))
 			lapic_enable();
 
 		/* disable local APIC */
@@ -1543,6 +1544,10 @@ void __init setup_arch(char **cmdline_p)
 	if (efi_enabled)
 		efi_map_memmap();
 
+#ifdef CONFIG_X86_APIC_AUTO
+	dmi_check_apic();
+#endif
+
 #ifdef CONFIG_ACPI
 	/*
 	 * Parse the ACPI tables for possible boot-time SMP configuration.
@@ -1565,7 +1570,7 @@ void __init setup_arch(char **cmdline_p)
 #endif
 #endif
 #ifdef CONFIG_X86_LOCAL_APIC
-	if (smp_found_config)
+	if (smp_found_config && cpu_has_apic)
 		get_smp_config();
 #endif
 
--- linux-2.6.18.orig/include/asm-i386/apic.h
+++ linux-2.6.18/include/asm-i386/apic.h
@@ -126,6 +126,8 @@ void switch_ipi_to_APIC_timer(void *cpum
 
 extern int timer_over_8254;
 
+extern void dmi_check_apic(void);
+
 #else /* !CONFIG_X86_LOCAL_APIC */
 static inline void lapic_shutdown(void) { }
 
--- linux-2.6.18.orig/arch/i386/kernel/mpparse.c
+++ linux-2.6.18/arch/i386/kernel/mpparse.c
@@ -673,6 +673,11 @@ void __init get_smp_config (void)
 	else if (acpi_lapic)
 		printk(KERN_INFO "Using ACPI for processor (LAPIC) configuration information\n");
 
+	else if (enable_local_apic < 0) {
+		smp_found_config = 0;
+		return;
+	}
+
 	printk(KERN_INFO "Intel MultiProcessor Specification v1.%d\n", mpf->mpf_specification);
 	if (mpf->mpf_feature2 & (1<<7)) {
 		printk(KERN_INFO "    IMCR and PIC compatibility mode.\n");


Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel/FC-6/kernel-2.6.spec,v
retrieving revision 1.2834
retrieving revision 1.2835
diff -u -r1.2834 -r1.2835
--- kernel-2.6.spec	2 Nov 2006 05:24:48 -0000	1.2834
+++ kernel-2.6.spec	2 Nov 2006 05:49:06 -0000	1.2835
@@ -318,6 +318,7 @@
 Patch201: linux-2.6-x86-vga-vidfail.patch
 Patch202: linux-2.6-x86-64-edac-support.patch
 Patch203: linux-2.6-x86_64-silence-up-apic-errors.patch
+Patch204: linux-2.6-x86-apic-auto.patch
 Patch207: linux-2.6-x86_64-tif-restore-sigmask.patch
 Patch208: linux-2.6-x86_64-add-ppoll-pselect.patch
 Patch211: linux-2.6-x86-unwinder-fixes.patch
@@ -852,6 +853,8 @@
 %patch202 -p1
 # Suppress APIC errors on UP x86-64.
 %patch203 -p1
+# Use heuristics to determine whether to enable lapic on i386.
+%patch204 -p1
 # Support TIF_RESTORE_SIGMASK on x86_64
 %patch207 -p1
 # Add ppoll and pselect syscalls
@@ -2052,6 +2055,7 @@
 %changelog
 * Thu Nov  2 2006 Dave Jones <davej at redhat.com>
 - Nuke broken lazy execshield xen patch.
+- Use heuristics to determine whether to enable lapic on i386.
 
 * Wed Nov  1 2006 Dave Jones <davej at redhat.com>
 - 2.6.18.2-rc1

linux-2.6-xen.patch:
 arch/i386/Kconfig                                   |   85 
 arch/i386/Kconfig.cpu                               |    4 
 arch/i386/Kconfig.debug                             |    1 
 arch/i386/Makefile                                  |   24 
 arch/i386/boot-xen/Makefile                         |   21 
 arch/i386/kernel/Makefile                           |   21 
 arch/i386/kernel/acpi/Makefile                      |    4 
 arch/i386/kernel/acpi/boot-xen.c                    | 1168 ++++++++
 arch/i386/kernel/alternative.c                      |    8 
 arch/i386/kernel/apic-xen.c                         |  160 +
 arch/i386/kernel/asm-offsets.c                      |    7 
 arch/i386/kernel/cpu/Makefile                       |    5 
 arch/i386/kernel/cpu/common-xen.c                   |  739 +++++
 arch/i386/kernel/cpu/mtrr/Makefile                  |    7 
 arch/i386/kernel/cpu/mtrr/main-xen.c                |  197 +
 arch/i386/kernel/early_printk-xen.c                 |    2 
 arch/i386/kernel/entry-xen.S                        | 1213 ++++++++
 arch/i386/kernel/entry.S                            |    6 
 arch/i386/kernel/fixup.c                            |   92 
 arch/i386/kernel/head-xen.S                         |  200 +
 arch/i386/kernel/init_task-xen.c                    |   51 
 arch/i386/kernel/io_apic-xen.c                      | 2771 ++++++++++++++++++++
 arch/i386/kernel/ioport-xen.c                       |  121 
 arch/i386/kernel/irq-xen.c                          |  324 ++
 arch/i386/kernel/ldt-xen.c                          |  270 +
 arch/i386/kernel/microcode-xen.c                    |  147 +
 arch/i386/kernel/mpparse-xen.c                      | 1185 ++++++++
 arch/i386/kernel/pci-dma-xen.c                      |  379 ++
 arch/i386/kernel/process-xen.c                      |  812 +++++
 arch/i386/kernel/quirks-xen.c                       |   47 
 arch/i386/kernel/setup-xen.c                        | 1832 +++++++++++++
 arch/i386/kernel/smp-xen.c                          |  624 ++++
 arch/i386/kernel/swiotlb.c                          |  672 ++++
 arch/i386/kernel/sysenter.c                         |   22 
 arch/i386/kernel/time-xen.c                         | 1101 +++++++
 arch/i386/kernel/traps-xen.c                        | 1184 ++++++++
 arch/i386/kernel/traps.c                            |    9 
 arch/i386/kernel/tsc.c                              |    2 
 arch/i386/kernel/vm86.c                             |   12 
 arch/i386/kernel/vmlinux.lds.S                      |   12 
 arch/i386/kernel/vsyscall-note-xen.S                |   32 
 arch/i386/lib/delay.c                               |    3 
 arch/i386/mach-xen/Makefile                         |    5 
 arch/i386/mach-xen/irqflags.c                       |   99 
 arch/i386/mach-xen/setup.c                          |  154 +
 arch/i386/mm/Makefile                               |    8 
 arch/i386/mm/fault-xen.c                            |  770 +++++
 arch/i386/mm/highmem-xen.c                          |  133 
 arch/i386/mm/hypervisor.c                           |  457 +++
 arch/i386/mm/init-xen.c                             |  851 ++++++
 arch/i386/mm/ioremap-xen.c                          |  443 +++
 arch/i386/mm/pageattr.c                             |    2 
 arch/i386/mm/pgtable-xen.c                          |  699 +++++
 arch/i386/oprofile/Makefile                         |    4 
 arch/i386/oprofile/xenoprof.c                       |  584 ++++
 arch/i386/pci/Makefile                              |    9 
 arch/i386/pci/irq-xen.c                             | 1206 ++++++++
 arch/i386/pci/pcifront.c                            |   55 
 arch/i386/power/Makefile                            |    4 
 arch/ia64/Kconfig                                   |   74 
 arch/ia64/Makefile                                  |   16 
 arch/ia64/dig/setup.c                               |   17 
 arch/ia64/hp/sim/Makefile                           |    2 
 arch/ia64/kernel/asm-offsets.c                      |   25 
 arch/ia64/kernel/entry.S                            |   32 
 arch/ia64/kernel/gate.S                             |  113 
 arch/ia64/kernel/gate.lds.S                         |   22 
 arch/ia64/kernel/head.S                             |    6 
 arch/ia64/kernel/iosapic.c                          |   65 
 arch/ia64/kernel/irq_ia64.c                         |  259 +
 arch/ia64/kernel/pal.S                              |    5 
 arch/ia64/kernel/patch.c                            |   71 
 arch/ia64/kernel/setup.c                            |  128 
 arch/ia64/mm/ioremap.c                              |    3 
 arch/ia64/xen/Makefile                              |    9 
 arch/ia64/xen/drivers/README                        |    2 
 arch/ia64/xen/hypercall.S                           |  413 ++
 arch/ia64/xen/hypervisor.c                          | 1052 +++++++
 arch/ia64/xen/util.c                                |  117 
 arch/ia64/xen/xcom_hcall.c                          |  469 +++
 arch/ia64/xen/xcom_privcmd.c                        |  600 ++++
 arch/ia64/xen/xencomm.c                             |  244 +
 arch/ia64/xen/xenentry.S                            |  867 ++++++
 arch/ia64/xen/xenhpski.c                            |   19 
 arch/ia64/xen/xenivt.S                              | 2169 +++++++++++++++
 arch/ia64/xen/xenminstate.h                         |  368 ++
 arch/ia64/xen/xenpal.S                              |   76 
 arch/ia64/xen/xensetup.S                            |   53 
 arch/um/kernel/physmem.c                            |    4 
 arch/x86_64/Kconfig                                 |   63 
 arch/x86_64/Makefile                                |   20 
 arch/x86_64/ia32/Makefile                           |   20 
 arch/x86_64/ia32/ia32entry-xen.S                    |  743 +++++
 arch/x86_64/ia32/syscall32-xen.c                    |  128 
 arch/x86_64/ia32/syscall32_syscall-xen.S            |   28 
 arch/x86_64/ia32/vsyscall-int80.S                   |   58 
 arch/x86_64/ia32/vsyscall-sigreturn.S               |    2 
 arch/x86_64/kernel/Makefile                         |   19 
 arch/x86_64/kernel/acpi/Makefile                    |    1 
 arch/x86_64/kernel/apic-xen.c                       |  197 +
 arch/x86_64/kernel/asm-offsets.c                    |    2 
 arch/x86_64/kernel/e820-xen.c                       |  757 +++++
 arch/x86_64/kernel/early_printk-xen.c               |  304 ++
 arch/x86_64/kernel/entry-xen.S                      | 1213 ++++++++
 arch/x86_64/kernel/genapic-xen.c                    |  143 +
 arch/x86_64/kernel/genapic_xen.c                    |  176 +
 arch/x86_64/kernel/head-xen.S                       |  191 +
 arch/x86_64/kernel/head64-xen.c                     |  161 +
 arch/x86_64/kernel/init_task.c                      |    3 
 arch/x86_64/kernel/io_apic-xen.c                    | 2263 ++++++++++++++++
 arch/x86_64/kernel/ioport-xen.c                     |   99 
 arch/x86_64/kernel/irq-xen.c                        |  198 +
 arch/x86_64/kernel/irqflags-xen.c                   |  100 
 arch/x86_64/kernel/ldt-xen.c                        |  282 ++
 arch/x86_64/kernel/mpparse-xen.c                    | 1011 +++++++
 arch/x86_64/kernel/pci-swiotlb-xen.c                |   54 
 arch/x86_64/kernel/process-xen.c                    |  793 +++++
 arch/x86_64/kernel/setup-xen.c                      | 1637 +++++++++++
 arch/x86_64/kernel/setup64-xen.c                    |  361 ++
 arch/x86_64/kernel/smp-xen.c                        |  600 ++++
 arch/x86_64/kernel/traps-xen.c                      | 1173 ++++++++
 arch/x86_64/kernel/vmlinux.lds.S                    |   31 
 arch/x86_64/kernel/vsyscall-xen.c                   |  239 +
 arch/x86_64/kernel/xen_entry.S                      |   40 
 arch/x86_64/mm/Makefile                             |   10 
 arch/x86_64/mm/fault-xen.c                          |  723 +++++
 arch/x86_64/mm/init-xen.c                           | 1200 ++++++++
 arch/x86_64/mm/pageattr-xen.c                       |  398 ++
 arch/x86_64/oprofile/Makefile                       |    5 
 arch/x86_64/pci/Makefile                            |   12 
 drivers/Makefile                                    |    1 
 drivers/acpi/Kconfig                                |    3 
 drivers/char/hangcheck-timer.c                      |    2 
 drivers/char/mem.c                                  |    6 
 drivers/char/tpm/Kconfig                            |   12 
 drivers/char/tpm/Makefile                           |    2 
 drivers/char/tpm/tpm.c                              |   55 
 drivers/char/tpm/tpm.h                              |    7 
 drivers/char/tpm/tpm_vtpm.c                         |  547 +++
 drivers/char/tpm/tpm_vtpm.h                         |   68 
 drivers/char/tpm/tpm_xen.c                          |  756 +++++
 drivers/char/tty_io.c                               |    7 
 drivers/firmware/Kconfig                            |    2 
 drivers/ide/ide-lib.c                               |    8 
 drivers/oprofile/buffer_sync.c                      |   66 
 drivers/oprofile/cpu_buffer.c                       |   51 
 drivers/oprofile/cpu_buffer.h                       |    9 
 drivers/oprofile/event_buffer.h                     |    7 
 drivers/oprofile/oprof.c                            |   32 
 drivers/oprofile/oprof.h                            |    3 
 drivers/oprofile/oprofile_files.c                   |  207 +
 drivers/pci/Kconfig                                 |    1 
 drivers/serial/Kconfig                              |    1 
 drivers/xen/Kconfig                                 |  260 +
 drivers/xen/Makefile                                |   17 
 drivers/xen/balloon/Makefile                        |    2 
 drivers/xen/balloon/balloon.c                       |  637 ++++
 drivers/xen/blkback/Makefile                        |    3 
 drivers/xen/blkback/blkback.c                       |  549 +++
 drivers/xen/blkback/common.h                        |  133 
 drivers/xen/blkback/interface.c                     |  171 +
 drivers/xen/blkback/vbd.c                           |  119 
 drivers/xen/blkback/xenbus.c                        |  468 +++
 drivers/xen/blkfront/Kconfig                        |    6 
 drivers/xen/blkfront/Makefile                       |    5 
 drivers/xen/blkfront/blkfront.c                     |  846 ++++++
 drivers/xen/blkfront/block.h                        |  154 +
 drivers/xen/blkfront/vbd.c                          |  318 ++
 drivers/xen/blktap/Makefile                         |    6 
 drivers/xen/blktap/blktapmain.c                     | 1393 ++++++++++
 drivers/xen/blktap/common.h                         |  120 
 drivers/xen/blktap/interface.c                      |  164 +
 drivers/xen/blktap/xenbus.c                         |  366 ++
 drivers/xen/char/Makefile                           |    2 
 drivers/xen/char/mem.c                              |  180 +
 drivers/xen/console/Makefile                        |    2 
 drivers/xen/console/console.c                       |  688 ++++
 drivers/xen/console/xencons_ring.c                  |  143 +
 drivers/xen/core/Makefile                           |   13 
 drivers/xen/core/cpu_hotplug.c                      |  188 +
 drivers/xen/core/evtchn.c                           |  868 ++++++
 drivers/xen/core/features.c                         |   30 
 drivers/xen/core/gnttab.c                           |  483 +++
 drivers/xen/core/hypervisor_sysfs.c                 |   59 
 drivers/xen/core/reboot.c                           |  384 ++
 drivers/xen/core/skbuff.c                           |  144 +
 drivers/xen/core/smpboot.c                          |  429 +++
 drivers/xen/core/xen_proc.c                         |   18 
 drivers/xen/core/xen_sysfs.c                        |  378 ++
 drivers/xen/evtchn/Makefile                         |    2 
 drivers/xen/evtchn/evtchn.c                         |  456 +++
 drivers/xen/netback/Makefile                        |    5 
 drivers/xen/netback/common.h                        |  141 +
 drivers/xen/netback/interface.c                     |  358 ++
 drivers/xen/netback/loopback.c                      |  320 ++
 drivers/xen/netback/netback.c                       | 1509 ++++++++++
 drivers/xen/netback/xenbus.c                        |  479 +++
 drivers/xen/netfront/Kconfig                        |    6 
 drivers/xen/netfront/Makefile                       |    4 
 drivers/xen/netfront/netfront.c                     | 2146 +++++++++++++++
 drivers/xen/pciback/Makefile                        |   15 
 drivers/xen/pciback/conf_space.c                    |  425 +++
 drivers/xen/pciback/conf_space.h                    |  126 
 drivers/xen/pciback/conf_space_capability.c         |   71 
 drivers/xen/pciback/conf_space_capability.h         |   23 
 drivers/xen/pciback/conf_space_capability_pm.c      |  113 
 drivers/xen/pciback/conf_space_capability_vpd.c     |   42 
 drivers/xen/pciback/conf_space_header.c             |  299 ++
 drivers/xen/pciback/conf_space_quirks.c             |  128 
 drivers/xen/pciback/conf_space_quirks.h             |   35 
 drivers/xen/pciback/passthrough.c                   |  157 +
 drivers/xen/pciback/pci_stub.c                      |  916 ++++++
 drivers/xen/pciback/pciback.h                       |   93 
 drivers/xen/pciback/pciback_ops.c                   |   95 
 drivers/xen/pciback/slot.c                          |  151 +
 drivers/xen/pciback/vpci.c                          |  204 +
 drivers/xen/pciback/xenbus.c                        |  458 +++
 drivers/xen/pcifront/Makefile                       |    7 
 drivers/xen/pcifront/pci.c                          |   46 
 drivers/xen/pcifront/pci_op.c                       |  273 +
 drivers/xen/pcifront/pcifront.h                     |   40 
 drivers/xen/pcifront/xenbus.c                       |  295 ++
 drivers/xen/privcmd/Makefile                        |    2 
 drivers/xen/privcmd/privcmd.c                       |  283 ++
 drivers/xen/tpmback/Makefile                        |    4 
 drivers/xen/tpmback/common.h                        |   86 
 drivers/xen/tpmback/interface.c                     |  182 +
 drivers/xen/tpmback/tpmback.c                       |  944 ++++++
 drivers/xen/tpmback/xenbus.c                        |  287 ++
 drivers/xen/util.c                                  |   70 
 drivers/xen/xenbus/Makefile                         |   12 
 drivers/xen/xenbus/xenbus_backend_client.c          |  147 +
 drivers/xen/xenbus/xenbus_client.c                  |  299 ++
 drivers/xen/xenbus/xenbus_comms.c                   |  203 +
 drivers/xen/xenbus/xenbus_comms.h                   |   45 
 drivers/xen/xenbus/xenbus_dev.c                     |  356 ++
 drivers/xen/xenbus/xenbus_probe.c                   | 1190 ++++++++
 drivers/xen/xenbus/xenbus_xs.c                      |  853 ++++++
 fs/Kconfig                                          |    1 
 include/asm-generic/vmlinux.lds.h                   |    3 
 include/asm-i386/apic.h                             |    2 
 include/asm-i386/fixmap.h                           |    1 
 include/asm-i386/mach-default/mach_traps.h          |   12 
 include/asm-i386/mach-xen/asm/agp.h                 |   37 
 include/asm-i386/mach-xen/asm/desc.h                |  164 +
 include/asm-i386/mach-xen/asm/dma-mapping.h         |  151 +
 include/asm-i386/mach-xen/asm/fixmap.h              |  156 +
 include/asm-i386/mach-xen/asm/floppy.h              |  147 +
 include/asm-i386/mach-xen/asm/highmem.h             |   80 
 include/asm-i386/mach-xen/asm/hw_irq.h              |   72 
 include/asm-i386/mach-xen/asm/hypercall.h           |  389 ++
 include/asm-i386/mach-xen/asm/hypervisor.h          |  234 +
 include/asm-i386/mach-xen/asm/io.h                  |  389 ++
 include/asm-i386/mach-xen/asm/irqflags.h            |   80 
 include/asm-i386/mach-xen/asm/kmap_types.h          |   31 
 include/asm-i386/mach-xen/asm/maddr.h               |  160 +
 include/asm-i386/mach-xen/asm/mmu.h                 |   29 
 include/asm-i386/mach-xen/asm/mmu_context.h         |  108 
 include/asm-i386/mach-xen/asm/page.h                |  220 +
 include/asm-i386/mach-xen/asm/param.h               |   23 
 include/asm-i386/mach-xen/asm/pci.h                 |  153 +
 include/asm-i386/mach-xen/asm/pgalloc.h             |   63 
 include/asm-i386/mach-xen/asm/pgtable-2level-defs.h |   21 
 include/asm-i386/mach-xen/asm/pgtable-2level.h      |   87 
 include/asm-i386/mach-xen/asm/pgtable-3level-defs.h |   25 
 include/asm-i386/mach-xen/asm/pgtable-3level.h      |  185 +
 include/asm-i386/mach-xen/asm/pgtable.h             |  508 +++
 include/asm-i386/mach-xen/asm/processor.h           |  741 +++++
 include/asm-i386/mach-xen/asm/ptrace.h              |   90 
 include/asm-i386/mach-xen/asm/scatterlist.h         |   22 
 include/asm-i386/mach-xen/asm/segment.h             |  117 
 include/asm-i386/mach-xen/asm/setup.h               |   81 
 include/asm-i386/mach-xen/asm/smp.h                 |  103 
 include/asm-i386/mach-xen/asm/spinlock.h            |  202 +
 include/asm-i386/mach-xen/asm/swiotlb.h             |   41 
 include/asm-i386/mach-xen/asm/synch_bitops.h        |  141 +
 include/asm-i386/mach-xen/asm/system.h              |  491 +++
 include/asm-i386/mach-xen/asm/timer.h               |   70 
 include/asm-i386/mach-xen/asm/tlbflush.h            |  101 
 include/asm-i386/mach-xen/asm/vga.h                 |   20 
 include/asm-i386/mach-xen/irq_vectors.h             |  125 
 include/asm-i386/mach-xen/mach_traps.h              |   33 
 include/asm-i386/mach-xen/setup_arch.h              |    5 
 include/asm-i386/pgtable-2level-defs.h              |    2 
 include/asm-i386/pgtable-3level-defs.h              |    2 
 include/asm-ia64/agp.h                              |   44 
 include/asm-ia64/dma-mapping.h                      |  100 
 include/asm-ia64/fixmap.h                           |    2 
 include/asm-ia64/gcc_intrin.h                       |   60 
 include/asm-ia64/hw_irq.h                           |   10 
 include/asm-ia64/hypercall.h                        |  423 +++
 include/asm-ia64/hypervisor.h                       |  208 +
 include/asm-ia64/intel_intrin.h                     |   68 
 include/asm-ia64/io.h                               |   34 
 include/asm-ia64/iosapic.h                          |    2 
 include/asm-ia64/irq.h                              |   31 
 include/asm-ia64/machvec_dig.h                      |   15 
 include/asm-ia64/maddr.h                            |  107 
 include/asm-ia64/meminit.h                          |    5 
 include/asm-ia64/page.h                             |   50 
 include/asm-ia64/pal.h                              |    1 
 include/asm-ia64/pgalloc.h                          |    4 
 include/asm-ia64/privop.h                           |   59 
 include/asm-ia64/processor.h                        |    1 
 include/asm-ia64/synch_bitops.h                     |   61 
 include/asm-ia64/system.h                           |    4 
 include/asm-ia64/xen/privop.h                       |  301 ++
 include/asm-ia64/xen/xcom_hcall.h                   |   74 
 include/asm-ia64/xen/xencomm.h                      |   57 
 include/asm-um/page.h                               |    2 
 include/asm-x86_64/apic.h                           |    2 
 include/asm-x86_64/ipi.h                            |    2 
 include/asm-x86_64/mach-xen/asm/arch_hooks.h        |   27 
 include/asm-x86_64/mach-xen/asm/bootsetup.h         |   42 
 include/asm-x86_64/mach-xen/asm/desc.h              |  263 +
 include/asm-x86_64/mach-xen/asm/dma-mapping.h       |  208 +
 include/asm-x86_64/mach-xen/asm/dmi.h               |   29 
 include/asm-x86_64/mach-xen/asm/e820.h              |   64 
 include/asm-x86_64/mach-xen/asm/fixmap.h            |  113 
 include/asm-x86_64/mach-xen/asm/floppy.h            |  206 +
 include/asm-x86_64/mach-xen/asm/hw_irq.h            |  136 
 include/asm-x86_64/mach-xen/asm/hypercall.h         |  389 ++
 include/asm-x86_64/mach-xen/asm/hypervisor.h        |    2 
 include/asm-x86_64/mach-xen/asm/io.h                |  327 ++
 include/asm-x86_64/mach-xen/asm/irq.h               |   38 
 include/asm-x86_64/mach-xen/asm/irqflags.h          |   65 
 include/asm-x86_64/mach-xen/asm/maddr.h             |  139 +
 include/asm-x86_64/mach-xen/asm/mmu.h               |   38 
 include/asm-x86_64/mach-xen/asm/mmu_context.h       |  135 
 include/asm-x86_64/mach-xen/asm/msr.h               |  399 ++
 include/asm-x86_64/mach-xen/asm/nmi.h               |   93 
 include/asm-x86_64/mach-xen/asm/page.h              |  208 +
 include/asm-x86_64/mach-xen/asm/param.h             |   22 
 include/asm-x86_64/mach-xen/asm/pci.h               |  173 +
 include/asm-x86_64/mach-xen/asm/pgalloc.h           |  226 +
 include/asm-x86_64/mach-xen/asm/pgtable.h           |  558 ++++
 include/asm-x86_64/mach-xen/asm/processor.h         |  504 +++
 include/asm-x86_64/mach-xen/asm/ptrace.h            |  125 
 include/asm-x86_64/mach-xen/asm/smp.h               |  150 +
 include/asm-x86_64/mach-xen/asm/synch_bitops.h      |    2 
 include/asm-x86_64/mach-xen/asm/system.h            |  264 +
 include/asm-x86_64/mach-xen/asm/timer.h             |   67 
 include/asm-x86_64/mach-xen/asm/tlbflush.h          |  103 
 include/asm-x86_64/mach-xen/asm/vga.h               |   20 
 include/asm-x86_64/mach-xen/asm/xor.h               |  328 ++
 include/asm-x86_64/mach-xen/irq_vectors.h           |  123 
 include/asm-x86_64/mach-xen/mach_time.h             |  111 
 include/asm-x86_64/mach-xen/mach_timer.h            |   48 
 include/asm-x86_64/mach-xen/setup_arch_post.h       |   58 
 include/asm-x86_64/mach-xen/setup_arch_pre.h        |    5 
 include/linux/elfnote.h                             |   90 
 include/linux/gfp.h                                 |    6 
 include/linux/highmem.h                             |    6 
 include/linux/interrupt.h                           |    6 
 include/linux/mm.h                                  |   10 
 include/linux/oprofile.h                            |   11 
 include/linux/pfn.h                                 |    4 
 include/linux/skbuff.h                              |   15 
 include/xen/balloon.h                               |   57 
 include/xen/cpu_hotplug.h                           |   43 
 include/xen/driver_util.h                           |   15 
 include/xen/evtchn.h                                |  113 
 include/xen/features.h                              |   20 
 include/xen/foreign_page.h                          |   30 
 include/xen/gnttab.h                                |  150 +
 include/xen/hvm.h                                   |   24 
 include/xen/hypervisor_sysfs.h                      |   32 
 include/xen/interface/acm.h                         |  187 +
 include/xen/interface/acm_ops.h                     |  102 
 include/xen/interface/arch-ia64.h                   |  444 +++
 include/xen/interface/arch-powerpc.h                |  115 
 include/xen/interface/arch-x86_32.h                 |  255 +
 include/xen/interface/arch-x86_64.h                 |  322 ++
 include/xen/interface/callback.h                    |   74 
 include/xen/interface/dom0_ops.h                    |  102 
 include/xen/interface/domctl.h                      |  392 ++
 include/xen/interface/elfnote.h                     |  133 
 include/xen/interface/event_channel.h               |  233 +
 include/xen/interface/features.h                    |   53 
 include/xen/interface/grant_table.h                 |  362 ++
 include/xen/interface/hvm/e820.h                    |   32 
 include/xen/interface/hvm/hvm_info_table.h          |   22 
 include/xen/interface/hvm/ioreq.h                   |   99 
 include/xen/interface/hvm/params.h                  |   24 
 include/xen/interface/hvm/vmx_assist.h              |   98 
 include/xen/interface/io/blkif.h                    |   87 
 include/xen/interface/io/console.h                  |   33 
 include/xen/interface/io/netif.h                    |  166 +
 include/xen/interface/io/pciif.h                    |   55 
 include/xen/interface/io/ring.h                     |  273 +
 include/xen/interface/io/tpmif.h                    |   59 
 include/xen/interface/io/xenbus.h                   |   45 
 include/xen/interface/io/xs_wire.h                  |   97 
 include/xen/interface/memory.h                      |  243 +
 include/xen/interface/nmi.h                         |   60 
 include/xen/interface/physdev.h                     |  149 +
 include/xen/interface/platform.h                    |  125 
 include/xen/interface/sched.h                       |  103 
 include/xen/interface/sysctl.h                      |  151 +
 include/xen/interface/trace.h                       |   87 
 include/xen/interface/vcpu.h                        |  121 
 include/xen/interface/version.h                     |   73 
 include/xen/interface/xen-compat.h                  |   26 
 include/xen/interface/xen.h                         |  581 ++++
 include/xen/interface/xencomm.h                     |   37 
 include/xen/interface/xenoprof.h                    |  110 
 include/xen/pcifront.h                              |   76 
 include/xen/public/evtchn.h                         |   88 
 include/xen/public/privcmd.h                        |   79 
 include/xen/xen_proc.h                              |   12 
 include/xen/xenbus.h                                |  306 ++
 include/xen/xencons.h                               |   17 
 kernel/Kconfig.preempt                              |    1 
 kernel/fork.c                                       |    3 
 kernel/irq/manage.c                                 |    1 
 lib/Kconfig.debug                                   |    2 
 lib/Makefile                                        |    1 
 mm/Kconfig                                          |    4 
 mm/highmem.c                                        |   11 
 mm/memory.c                                         |  120 
 mm/mmap.c                                           |    4 
 mm/page_alloc.c                                     |    6 
 net/core/dev.c                                      |   63 
 net/core/skbuff.c                                   |   27 
 net/ipv4/netfilter/ip_nat_proto_tcp.c               |    7 
 net/ipv4/netfilter/ip_nat_proto_udp.c               |    7 
 net/ipv4/xfrm4_output.c                             |    6 
 net/ipv6/addrconf.c                                 |    2 
 scripts/Makefile.xen                                |   14 
 429 files changed, 90268 insertions(+), 221 deletions(-)

Index: linux-2.6-xen.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/FC-6/linux-2.6-xen.patch,v
retrieving revision 1.75
retrieving revision 1.76
diff -u -r1.75 -r1.76
--- linux-2.6-xen.patch	17 Oct 2006 11:49:38 -0000	1.75
+++ linux-2.6-xen.patch	2 Nov 2006 05:49:06 -0000	1.76
@@ -79,7 +79,7 @@
  	help
  	  A local APIC (Advanced Programmable Interrupt Controller) is an
  	  integrated interrupt controller in the CPU. If you have a single-CPU
-@@ -288,12 +299,12 @@ config X86_UP_IOAPIC
+@@ -299,7 +299,7 @@ config X86_UP_IOAPIC
  
  config X86_LOCAL_APIC
  	bool
@@ -87,6 +87,9 @@
 +	depends on X86_UP_APIC || ((X86_VISWS || SMP) && !(X86_VOYAGER || XEN_UNPRIVILEGED_GUEST))
  	default y
  
+ config X86_APIC_AUTO
+@@ -314,7 +314,7 @@ config X86_APIC_AUTO
+ 
  config X86_IO_APIC
  	bool
 -	depends on X86_UP_IOAPIC || (SMP && !(X86_VISWS || X86_VOYAGER))




More information about the fedora-cvs-commits mailing list