Lines Matching +full:user +full:- +full:programmable
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
4 * Copyright (c) 2003-2005,2008 Joseph Koshy
46 * IAP Intel Core/Core2/Atom programmable PMCs.
47 * IAF Intel fixed-function PMCs.
48 * UCP Intel Uncore programmable PMCs.
49 * UCF Intel Uncore fixed-function PMCs.
100 #define PMC_TRAPFRAME_TO_PC(TF) ((TF)->tf_eip)
101 #define PMC_TRAPFRAME_TO_FP(TF) ((TF)->tf_ebp)
108 * When processing an interrupt when in user mode, the processor switches
109 * stacks, and saves the user mode stack pointer on the kernel stack. The
110 * user mode stack pointer is then available to the interrupt handler
111 * at frame->tf_esp.
119 #define PMC_TRAPFRAME_TO_USER_SP(TF) ((TF)->tf_esp)
120 #define PMC_TRAPFRAME_TO_KERNEL_SP(TF) ((uintptr_t) &((TF)->tf_esp))
140 (TF)->tf_cs = 0; (TF)->tf_eflags = 0; \
141 __asm __volatile("movl %%ebp,%0" : "=r" ((TF)->tf_ebp)); \
142 __asm __volatile("movl %%esp,%0" : "=r" ((TF)->tf_esp)); \
143 __asm __volatile("call 1f \n\t1: pop %0" : "=r"((TF)->tf_eip)); \