mirror of https://gitee.com/openkylin/linux.git
Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6
* 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6: [PATCH] x86-64: no paravirt for X86_VOYAGER or X86_VISWS [PATCH] i386: Fix io_apic.c warning [PATCH] i386: export smp_num_siblings for oprofile [PATCH] x86: Work around gcc 4.2 over aggressive optimizer [PATCH] x86: Fix boot hang due to nmi watchdog init code [PATCH] x86: Fix verify_quirk_intel_irqbalance() [PATCH] i386: Update defconfig [PATCH] x86-64: Update defconfig
This commit is contained in:
commit
af1713e0f1
|
@ -190,6 +190,7 @@ endchoice
|
||||||
config PARAVIRT
|
config PARAVIRT
|
||||||
bool "Paravirtualization support (EXPERIMENTAL)"
|
bool "Paravirtualization support (EXPERIMENTAL)"
|
||||||
depends on EXPERIMENTAL
|
depends on EXPERIMENTAL
|
||||||
|
depends on !(X86_VISWS || X86_VOYAGER)
|
||||||
help
|
help
|
||||||
Paravirtualization is a way of running multiple instances of
|
Paravirtualization is a way of running multiple instances of
|
||||||
Linux on the same machine, under a hypervisor. This option
|
Linux on the same machine, under a hypervisor. This option
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#
|
#
|
||||||
# Automatically generated make config: don't edit
|
# Automatically generated make config: don't edit
|
||||||
# Linux kernel version: 2.6.19-git7
|
# Linux kernel version: 2.6.19-git14
|
||||||
# Wed Dec 6 23:50:49 2006
|
# Sat Dec 9 21:23:14 2006
|
||||||
#
|
#
|
||||||
CONFIG_X86_32=y
|
CONFIG_X86_32=y
|
||||||
CONFIG_GENERIC_TIME=y
|
CONFIG_GENERIC_TIME=y
|
||||||
|
@ -12,6 +12,7 @@ CONFIG_X86=y
|
||||||
CONFIG_MMU=y
|
CONFIG_MMU=y
|
||||||
CONFIG_GENERIC_ISA_DMA=y
|
CONFIG_GENERIC_ISA_DMA=y
|
||||||
CONFIG_GENERIC_IOMAP=y
|
CONFIG_GENERIC_IOMAP=y
|
||||||
|
CONFIG_GENERIC_BUG=y
|
||||||
CONFIG_GENERIC_HWEIGHT=y
|
CONFIG_GENERIC_HWEIGHT=y
|
||||||
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
|
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
|
||||||
CONFIG_DMI=y
|
CONFIG_DMI=y
|
||||||
|
@ -141,6 +142,8 @@ CONFIG_X86_CMPXCHG=y
|
||||||
CONFIG_X86_XADD=y
|
CONFIG_X86_XADD=y
|
||||||
CONFIG_X86_L1_CACHE_SHIFT=7
|
CONFIG_X86_L1_CACHE_SHIFT=7
|
||||||
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
|
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
|
||||||
|
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
|
||||||
|
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
|
||||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||||
CONFIG_X86_WP_WORKS_OK=y
|
CONFIG_X86_WP_WORKS_OK=y
|
||||||
CONFIG_X86_INVLPG=y
|
CONFIG_X86_INVLPG=y
|
||||||
|
@ -203,6 +206,7 @@ CONFIG_MTRR=y
|
||||||
CONFIG_SECCOMP=y
|
CONFIG_SECCOMP=y
|
||||||
# CONFIG_HZ_100 is not set
|
# CONFIG_HZ_100 is not set
|
||||||
CONFIG_HZ_250=y
|
CONFIG_HZ_250=y
|
||||||
|
# CONFIG_HZ_300 is not set
|
||||||
# CONFIG_HZ_1000 is not set
|
# CONFIG_HZ_1000 is not set
|
||||||
CONFIG_HZ=250
|
CONFIG_HZ=250
|
||||||
# CONFIG_KEXEC is not set
|
# CONFIG_KEXEC is not set
|
||||||
|
@ -563,6 +567,7 @@ CONFIG_IDEDMA_AUTO=y
|
||||||
#
|
#
|
||||||
# CONFIG_RAID_ATTRS is not set
|
# CONFIG_RAID_ATTRS is not set
|
||||||
CONFIG_SCSI=y
|
CONFIG_SCSI=y
|
||||||
|
# CONFIG_SCSI_TGT is not set
|
||||||
CONFIG_SCSI_NETLINK=y
|
CONFIG_SCSI_NETLINK=y
|
||||||
# CONFIG_SCSI_PROC_FS is not set
|
# CONFIG_SCSI_PROC_FS is not set
|
||||||
|
|
||||||
|
@ -583,6 +588,7 @@ CONFIG_CHR_DEV_SG=y
|
||||||
# CONFIG_SCSI_MULTI_LUN is not set
|
# CONFIG_SCSI_MULTI_LUN is not set
|
||||||
# CONFIG_SCSI_CONSTANTS is not set
|
# CONFIG_SCSI_CONSTANTS is not set
|
||||||
# CONFIG_SCSI_LOGGING is not set
|
# CONFIG_SCSI_LOGGING is not set
|
||||||
|
# CONFIG_SCSI_SCAN_ASYNC is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# SCSI Transports
|
# SCSI Transports
|
||||||
|
@ -642,6 +648,7 @@ CONFIG_AIC79XX_DEBUG_MASK=0
|
||||||
# CONFIG_SCSI_DC390T is not set
|
# CONFIG_SCSI_DC390T is not set
|
||||||
# CONFIG_SCSI_NSP32 is not set
|
# CONFIG_SCSI_NSP32 is not set
|
||||||
# CONFIG_SCSI_DEBUG is not set
|
# CONFIG_SCSI_DEBUG is not set
|
||||||
|
# CONFIG_SCSI_SRP is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Serial ATA (prod) and Parallel ATA (experimental) drivers
|
# Serial ATA (prod) and Parallel ATA (experimental) drivers
|
||||||
|
@ -1082,10 +1089,7 @@ CONFIG_SOUND=y
|
||||||
# Open Sound System
|
# Open Sound System
|
||||||
#
|
#
|
||||||
CONFIG_SOUND_PRIME=y
|
CONFIG_SOUND_PRIME=y
|
||||||
CONFIG_OSS_OBSOLETE_DRIVER=y
|
|
||||||
# CONFIG_SOUND_BT878 is not set
|
# CONFIG_SOUND_BT878 is not set
|
||||||
# CONFIG_SOUND_EMU10K1 is not set
|
|
||||||
# CONFIG_SOUND_FUSION is not set
|
|
||||||
# CONFIG_SOUND_ES1371 is not set
|
# CONFIG_SOUND_ES1371 is not set
|
||||||
CONFIG_SOUND_ICH=y
|
CONFIG_SOUND_ICH=y
|
||||||
# CONFIG_SOUND_TRIDENT is not set
|
# CONFIG_SOUND_TRIDENT is not set
|
||||||
|
@ -1094,6 +1098,11 @@ CONFIG_SOUND_ICH=y
|
||||||
# CONFIG_SOUND_VIA82CXXX is not set
|
# CONFIG_SOUND_VIA82CXXX is not set
|
||||||
# CONFIG_SOUND_OSS is not set
|
# CONFIG_SOUND_OSS is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# HID Devices
|
||||||
|
#
|
||||||
|
CONFIG_HID=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# USB support
|
# USB support
|
||||||
#
|
#
|
||||||
|
@ -1158,8 +1167,7 @@ CONFIG_USB_STORAGE=y
|
||||||
# USB Input Devices
|
# USB Input Devices
|
||||||
#
|
#
|
||||||
CONFIG_USB_HID=y
|
CONFIG_USB_HID=y
|
||||||
CONFIG_USB_HIDINPUT=y
|
# CONFIG_USB_HID_POWERBOOK is not set
|
||||||
# CONFIG_USB_HIDINPUT_POWERBOOK is not set
|
|
||||||
# CONFIG_HID_FF is not set
|
# CONFIG_HID_FF is not set
|
||||||
# CONFIG_USB_HIDDEV is not set
|
# CONFIG_USB_HIDDEV is not set
|
||||||
# CONFIG_USB_AIPTEK is not set
|
# CONFIG_USB_AIPTEK is not set
|
||||||
|
@ -1443,6 +1451,11 @@ CONFIG_NLS_ISO8859_15=y
|
||||||
# CONFIG_NLS_KOI8_U is not set
|
# CONFIG_NLS_KOI8_U is not set
|
||||||
CONFIG_NLS_UTF8=y
|
CONFIG_NLS_UTF8=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Distributed Lock Manager
|
||||||
|
#
|
||||||
|
# CONFIG_DLM is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Instrumentation Support
|
# Instrumentation Support
|
||||||
#
|
#
|
||||||
|
@ -1509,6 +1522,7 @@ CONFIG_DOUBLEFAULT=y
|
||||||
#
|
#
|
||||||
# Library routines
|
# Library routines
|
||||||
#
|
#
|
||||||
|
CONFIG_BITREVERSE=y
|
||||||
# CONFIG_CRC_CCITT is not set
|
# CONFIG_CRC_CCITT is not set
|
||||||
# CONFIG_CRC16 is not set
|
# CONFIG_CRC16 is not set
|
||||||
CONFIG_CRC32=y
|
CONFIG_CRC32=y
|
||||||
|
|
|
@ -2485,7 +2485,7 @@ device_initcall(ioapic_init_sysfs);
|
||||||
int create_irq(void)
|
int create_irq(void)
|
||||||
{
|
{
|
||||||
/* Allocate an unused irq */
|
/* Allocate an unused irq */
|
||||||
int irq, new, vector;
|
int irq, new, vector = 0;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
irq = -ENOSPC;
|
irq = -ENOSPC;
|
||||||
|
|
|
@ -195,6 +195,8 @@ static __cpuinit inline int nmi_known_cpu(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int endflag __initdata = 0;
|
||||||
|
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
/* The performance counters used by NMI_LOCAL_APIC don't trigger when
|
/* The performance counters used by NMI_LOCAL_APIC don't trigger when
|
||||||
* the CPU is idle. To make sure the NMI watchdog really ticks on all
|
* the CPU is idle. To make sure the NMI watchdog really ticks on all
|
||||||
|
@ -202,7 +204,6 @@ static __cpuinit inline int nmi_known_cpu(void)
|
||||||
*/
|
*/
|
||||||
static __init void nmi_cpu_busy(void *data)
|
static __init void nmi_cpu_busy(void *data)
|
||||||
{
|
{
|
||||||
volatile int *endflag = data;
|
|
||||||
local_irq_enable_in_hardirq();
|
local_irq_enable_in_hardirq();
|
||||||
/* Intentionally don't use cpu_relax here. This is
|
/* Intentionally don't use cpu_relax here. This is
|
||||||
to make sure that the performance counter really ticks,
|
to make sure that the performance counter really ticks,
|
||||||
|
@ -210,14 +211,13 @@ static __init void nmi_cpu_busy(void *data)
|
||||||
pause instruction. On a real HT machine this is fine because
|
pause instruction. On a real HT machine this is fine because
|
||||||
all other CPUs are busy with "useless" delay loops and don't
|
all other CPUs are busy with "useless" delay loops and don't
|
||||||
care if they get somewhat less cycles. */
|
care if they get somewhat less cycles. */
|
||||||
while (*endflag == 0)
|
while (endflag == 0)
|
||||||
barrier();
|
mb();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static int __init check_nmi_watchdog(void)
|
static int __init check_nmi_watchdog(void)
|
||||||
{
|
{
|
||||||
volatile int endflag = 0;
|
|
||||||
unsigned int *prev_nmi_count;
|
unsigned int *prev_nmi_count;
|
||||||
int cpu;
|
int cpu;
|
||||||
|
|
||||||
|
|
|
@ -10,13 +10,38 @@
|
||||||
#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_SMP) && defined(CONFIG_PCI)
|
#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_SMP) && defined(CONFIG_PCI)
|
||||||
static void __devinit verify_quirk_intel_irqbalance(struct pci_dev *dev)
|
static void __devinit verify_quirk_intel_irqbalance(struct pci_dev *dev)
|
||||||
{
|
{
|
||||||
|
u8 config, rev;
|
||||||
|
u32 word;
|
||||||
|
|
||||||
|
/* BIOS may enable hardware IRQ balancing for
|
||||||
|
* E7520/E7320/E7525(revision ID 0x9 and below)
|
||||||
|
* based platforms.
|
||||||
|
* For those platforms, make sure that the genapic is set to 'flat'
|
||||||
|
*/
|
||||||
|
pci_read_config_byte(dev, PCI_CLASS_REVISION, &rev);
|
||||||
|
if (rev > 0x9)
|
||||||
|
return;
|
||||||
|
|
||||||
|
/* enable access to config space*/
|
||||||
|
pci_read_config_byte(dev, 0xf4, &config);
|
||||||
|
pci_write_config_byte(dev, 0xf4, config|0x2);
|
||||||
|
|
||||||
|
/* read xTPR register */
|
||||||
|
raw_pci_ops->read(0, 0, 0x40, 0x4c, 2, &word);
|
||||||
|
|
||||||
|
if (!(word & (1 << 13))) {
|
||||||
#ifdef CONFIG_X86_64
|
#ifdef CONFIG_X86_64
|
||||||
if (genapic != &apic_flat)
|
if (genapic != &apic_flat)
|
||||||
panic("APIC mode must be flat on this system\n");
|
panic("APIC mode must be flat on this system\n");
|
||||||
#elif defined(CONFIG_X86_GENERICARCH)
|
#elif defined(CONFIG_X86_GENERICARCH)
|
||||||
if (genapic != &apic_default)
|
if (genapic != &apic_default)
|
||||||
panic("APIC mode must be default(flat) on this system. Use apic=default\n");
|
panic("APIC mode must be default(flat) on this system. Use apic=default\n");
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/* put back the original value for config space*/
|
||||||
|
if (!(config & 0x2))
|
||||||
|
pci_write_config_byte(dev, 0xf4, config);
|
||||||
}
|
}
|
||||||
|
|
||||||
void __init quirk_intel_irqbalance(void)
|
void __init quirk_intel_irqbalance(void)
|
||||||
|
|
|
@ -69,7 +69,7 @@ static int __devinitdata smp_b_stepping;
|
||||||
|
|
||||||
/* Number of siblings per CPU package */
|
/* Number of siblings per CPU package */
|
||||||
int smp_num_siblings = 1;
|
int smp_num_siblings = 1;
|
||||||
#ifdef CONFIG_X86_HT
|
#ifdef CONFIG_SMP
|
||||||
EXPORT_SYMBOL(smp_num_siblings);
|
EXPORT_SYMBOL(smp_num_siblings);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
|
||||||
OUTPUT_ARCH(i386)
|
OUTPUT_ARCH(i386)
|
||||||
ENTRY(phys_startup_32)
|
ENTRY(phys_startup_32)
|
||||||
jiffies = jiffies_64;
|
jiffies = jiffies_64;
|
||||||
|
_proxy_pda = 0;
|
||||||
|
|
||||||
PHDRS {
|
PHDRS {
|
||||||
text PT_LOAD FLAGS(5); /* R_E */
|
text PT_LOAD FLAGS(5); /* R_E */
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#
|
#
|
||||||
# Automatically generated make config: don't edit
|
# Automatically generated make config: don't edit
|
||||||
# Linux kernel version: 2.6.19-git7
|
# Linux kernel version: 2.6.19-git14
|
||||||
# Wed Dec 6 23:50:47 2006
|
# Sat Dec 9 21:23:09 2006
|
||||||
#
|
#
|
||||||
CONFIG_X86_64=y
|
CONFIG_X86_64=y
|
||||||
CONFIG_64BIT=y
|
CONFIG_64BIT=y
|
||||||
|
@ -22,6 +22,9 @@ CONFIG_ARCH_MAY_HAVE_PC_FDC=y
|
||||||
CONFIG_ARCH_POPULATES_NODE_MAP=y
|
CONFIG_ARCH_POPULATES_NODE_MAP=y
|
||||||
CONFIG_DMI=y
|
CONFIG_DMI=y
|
||||||
CONFIG_AUDIT_ARCH=y
|
CONFIG_AUDIT_ARCH=y
|
||||||
|
CONFIG_GENERIC_BUG=y
|
||||||
|
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
|
||||||
|
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
|
||||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -170,6 +173,7 @@ CONFIG_SECCOMP=y
|
||||||
# CONFIG_CC_STACKPROTECTOR is not set
|
# CONFIG_CC_STACKPROTECTOR is not set
|
||||||
# CONFIG_HZ_100 is not set
|
# CONFIG_HZ_100 is not set
|
||||||
CONFIG_HZ_250=y
|
CONFIG_HZ_250=y
|
||||||
|
# CONFIG_HZ_300 is not set
|
||||||
# CONFIG_HZ_1000 is not set
|
# CONFIG_HZ_1000 is not set
|
||||||
CONFIG_HZ=250
|
CONFIG_HZ=250
|
||||||
# CONFIG_REORDER is not set
|
# CONFIG_REORDER is not set
|
||||||
|
@ -514,6 +518,7 @@ CONFIG_IDEDMA_AUTO=y
|
||||||
#
|
#
|
||||||
# CONFIG_RAID_ATTRS is not set
|
# CONFIG_RAID_ATTRS is not set
|
||||||
CONFIG_SCSI=y
|
CONFIG_SCSI=y
|
||||||
|
# CONFIG_SCSI_TGT is not set
|
||||||
CONFIG_SCSI_NETLINK=y
|
CONFIG_SCSI_NETLINK=y
|
||||||
# CONFIG_SCSI_PROC_FS is not set
|
# CONFIG_SCSI_PROC_FS is not set
|
||||||
|
|
||||||
|
@ -534,6 +539,7 @@ CONFIG_CHR_DEV_SG=y
|
||||||
# CONFIG_SCSI_MULTI_LUN is not set
|
# CONFIG_SCSI_MULTI_LUN is not set
|
||||||
CONFIG_SCSI_CONSTANTS=y
|
CONFIG_SCSI_CONSTANTS=y
|
||||||
# CONFIG_SCSI_LOGGING is not set
|
# CONFIG_SCSI_LOGGING is not set
|
||||||
|
# CONFIG_SCSI_SCAN_ASYNC is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# SCSI Transports
|
# SCSI Transports
|
||||||
|
@ -587,6 +593,7 @@ CONFIG_MEGARAID_SAS=y
|
||||||
# CONFIG_SCSI_DC395x is not set
|
# CONFIG_SCSI_DC395x is not set
|
||||||
# CONFIG_SCSI_DC390T is not set
|
# CONFIG_SCSI_DC390T is not set
|
||||||
# CONFIG_SCSI_DEBUG is not set
|
# CONFIG_SCSI_DEBUG is not set
|
||||||
|
# CONFIG_SCSI_SRP is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Serial ATA (prod) and Parallel ATA (experimental) drivers
|
# Serial ATA (prod) and Parallel ATA (experimental) drivers
|
||||||
|
@ -1106,10 +1113,7 @@ CONFIG_SOUND=y
|
||||||
# Open Sound System
|
# Open Sound System
|
||||||
#
|
#
|
||||||
CONFIG_SOUND_PRIME=y
|
CONFIG_SOUND_PRIME=y
|
||||||
CONFIG_OSS_OBSOLETE_DRIVER=y
|
|
||||||
# CONFIG_SOUND_BT878 is not set
|
# CONFIG_SOUND_BT878 is not set
|
||||||
# CONFIG_SOUND_EMU10K1 is not set
|
|
||||||
# CONFIG_SOUND_FUSION is not set
|
|
||||||
# CONFIG_SOUND_ES1371 is not set
|
# CONFIG_SOUND_ES1371 is not set
|
||||||
CONFIG_SOUND_ICH=y
|
CONFIG_SOUND_ICH=y
|
||||||
# CONFIG_SOUND_TRIDENT is not set
|
# CONFIG_SOUND_TRIDENT is not set
|
||||||
|
@ -1118,6 +1122,11 @@ CONFIG_SOUND_ICH=y
|
||||||
# CONFIG_SOUND_VIA82CXXX is not set
|
# CONFIG_SOUND_VIA82CXXX is not set
|
||||||
# CONFIG_SOUND_OSS is not set
|
# CONFIG_SOUND_OSS is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# HID Devices
|
||||||
|
#
|
||||||
|
CONFIG_HID=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# USB support
|
# USB support
|
||||||
#
|
#
|
||||||
|
@ -1182,8 +1191,7 @@ CONFIG_USB_STORAGE=y
|
||||||
# USB Input Devices
|
# USB Input Devices
|
||||||
#
|
#
|
||||||
CONFIG_USB_HID=y
|
CONFIG_USB_HID=y
|
||||||
CONFIG_USB_HIDINPUT=y
|
# CONFIG_USB_HID_POWERBOOK is not set
|
||||||
# CONFIG_USB_HIDINPUT_POWERBOOK is not set
|
|
||||||
# CONFIG_HID_FF is not set
|
# CONFIG_HID_FF is not set
|
||||||
# CONFIG_USB_HIDDEV is not set
|
# CONFIG_USB_HIDDEV is not set
|
||||||
# CONFIG_USB_AIPTEK is not set
|
# CONFIG_USB_AIPTEK is not set
|
||||||
|
@ -1474,6 +1482,11 @@ CONFIG_NLS_ISO8859_15=y
|
||||||
# CONFIG_NLS_KOI8_U is not set
|
# CONFIG_NLS_KOI8_U is not set
|
||||||
CONFIG_NLS_UTF8=y
|
CONFIG_NLS_UTF8=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Distributed Lock Manager
|
||||||
|
#
|
||||||
|
# CONFIG_DLM is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Instrumentation Support
|
# Instrumentation Support
|
||||||
#
|
#
|
||||||
|
@ -1504,6 +1517,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
|
||||||
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
|
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
|
||||||
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
|
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
|
||||||
# CONFIG_DEBUG_KOBJECT is not set
|
# CONFIG_DEBUG_KOBJECT is not set
|
||||||
|
CONFIG_DEBUG_BUGVERBOSE=y
|
||||||
# CONFIG_DEBUG_INFO is not set
|
# CONFIG_DEBUG_INFO is not set
|
||||||
CONFIG_DEBUG_FS=y
|
CONFIG_DEBUG_FS=y
|
||||||
# CONFIG_DEBUG_VM is not set
|
# CONFIG_DEBUG_VM is not set
|
||||||
|
@ -1534,6 +1548,7 @@ CONFIG_DEBUG_STACKOVERFLOW=y
|
||||||
#
|
#
|
||||||
# Library routines
|
# Library routines
|
||||||
#
|
#
|
||||||
|
CONFIG_BITREVERSE=y
|
||||||
# CONFIG_CRC_CCITT is not set
|
# CONFIG_CRC_CCITT is not set
|
||||||
# CONFIG_CRC16 is not set
|
# CONFIG_CRC16 is not set
|
||||||
CONFIG_CRC32=y
|
CONFIG_CRC32=y
|
||||||
|
|
|
@ -193,6 +193,8 @@ void nmi_watchdog_default(void)
|
||||||
nmi_watchdog = NMI_IO_APIC;
|
nmi_watchdog = NMI_IO_APIC;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int endflag __initdata = 0;
|
||||||
|
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
/* The performance counters used by NMI_LOCAL_APIC don't trigger when
|
/* The performance counters used by NMI_LOCAL_APIC don't trigger when
|
||||||
* the CPU is idle. To make sure the NMI watchdog really ticks on all
|
* the CPU is idle. To make sure the NMI watchdog really ticks on all
|
||||||
|
@ -200,7 +202,6 @@ void nmi_watchdog_default(void)
|
||||||
*/
|
*/
|
||||||
static __init void nmi_cpu_busy(void *data)
|
static __init void nmi_cpu_busy(void *data)
|
||||||
{
|
{
|
||||||
volatile int *endflag = data;
|
|
||||||
local_irq_enable_in_hardirq();
|
local_irq_enable_in_hardirq();
|
||||||
/* Intentionally don't use cpu_relax here. This is
|
/* Intentionally don't use cpu_relax here. This is
|
||||||
to make sure that the performance counter really ticks,
|
to make sure that the performance counter really ticks,
|
||||||
|
@ -208,14 +209,13 @@ static __init void nmi_cpu_busy(void *data)
|
||||||
pause instruction. On a real HT machine this is fine because
|
pause instruction. On a real HT machine this is fine because
|
||||||
all other CPUs are busy with "useless" delay loops and don't
|
all other CPUs are busy with "useless" delay loops and don't
|
||||||
care if they get somewhat less cycles. */
|
care if they get somewhat less cycles. */
|
||||||
while (*endflag == 0)
|
while (endflag == 0)
|
||||||
barrier();
|
mb();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int __init check_nmi_watchdog (void)
|
int __init check_nmi_watchdog (void)
|
||||||
{
|
{
|
||||||
volatile int endflag = 0;
|
|
||||||
int *counts;
|
int *counts;
|
||||||
int cpu;
|
int cpu;
|
||||||
|
|
||||||
|
@ -256,6 +256,7 @@ int __init check_nmi_watchdog (void)
|
||||||
if (!atomic_read(&nmi_active)) {
|
if (!atomic_read(&nmi_active)) {
|
||||||
kfree(counts);
|
kfree(counts);
|
||||||
atomic_set(&nmi_active, -1);
|
atomic_set(&nmi_active, -1);
|
||||||
|
endflag = 1;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
endflag = 1;
|
endflag = 1;
|
||||||
|
|
|
@ -13,6 +13,7 @@ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64")
|
||||||
OUTPUT_ARCH(i386:x86-64)
|
OUTPUT_ARCH(i386:x86-64)
|
||||||
ENTRY(phys_startup_64)
|
ENTRY(phys_startup_64)
|
||||||
jiffies_64 = jiffies;
|
jiffies_64 = jiffies;
|
||||||
|
_proxy_pda = 0;
|
||||||
PHDRS {
|
PHDRS {
|
||||||
text PT_LOAD FLAGS(5); /* R_E */
|
text PT_LOAD FLAGS(5); /* R_E */
|
||||||
data PT_LOAD FLAGS(7); /* RWE */
|
data PT_LOAD FLAGS(7); /* RWE */
|
||||||
|
|
Loading…
Reference in New Issue