Date: Sat, 27 May 2006 04:01:51 GMT From: Kip Macy <kmacy@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 97917 for review Message-ID: <200605270401.k4R41pZ8075407@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=97917 Change 97917 by kmacy@kmacy_storage:sun4v_work on 2006/05/27 04:01:30 add dtrace traps and stubs for default case of dtrace not being enabled Affected files ... .. //depot/projects/kmacy_sun4v/src/sys/conf/files.sun4v#17 edit .. //depot/projects/kmacy_sun4v/src/sys/sparc64/dtrace/dtrace_stub.c#1 add .. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/exception.S#59 edit Differences ... ==== //depot/projects/kmacy_sun4v/src/sys/conf/files.sun4v#17 (text+ko) ==== @@ -62,6 +62,7 @@ sparc64/dtrace/fasttrap_isa.c optional dtrace sparc64/dtrace/fbt.c optional dtrace sparc64/dtrace/sdt.c optional dtrace +sparc64/dtrace/dtrace_stub.c standard # XXX hvcons should be optional sun4v/sun4v/hvcons.c standard ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/exception.S#59 (text+ko) ==== @@ -587,6 +587,29 @@ .align 32 .endm + .macro dtrace_fasttrap + sethi %hi(dtrace_fasttrap_probe_ptr), %g4 + ldx [%g4 + %lo(dtrace_fasttrap_probe_ptr)], %g4 + set dtrace_fasttrap_probe, %g1 + brnz,pn %g4, tl0_utrap + sub %g0, 1, %g4 + .align 32 + .endm + + .macro dtrace_pid + set dtrace_pid_probe, %g1 + ba,pt %xcc, tl0_utrap + sub %g0, 1, %g4 + .align 32 + .endm + + .macro dtrace_return + set dtrace_return_probe, %g1 + ba,pt %xcc, tl0_utrap + sub %g0, 1, %g4 + .align 32 + .endm + .macro tl0_fp_restore GET_PCB(PCB_REG) ! 3 instructions ldx [%g6 + PCB_FLAGS], %g1 @@ -763,7 +786,14 @@ tl0_gen T_TRAP_INSTRUCTION_29 ! 0x11d tl0_gen T_TRAP_INSTRUCTION_30 ! 0x11e tl0_gen T_TRAP_INSTRUCTION_31 ! 0x11f - tl0_reserved 32 ! 0x120-0x13f + tl0_reserved 24 ! 0x120-0x137 +tl0_dtrace_pid: + dtrace_pid ! 0x138 +tl0_dtrace_fasttrap: + dtrace_fasttrap ! 0x139 +tl0_dtrace_return: + dtrace_return ! 0x13a + tl0_reserved 5 ! 0x13b - 0x13f tl0_gen T_SYSCALL ! 0x140 LP64 system call tl0_syscall ! 0x141 tl0_gen T_SYSCALL ! 0x142 @@ -928,12 +958,12 @@ brnz %o1, common_utrap nop - call critical_enter + call spinlock_enter nop common_uintr: jmpl %l3, %o7 ! call interrupt handler mov %l7, %o0 - call critical_exit + call spinlock_exit nop b user_rtt nop @@ -1069,23 +1099,22 @@ rd %asi, %g1 SAVE_OUTS(%l7) stx %g1, [%l7 + TF_ASI] - GET_PCPU_SCRATCH_SLOW(%g6) ! we really shouldn't need this ... - wrpr %g0, PSTATE_KERNEL, %pstate ! enable ints + GET_PCPU_SCRATCH_SLOW(%g6) ! we really shouldn't need this ... + wrpr %g0, PSTATE_KERNEL, %pstate ! enable interrupts brnz %o1, common_ktrap nop - call critical_enter + call spinlock_enter nop common_kintr: jmpl %l3, %o7 ! call trap handler mov %l7, %o0 - call critical_exit + call spinlock_exit nop b common_rtt nop common_ktrap: -! jmpl %l3, %o7 ! call trap handler - call trap + jmpl %l3, %o7 ! call trap handler mov %l7, %o0 ENTRY(krtt) @@ -1191,7 +1220,6 @@ sllx %g4, IH_SHIFT, %g7 ldx [%g6 + %g7], %g1 ! pointer to interrupt handler rdpr %pil, %g5 -! wrpr %g4, 0, %pil mov %g5, %g4 ! %g1 pc of trap handler
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200605270401.k4R41pZ8075407>