From 5a80b78ae6c8f365db55d6714de92218de943325 Mon Sep 17 00:00:00 2001 From: jhb Date: Mon, 5 Mar 2001 04:37:54 +0000 Subject: Don't enable interrupts before calling sched_ithd for threaded interrupts. Tested by: obrien --- sys/amd64/amd64/apic_vector.S | 1 - sys/amd64/isa/atpic_vector.S | 1 - sys/amd64/isa/icu_vector.S | 1 - sys/amd64/isa/icu_vector.s | 1 - sys/i386/i386/apic_vector.s | 1 - sys/i386/isa/apic_vector.s | 1 - sys/i386/isa/atpic_vector.s | 1 - sys/i386/isa/icu_vector.s | 1 - 8 files changed, 8 deletions(-) diff --git a/sys/amd64/amd64/apic_vector.S b/sys/amd64/amd64/apic_vector.S index 007d52f..5b90d01 100644 --- a/sys/amd64/amd64/apic_vector.S +++ b/sys/amd64/amd64/apic_vector.S @@ -159,7 +159,6 @@ IDTVEC(vec_name) ; \ __CONCAT(Xresume,irq_num): ; \ FAKE_MCOUNT(13*4(%esp)) ; /* XXX avoid dbl cnt */ \ pushl $irq_num; /* pass the IRQ */ \ - sti ; \ call sched_ithd ; \ addl $4, %esp ; /* discard the parameter */ \ ; \ diff --git a/sys/amd64/isa/atpic_vector.S b/sys/amd64/isa/atpic_vector.S index ca0ebc0..6b48737 100644 --- a/sys/amd64/isa/atpic_vector.S +++ b/sys/amd64/isa/atpic_vector.S @@ -109,7 +109,6 @@ IDTVEC(vec_name) ; \ __CONCAT(Xresume,irq_num): ; \ FAKE_MCOUNT(13*4(%esp)) ; /* XXX late to avoid double count */ \ pushl $irq_num; /* pass the IRQ */ \ - sti ; \ call sched_ithd ; \ addl $4, %esp ; /* discard the parameter */ \ decl P_INTR_NESTING_LEVEL(%ebx) ; \ diff --git a/sys/amd64/isa/icu_vector.S b/sys/amd64/isa/icu_vector.S index ca0ebc0..6b48737 100644 --- a/sys/amd64/isa/icu_vector.S +++ b/sys/amd64/isa/icu_vector.S @@ -109,7 +109,6 @@ IDTVEC(vec_name) ; \ __CONCAT(Xresume,irq_num): ; \ FAKE_MCOUNT(13*4(%esp)) ; /* XXX late to avoid double count */ \ pushl $irq_num; /* pass the IRQ */ \ - sti ; \ call sched_ithd ; \ addl $4, %esp ; /* discard the parameter */ \ decl P_INTR_NESTING_LEVEL(%ebx) ; \ diff --git a/sys/amd64/isa/icu_vector.s b/sys/amd64/isa/icu_vector.s index ca0ebc0..6b48737 100644 --- a/sys/amd64/isa/icu_vector.s +++ b/sys/amd64/isa/icu_vector.s @@ -109,7 +109,6 @@ IDTVEC(vec_name) ; \ __CONCAT(Xresume,irq_num): ; \ FAKE_MCOUNT(13*4(%esp)) ; /* XXX late to avoid double count */ \ pushl $irq_num; /* pass the IRQ */ \ - sti ; \ call sched_ithd ; \ addl $4, %esp ; /* discard the parameter */ \ decl P_INTR_NESTING_LEVEL(%ebx) ; \ diff --git a/sys/i386/i386/apic_vector.s b/sys/i386/i386/apic_vector.s index 007d52f..5b90d01 100644 --- a/sys/i386/i386/apic_vector.s +++ b/sys/i386/i386/apic_vector.s @@ -159,7 +159,6 @@ IDTVEC(vec_name) ; \ __CONCAT(Xresume,irq_num): ; \ FAKE_MCOUNT(13*4(%esp)) ; /* XXX avoid dbl cnt */ \ pushl $irq_num; /* pass the IRQ */ \ - sti ; \ call sched_ithd ; \ addl $4, %esp ; /* discard the parameter */ \ ; \ diff --git a/sys/i386/isa/apic_vector.s b/sys/i386/isa/apic_vector.s index 007d52f..5b90d01 100644 --- a/sys/i386/isa/apic_vector.s +++ b/sys/i386/isa/apic_vector.s @@ -159,7 +159,6 @@ IDTVEC(vec_name) ; \ __CONCAT(Xresume,irq_num): ; \ FAKE_MCOUNT(13*4(%esp)) ; /* XXX avoid dbl cnt */ \ pushl $irq_num; /* pass the IRQ */ \ - sti ; \ call sched_ithd ; \ addl $4, %esp ; /* discard the parameter */ \ ; \ diff --git a/sys/i386/isa/atpic_vector.s b/sys/i386/isa/atpic_vector.s index ca0ebc0..6b48737 100644 --- a/sys/i386/isa/atpic_vector.s +++ b/sys/i386/isa/atpic_vector.s @@ -109,7 +109,6 @@ IDTVEC(vec_name) ; \ __CONCAT(Xresume,irq_num): ; \ FAKE_MCOUNT(13*4(%esp)) ; /* XXX late to avoid double count */ \ pushl $irq_num; /* pass the IRQ */ \ - sti ; \ call sched_ithd ; \ addl $4, %esp ; /* discard the parameter */ \ decl P_INTR_NESTING_LEVEL(%ebx) ; \ diff --git a/sys/i386/isa/icu_vector.s b/sys/i386/isa/icu_vector.s index ca0ebc0..6b48737 100644 --- a/sys/i386/isa/icu_vector.s +++ b/sys/i386/isa/icu_vector.s @@ -109,7 +109,6 @@ IDTVEC(vec_name) ; \ __CONCAT(Xresume,irq_num): ; \ FAKE_MCOUNT(13*4(%esp)) ; /* XXX late to avoid double count */ \ pushl $irq_num; /* pass the IRQ */ \ - sti ; \ call sched_ithd ; \ addl $4, %esp ; /* discard the parameter */ \ decl P_INTR_NESTING_LEVEL(%ebx) ; \ -- cgit v1.1