Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 30737
b: refs/heads/master
c: 19eadf9
h: refs/heads/master
i:
  30735: 3b728a5
v: v3
  • Loading branch information
Rusty Russell authored and Linus Torvalds committed Jun 28, 2006
1 parent 241579d commit ee72138
Show file tree
Hide file tree
Showing 7 changed files with 11 additions and 11 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: bd9e0b74f52dbac6241643fadca2393808b14c7a
refs/heads/master: 19eadf98c8167eac843580683317b99572e2abf0
4 changes: 2 additions & 2 deletions trunk/arch/i386/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -515,7 +515,7 @@ ENTRY(irq_entries_start)
.if vector
CFI_ADJUST_CFA_OFFSET -4
.endif
1: pushl $vector-256
1: pushl $~(vector)
CFI_ADJUST_CFA_OFFSET 4
jmp common_interrupt
.data
Expand All @@ -535,7 +535,7 @@ common_interrupt:
#define BUILD_INTERRUPT(name, nr) \
ENTRY(name) \
RING0_INT_FRAME; \
pushl $nr-256; \
pushl $~(nr); \
CFI_ADJUST_CFA_OFFSET 4; \
SAVE_ALL; \
movl %esp,%eax; \
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/i386/kernel/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ static union irq_ctx *softirq_ctx[NR_CPUS] __read_mostly;
*/
fastcall unsigned int do_IRQ(struct pt_regs *regs)
{
/* high bits used in ret_from_ code */
int irq = regs->orig_eax & 0xff;
/* high bit used in ret_from_ code */
int irq = ~regs->orig_eax;
#ifdef CONFIG_4KSTACKS
union irq_ctx *curctx, *irqctx;
u32 *isp;
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/x86_64/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -588,7 +588,7 @@ END(common_interrupt)
*/
.macro apicinterrupt num,func
INTR_FRAME
pushq $\num-256
pushq $~(\num)
CFI_ADJUST_CFA_OFFSET 8
interrupt \func
jmp ret_from_intr
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/x86_64/kernel/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,8 @@ int show_interrupts(struct seq_file *p, void *v)
*/
asmlinkage unsigned int do_IRQ(struct pt_regs *regs)
{
/* high bits used in ret_from_ code */
unsigned irq = regs->orig_rax & 0xff;
/* high bit used in ret_from_ code */
unsigned irq = ~regs->orig_rax;

exit_idle();
irq_enter();
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/x86_64/kernel/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -135,10 +135,10 @@ asmlinkage void smp_invalidate_interrupt(struct pt_regs *regs)

cpu = smp_processor_id();
/*
* orig_rax contains the interrupt vector - 256.
* orig_rax contains the negated interrupt vector.
* Use that to determine where the sender put the data.
*/
sender = regs->orig_rax + 256 - INVALIDATE_TLB_VECTOR_START;
sender = ~regs->orig_rax - INVALIDATE_TLB_VECTOR_START;
f = &per_cpu(flush_state, sender);

if (!cpu_isset(cpu, f->flush_cpumask))
Expand Down
2 changes: 1 addition & 1 deletion trunk/include/asm-x86_64/hw_irq.h
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ asmlinkage void IRQ_NAME(nr); \
__asm__( \
"\n.p2align\n" \
"IRQ" #nr "_interrupt:\n\t" \
"push $" #nr "-256 ; " \
"push $~(" #nr ") ; " \
"jmp common_interrupt");

#if defined(CONFIG_X86_IO_APIC)
Expand Down

0 comments on commit ee72138

Please sign in to comment.