Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 30520
b: refs/heads/master
c: 45486f8
h: refs/heads/master
v: v3
  • Loading branch information
Keith Owens authored and Linus Torvalds committed Jun 26, 2006
1 parent 9f9fe4a commit a7d637c
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 9 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 9c63f8738734eb7e6d3f76ca03186f16ef88edf5
refs/heads/master: 45486f81c9aa07218b73a38cbcf62ffa66e99088
7 changes: 1 addition & 6 deletions trunk/arch/i386/kernel/crash.c
Original file line number Diff line number Diff line change
Expand Up @@ -120,14 +120,9 @@ static int crash_nmi_callback(struct pt_regs *regs, int cpu)
return 1;
}

/*
* By using the NMI code instead of a vector we just sneak thru the
* word generator coming out with just what we want. AND it does
* not matter if clustered_apic_mode is set or not.
*/
static void smp_send_nmi_allbutself(void)
{
send_IPI_allbutself(APIC_DM_NMI);
send_IPI_allbutself(NMI_VECTOR);
}

static void nmi_shootdown_cpus(void)
Expand Down
12 changes: 11 additions & 1 deletion trunk/arch/i386/kernel/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,17 @@ DEFINE_PER_CPU(struct tlb_state, cpu_tlbstate) ____cacheline_aligned = { &init_m

static inline int __prepare_ICR (unsigned int shortcut, int vector)
{
return APIC_DM_FIXED | shortcut | vector | APIC_DEST_LOGICAL;
unsigned int icr = shortcut | APIC_DEST_LOGICAL;

switch (vector) {
default:
icr |= APIC_DM_FIXED | vector;
break;
case NMI_VECTOR:
icr |= APIC_DM_NMI;
break;
}
return icr;
}

static inline int __prepare_ICR2 (unsigned int mask)
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/x86_64/kernel/crash.c
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ static int crash_nmi_callback(struct pt_regs *regs, int cpu)

static void smp_send_nmi_allbutself(void)
{
send_IPI_allbutself(APIC_DM_NMI);
send_IPI_allbutself(NMI_VECTOR);
}

/*
Expand Down
2 changes: 2 additions & 0 deletions trunk/include/asm-i386/hw_irq.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@

struct hw_interrupt_type;

#define NMI_VECTOR 0x02

/*
* Various low-level irq details needed by irq.c, process.c,
* time.c, io_apic.c and smp.c
Expand Down

0 comments on commit a7d637c

Please sign in to comment.