Searched refs:on_trap (Results 1 - 25 of 34) sorted by relevance

12

/illumos-gate/usr/src/uts/common/sys/
H A Dontrap.h38 * on_trap() provides protection against various kinds of machine exceptions,
39 * and must be used with extreme caution. Like setjmp(), on_trap() returns
42 * return value except to test whether it is zero or non-zero. on_trap() and
44 * on_trap() mechanism is separate from on_fault() protection and the t_lofault
47 * Calls to on_trap() may be nested, but only the most recently installed bits
49 * protect against more than one type of trap. If on_trap() returns non-zero,
50 * the bit corresponding to the trap that triggered return to on_trap() will
53 * After calling on_trap(), the caller may elect to modify ot_trampoline to
64 * If repeated calls to on_trap() are made using the same on_trap_data address,
66 * not pushed twice), allowing callers to use on_trap() i
[all...]
/illumos-gate/usr/src/uts/sun4u/io/px/
H A Dpx_asm_4u.s60 ! To be called from an on_trap environment.
67 ! Assumes alignment is correct and that on_trap handling has been installed
130 ! Assumes alignment is correct and that on_trap handling has been installed
H A Dpx_tools_4u.c111 * on_trap works like setjmp.
115 * When on_trap returns FALSE, it has been setup.
118 if (!on_trap(&otd, OT_DATA_ACCESS)) {
200 * on_trap works like setjmp.
204 * When on_trap returns FALSE, it has been setup.
207 if (!on_trap(&otd, OT_DATA_ACCESS)) {
/illumos-gate/usr/src/uts/sun4v/io/px/
H A Dpx_tools_4v.c280 if (!on_trap(&otd, OT_DATA_ACCESS)) {
296 if (!on_trap(&otd, OT_DATA_ACCESS)) {
384 if (!on_trap(&otd, OT_DATA_ACCESS)) {
403 if (!on_trap(&otd, OT_DATA_ACCESS)) {
/illumos-gate/usr/src/uts/sun4u/io/pci/
H A Dpci_asm.s58 ! To be called from an on_trap environment.
126 ! Assumes alignment is correct and that on_trap handling has been installed
H A Dpci.c971 if (!on_trap(&otd, OT_DATA_ACCESS)) {
1083 if (!on_trap(&otd, OT_DATA_ACCESS)) {
H A Dpci_tools.c144 * on_trap works like setjmp.
148 * When on_trap returns FALSE, it has been setup.
151 if (!on_trap(&otd, OT_DATA_ACCESS)) {
223 * on_trap works like setjmp.
227 * When on_trap returns FALSE, it has been setup.
230 if (!on_trap(&otd, OT_DATA_ACCESS)) {
/illumos-gate/usr/src/uts/sun4u/os/
H A Decc.c282 if (!on_trap(&otd, OT_DATA_EC)) {
H A Dmemscrub.c1129 if (!on_trap(&otd, OT_DATA_EC) && !scan_mmu_pagesize) {
1168 if (!on_trap(&otd, OT_DATA_EC)) {
/illumos-gate/usr/src/uts/i86xpv/os/
H A Dxen_mmu.c265 if (on_trap(&otd, OT_DATA_ACCESS) == 0) {
347 if (on_trap_ready && on_trap(&otd, OT_DATA_ACCESS)) {
/illumos-gate/usr/src/uts/sun4v/sys/
H A Dldc.h224 * LDC_ON_TRAP and LDC_NO_TRAP provide on_trap protection for clients accessing
234 * when calling on_trap() when calling LDC_ON_TRAP.
236 * LDC_ON_TRAP is implemented as a macro so that on_trap protection can be
238 * register window. Aside from LDC clients calling on_trap() directly, one
240 * language without a save instruction and to then call on_trap() as a tail
244 (on_trap((otd), OT_DATA_ACCESS) != 0 ? \
/illumos-gate/usr/src/uts/common/os/
H A Durw.c267 if (!on_trap(&otd, OT_DATA_EC)) {
/illumos-gate/usr/src/uts/sparc/v9/ml/
H A Dsparcv9_subr.s332 * Default trampoline code for on_trap() (see <sys/ontrap.h>). On sparcv9,
335 * We longjmp(&curthread->t_ontrap->ot_jmpbuf) to return back to on_trap().
355 * more information about the on_trap() mechanism. If the on_trap_data is the
366 on_trap(on_trap_data_t *otp, uint_t prot)
371 ENTRY(on_trap) function
389 SET_SIZE(on_trap)
/illumos-gate/usr/src/uts/i86pc/io/pci/
H A Dpci_tools.c684 * on_trap works like setjmp.
686 * A non-zero return here means on_trap has returned from an error.
688 * A zero return here means that on_trap has just returned from setup.
690 if (on_trap(&otd, OT_DATA_ACCESS)) {
694 "pcitool_io_access: on_trap caught an error...\n");
771 * on_trap works like setjmp.
773 * A non-zero return here means on_trap has returned from an error.
775 * A zero return here means that on_trap has just returned from setup.
777 if (on_trap(&otd, OT_DATA_ACCESS)) {
781 "pcitool_mem_access: on_trap caugh
[all...]
/illumos-gate/usr/src/uts/i86pc/os/
H A Dmicrocode.c757 if (!on_trap(&otd, OT_DATA_ACCESS))
784 if (on_trap(&otd, OT_DATA_ACCESS)) {
H A Dcmi_hw.c750 if (on_trap(&otd, OT_DATA_ACCESS) == 0) {
787 if (on_trap(&otd, OT_DATA_ACCESS) == 0) {
H A Dddi_impl.c2210 if (!on_trap(&otd, OT_DATA_ACCESS)) {
2252 if (!on_trap(&otd, OT_DATA_ACCESS)) {
H A Dmp_startup.c1192 if (!on_trap(&otd, OT_DATA_ACCESS))
/illumos-gate/usr/src/uts/sun4/ml/
H A Dinterrupt.s949 brz,pt %l2, 6f ! branch if no on_trap protection
951 stn %g0, [THREAD_REG + T_ONTRAP]! clear on_trap protection
954 add %o5, CPU_OTD, %o4 ! %o4 has on_trap data offset
955 stn %l2, [%o3 + %o4] ! save on_trap label for pil %o2
1358 ! Check on_trap saved area and restore as needed
/illumos-gate/usr/src/uts/intel/ia32/os/
H A Dsundep.c502 * If they do, we'll catch trap with on_trap and return 1.
516 if (!on_trap(&otd, OT_SEGMENT_ACCESS)) {
/illumos-gate/usr/src/uts/sun4/io/
H A Drootnex.c818 if (!on_trap(&otd, OT_DATA_ACCESS)) {
/illumos-gate/usr/src/uts/intel/ia32/ml/
H A Di86_subr.s156 * Default trampoline code for on_trap() (see <sys/ontrap.h>). We just
192 * more information about the on_trap() mechanism. If the on_trap_data is the
199 on_trap(on_trap_data_t *otp, uint_t prot)
206 ENTRY(on_trap) function
224 SET_SIZE(on_trap)
228 ENTRY(on_trap) function
249 SET_SIZE(on_trap)
/illumos-gate/usr/src/uts/sun4u/io/
H A Dsysiosbus.c1349 if (!on_trap(&otd, OT_DATA_ACCESS)) {
1397 if (!on_trap(&otd, OT_DATA_ACCESS)) {
/illumos-gate/usr/src/uts/sun4u/opl/io/pcicmu/
H A Dpcicmu.c773 if (!on_trap(&otd, OT_DATA_ACCESS)) {
821 if (!on_trap(&otd, OT_DATA_ACCESS)) {
/illumos-gate/usr/src/uts/common/vm/
H A Dpage_retire.c642 * on_trap() protection to avoid recursion.
644 if (on_trap(&otd, OT_DATA_EC)) {

Completed in 174 milliseconds

12