Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Nov 2003 18:50:30 -0800 (PST)
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 42075 for review
Message-ID:  <200311120250.hAC2oUiF027945@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=42075

Change 42075 by peter@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
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200311120250.hAC2oUiF027945>