PERFORCE change 42075 for review
Peter Wemm
peter at FreeBSD.org
Tue Nov 11 18:50:32 PST 2003
http://perforce.freebsd.org/chv.cgi?CH=42075
Change 42075 by peter at peter_daintree on 2003/11/11 18:49:34
move the td_intr_nesting_level frobbing to C
Affected files ...
.. //depot/projects/hammer/sys/amd64/isa/atpic.c#16 edit
.. //depot/projects/hammer/sys/amd64/isa/atpic_vector.S#4 edit
Differences ...
==== //depot/projects/hammer/sys/amd64/isa/atpic.c#16 (text+ko) ====
@@ -295,11 +295,14 @@
atpic_sched_ithd(void *cookie, struct intrframe iframe)
{
struct intsrc *isrc;
+ struct thread *td = curthread;
int vec = (uintptr_t)cookie;
KASSERT(vec < ICU_LEN, ("unknown int %d\n", vec));
+ td->td_intr_nesting_level++;
isrc = &atintrs[vec].at_intsrc;
intr_execute_handlers(isrc, &iframe);
+ td->td_intr_nesting_level--;
}
#ifdef DEV_ISA
==== //depot/projects/hammer/sys/amd64/isa/atpic_vector.S#4 (text+ko) ====
@@ -97,12 +97,9 @@
movb %al,imen + IRQ_BYTE(irq_num) ; \
outb %al,$icu+ICU_IMR_OFFSET ; \
enable_icus ; \
- movq PCPU(CURTHREAD),%rbx ; \
- incl TD_INTR_NESTING_LEVEL(%rbx) ; \
FAKE_MCOUNT(13*4(%esp)) ; /* XXX late to avoid double count */ \
movq $irq_num, %rdi; /* pass the IRQ */ \
call atpic_sched_ithd ; \
- decl TD_INTR_NESTING_LEVEL(%rbx) ; \
MEXITCOUNT ; \
jmp doreti
More information about the p4-projects
mailing list