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