Date: Tue, 8 Apr 2003 01:58:59 -0700 (PDT) From: Peter Wemm <peter@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 28511 for review Message-ID: <200304080858.h388wxXK012304@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=28511 Change 28511 by peter@peter_daintree on 2003/04/08 01:58:17 tidy up some loose ends. update trapframe format. fix some syntax errors and undefined symbols Affected files ... .. //depot/projects/hammer/sys/x86_64/isa/icu_vector.s#7 edit Differences ... ==== //depot/projects/hammer/sys/x86_64/isa/icu_vector.s#7 (text+ko) ==== @@ -41,16 +41,7 @@ pushq %r13 ; \ pushq %r14 ; \ pushq %r15 ; \ - pushq %ds ; /* save our data and extra segments */ \ - pushq %es ; \ - pushq %fs ; \ - pushq %gs ; \ - mov $KDSEL,%ax ; \ - mov %ax,%ds ; \ - mov %ax,%es ; \ -#XXX mov $KPSEL,%ax ; \ -#XXX mov %ax,%fs ; \ - FAKE_MCOUNT((12+ACTUALLY_PUSHED)*4(%rsp)) ; \ + FAKE_MCOUNT((12)*4(%rsp)) ; \ call critical_enter ; \ movq PCPU(CURTHREAD),%rbx ; \ incl TD_INTR_NESTING_LEVEL(%rbx) ; \ @@ -74,7 +65,7 @@ * interrupt handler and don't run anything. We could just do an * iret. FIXME. */ -#define INTR(irq_num, vec_name, enable_icus, maybe_extra_ipending) \ +#define INTR(irq_num, vec_name, icu, enable_icus, maybe_extra_ipending) \ .text ; \ SUPERALIGN_TEXT ; \ IDTVEC(vec_name) ; \ @@ -95,23 +86,14 @@ pushq %r13 ; \ pushq %r14 ; \ pushq %r15 ; \ - pushq %ds ; /* save our data and extra segments */ \ - pushq %es ; \ - pushq %fs ; \ - pushq %gs ; \ - mov $KDSEL,%ax ; /* load kernel ds, es and fs */ \ - mov %ax,%ds ; \ - mov %ax,%es ; \ -#XXX mov $KPSEL,%ax ; \ -#XXX mov %ax,%fs ; \ maybe_extra_ipending ; \ movb imen + IRQ_BYTE(irq_num),%al ; \ orb $IRQ_BIT(irq_num),%al ; \ movb %al,imen + IRQ_BYTE(irq_num) ; \ - #XXXoutb %al,$icu+ICU_IMR_OFFSET ; \ + outb %al,$icu+ICU_IMR_OFFSET ; \ enable_icus ; \ movq PCPU(CURTHREAD),%rbx ; \ - incl TD_INTR_NESTING_LEVEL(%ebx) ; \ + incl TD_INTR_NESTING_LEVEL(%rbx) ; \ FAKE_MCOUNT(13*4(%rsp)) ; /* XXX late to avoid double count */ \ movq $irq_num, %rdi; /* pass the IRQ */ \ call sched_ithd ; \ @@ -141,22 +123,22 @@ #define CLKINTR_PENDING movl $1,CNAME(clkintr_pending) /* Threaded interrupts */ - INTR(0,intr0, ENABLE_ICU1, CLKINTR_PENDING) - INTR(1,intr1, ENABLE_ICU1,) - INTR(2,intr2, ENABLE_ICU1,) - INTR(3,intr3, ENABLE_ICU1,) - INTR(4,intr4, ENABLE_ICU1,) - INTR(5,intr5, ENABLE_ICU1,) - INTR(6,intr6, ENABLE_ICU1,) - INTR(7,intr7, ENABLE_ICU1,) - INTR(8,intr8, ENABLE_ICU1_AND_2,) - INTR(9,intr9, ENABLE_ICU1_AND_2,) - INTR(10,intr10, ENABLE_ICU1_AND_2,) - INTR(11,intr11, ENABLE_ICU1_AND_2,) - INTR(12,intr12, ENABLE_ICU1_AND_2,) - INTR(13,intr13, ENABLE_ICU1_AND_2,) - INTR(14,intr14, ENABLE_ICU1_AND_2,) - INTR(15,intr15, ENABLE_ICU1_AND_2,) + INTR(0,intr0, IO_ICU1, ENABLE_ICU1, CLKINTR_PENDING) + INTR(1,intr1, IO_ICU1, ENABLE_ICU1,) + INTR(2,intr2, IO_ICU1, ENABLE_ICU1,) + INTR(3,intr3, IO_ICU1, ENABLE_ICU1,) + INTR(4,intr4, IO_ICU1, ENABLE_ICU1,) + INTR(5,intr5, IO_ICU1, ENABLE_ICU1,) + INTR(6,intr6, IO_ICU1, ENABLE_ICU1,) + INTR(7,intr7, IO_ICU1, ENABLE_ICU1,) + INTR(8,intr8, IO_ICU2, ENABLE_ICU1_AND_2,) + INTR(9,intr9, IO_ICU2, ENABLE_ICU1_AND_2,) + INTR(10,intr10, IO_ICU2, ENABLE_ICU1_AND_2,) + INTR(11,intr11, IO_ICU2, ENABLE_ICU1_AND_2,) + INTR(12,intr12, IO_ICU2, ENABLE_ICU1_AND_2,) + INTR(13,intr13, IO_ICU2, ENABLE_ICU1_AND_2,) + INTR(14,intr14, IO_ICU2, ENABLE_ICU1_AND_2,) + INTR(15,intr15, IO_ICU2, ENABLE_ICU1_AND_2,) MCOUNT_LABEL(eintr)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200304080858.h388wxXK012304>