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