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: Fix potential overflow in perfctr reservation [PATCH] x86: Fix gcc 4.2 _proxy_pda workaround
This commit is contained in:
commit
71bfa15142
|
@ -41,16 +41,17 @@ int nmi_watchdog_enabled;
|
||||||
* different subsystems this reservation system just tries to coordinate
|
* different subsystems this reservation system just tries to coordinate
|
||||||
* things a little
|
* things a little
|
||||||
*/
|
*/
|
||||||
static DEFINE_PER_CPU(unsigned long, perfctr_nmi_owner);
|
|
||||||
static DEFINE_PER_CPU(unsigned long, evntsel_nmi_owner[3]);
|
|
||||||
|
|
||||||
static cpumask_t backtrace_mask = CPU_MASK_NONE;
|
|
||||||
|
|
||||||
/* this number is calculated from Intel's MSR_P4_CRU_ESCR5 register and it's
|
/* this number is calculated from Intel's MSR_P4_CRU_ESCR5 register and it's
|
||||||
* offset from MSR_P4_BSU_ESCR0. It will be the max for all platforms (for now)
|
* offset from MSR_P4_BSU_ESCR0. It will be the max for all platforms (for now)
|
||||||
*/
|
*/
|
||||||
#define NMI_MAX_COUNTER_BITS 66
|
#define NMI_MAX_COUNTER_BITS 66
|
||||||
|
#define NMI_MAX_COUNTER_LONGS BITS_TO_LONGS(NMI_MAX_COUNTER_BITS)
|
||||||
|
|
||||||
|
static DEFINE_PER_CPU(unsigned long, perfctr_nmi_owner[NMI_MAX_COUNTER_LONGS]);
|
||||||
|
static DEFINE_PER_CPU(unsigned long, evntsel_nmi_owner[NMI_MAX_COUNTER_LONGS]);
|
||||||
|
|
||||||
|
static cpumask_t backtrace_mask = CPU_MASK_NONE;
|
||||||
/* nmi_active:
|
/* nmi_active:
|
||||||
* >0: the lapic NMI watchdog is active, but can be disabled
|
* >0: the lapic NMI watchdog is active, but can be disabled
|
||||||
* <0: the lapic NMI watchdog has not been set up, and cannot
|
* <0: the lapic NMI watchdog has not been set up, and cannot
|
||||||
|
|
|
@ -26,7 +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;
|
_proxy_pda = 1;
|
||||||
|
|
||||||
PHDRS {
|
PHDRS {
|
||||||
text PT_LOAD FLAGS(5); /* R_E */
|
text PT_LOAD FLAGS(5); /* R_E */
|
||||||
|
|
|
@ -39,15 +39,17 @@ int panic_on_unrecovered_nmi;
|
||||||
* different subsystems this reservation system just tries to coordinate
|
* different subsystems this reservation system just tries to coordinate
|
||||||
* things a little
|
* things a little
|
||||||
*/
|
*/
|
||||||
static DEFINE_PER_CPU(unsigned, perfctr_nmi_owner);
|
|
||||||
static DEFINE_PER_CPU(unsigned, evntsel_nmi_owner[2]);
|
|
||||||
|
|
||||||
static cpumask_t backtrace_mask = CPU_MASK_NONE;
|
|
||||||
|
|
||||||
/* this number is calculated from Intel's MSR_P4_CRU_ESCR5 register and it's
|
/* this number is calculated from Intel's MSR_P4_CRU_ESCR5 register and it's
|
||||||
* offset from MSR_P4_BSU_ESCR0. It will be the max for all platforms (for now)
|
* offset from MSR_P4_BSU_ESCR0. It will be the max for all platforms (for now)
|
||||||
*/
|
*/
|
||||||
#define NMI_MAX_COUNTER_BITS 66
|
#define NMI_MAX_COUNTER_BITS 66
|
||||||
|
#define NMI_MAX_COUNTER_LONGS BITS_TO_LONGS(NMI_MAX_COUNTER_BITS)
|
||||||
|
|
||||||
|
static DEFINE_PER_CPU(unsigned, perfctr_nmi_owner[NMI_MAX_COUNTER_LONGS]);
|
||||||
|
static DEFINE_PER_CPU(unsigned, evntsel_nmi_owner[NMI_MAX_COUNTER_LONGS]);
|
||||||
|
|
||||||
|
static cpumask_t backtrace_mask = CPU_MASK_NONE;
|
||||||
|
|
||||||
/* nmi_active:
|
/* nmi_active:
|
||||||
* >0: the lapic NMI watchdog is active, but can be disabled
|
* >0: the lapic NMI watchdog is active, but can be disabled
|
||||||
|
|
|
@ -13,7 +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;
|
_proxy_pda = 1;
|
||||||
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 a new issue