Lines Matching +full:point +full:- +full:to +full:- +full:point
1 /* SPDX-License-Identifier: GPL-2.0 */
11 #include <linux/entry-common.h>
17 * DECLARE_IDTENTRY - Declare functions for simple IDT entry points
20 * @func: Function name of the entry point
23 * - The ASM entry point: asm_##func
24 * - The XEN PV trap entry point: xen_##func (maybe unused)
25 * - The C handler called from the ASM entry point
29 * as well which is used to emit the entry stubs in entry_32/64.S.
37 * DEFINE_IDTENTRY - Emit code for simple IDT entry points
38 * @func: Function name of the entry point
45 * irqentry_enter() contains common code which has to be invoked before
47 * which has to run before returning to the low level assembly code.
69 * DECLARE_IDTENTRY_ERRORCODE - Declare functions for simple IDT entry points
72 * @func: Function name of the entry point
75 * - The ASM entry point: asm_##func
76 * - The XEN PV trap entry point: xen_##func (maybe unused)
77 * - The C handler called from the ASM entry point
80 * C-handler.
88 * DEFINE_IDTENTRY_ERRORCODE - Emit code for simple IDT entry points
90 * @func: Function name of the entry point
113 * DECLARE_IDTENTRY_RAW - Declare functions for raw IDT entry points
116 * @func: Function name of the entry point
118 * Maps to DECLARE_IDTENTRY().
124 * DEFINE_IDTENTRY_RAW - Emit code for raw IDT entry points
125 * @func: Function name of the entry point
132 * Contrary to DEFINE_IDTENTRY() this does not invoke the
134 * needs to be done in the body itself if applicable. Use if extra work
141 * DECLARE_IDTENTRY_RAW_ERRORCODE - Declare functions for raw IDT entry points
144 * @func: Function name of the entry point
146 * Maps to DECLARE_IDTENTRY_ERRORCODE()
152 * DEFINE_IDTENTRY_RAW_ERRORCODE - Emit code for raw IDT entry points
153 * @func: Function name of the entry point
160 * Contrary to DEFINE_IDTENTRY_ERRORCODE() this does not invoke the
162 * needs to be done in the body itself if applicable. Use if extra work
169 * DECLARE_IDTENTRY_IRQ - Declare functions for device interrupt IDT entry
172 * @func: Function name of the entry point
174 * Maps to DECLARE_IDTENTRY_ERRORCODE()
180 * DEFINE_IDTENTRY_IRQ - Emit code for device interrupt IDT entry points
181 * @func: Function name of the entry point
184 * to the function as error_code argument which needs to be truncated
185 * to an u8 because the push is sign extending.
188 * KVM L1D flush request is set. Stack switching to the interrupt stack
189 * has to be done in the function body if necessary.
210 * DECLARE_IDTENTRY_SYSVEC - Declare functions for system vector entry points
212 * @func: Function name of the entry point
215 * - The ASM entry point: asm_##func
216 * - The XEN PV trap entry point: xen_##func (maybe unused)
217 * - The C handler called from the ASM entry point
219 * Maps to DECLARE_IDTENTRY().
225 * DEFINE_IDTENTRY_SYSVEC - Emit code for system vector IDT entry points
226 * @func: Function name of the entry point
250 * DEFINE_IDTENTRY_SYSVEC_SIMPLE - Emit code for simple system vector IDT
252 * @func: Function name of the entry point
254 * Runs the function on the interrupted stack. No switch to IRQ stack and
279 * DECLARE_IDTENTRY_XENCB - Declare functions for XEN HV callback entry point
281 * @func: Function name of the entry point
284 * - The ASM entry point: asm_##func
285 * - The XEN PV trap entry point: xen_##func (maybe unused)
286 * - The C handler called from the ASM entry point
288 * Maps to DECLARE_IDTENTRY(). Distinct entry point to handle the 32/64-bit
296 * DECLARE_IDTENTRY_IST - Declare functions for IST handling IDT entry points
298 * @func: Function name of the entry point
300 * Maps to DECLARE_IDTENTRY_RAW, but declares also the NOIST C handler
301 * which is called from the ASM entry point on user mode entry
308 * DECLARE_IDTENTRY_VC - Declare functions for the VC entry point
310 * @func: Function name of the entry point
312 * Maps to DECLARE_IDTENTRY_RAW_ERRORCODE, but declares also the
321 * DEFINE_IDTENTRY_IST - Emit code for IST entry points
322 * @func: Function name of the entry point
324 * Maps to DEFINE_IDTENTRY_RAW
330 * DEFINE_IDTENTRY_NOIST - Emit code for NOIST entry points which
331 * belong to a IST entry point (MCE, DB)
332 * @func: Function name of the entry point. Must be the same as
335 * Maps to DEFINE_IDTENTRY_RAW().
341 * DECLARE_IDTENTRY_DF - Declare functions for double fault
343 * @func: Function name of the entry point
345 * Maps to DECLARE_IDTENTRY_RAW_ERRORCODE
351 * DEFINE_IDTENTRY_DF - Emit code for double fault
352 * @func: Function name of the entry point
354 * Maps to DEFINE_IDTENTRY_RAW_ERRORCODE
360 * DEFINE_IDTENTRY_VC_KERNEL - Emit code for VMM communication handler
362 * @func: Function name of the entry point
364 * Maps to DEFINE_IDTENTRY_RAW_ERRORCODE
370 * DEFINE_IDTENTRY_VC_USER - Emit code for VMM communication handler
372 * @func: Function name of the entry point
374 * Maps to DEFINE_IDTENTRY_RAW_ERRORCODE
382 * DECLARE_IDTENTRY_DF - Declare functions for double fault 32bit variant
384 * @func: Function name of the entry point
387 * - The ASM entry point: asm_##func
388 * - The C handler called from the C shim
397 * DEFINE_IDTENTRY_DF - Emit code for double fault on 32bit
398 * @func: Function name of the entry point
410 /* C-Code mapping */
484 * ASM code to emit the common vector entry stubs where each stub is
489 * all vectors above 0x7F to a 5 byte push. The original code did an
490 * adjustment of the vector number to be in the signed byte range to avoid
492 * odd conversion back to a real vector number in the C entry points. Using
494 * point is to mask off the bits above bit 7 because the push is sign
507 .fill 0b + IDT_ALIGN - ., 1, 0xcc
523 .fill 0b + IDT_ALIGN - ., 1, 0xcc
534 * - provide the function declarations when included from C-Code
535 * - emit the ASM stubs when included from entry_32/64.S
591 * Special entry point for VMX which invokes this on the kernel stack, even for
592 * 64-bit, i.e. without using an IST. asm_exc_nmi() requires an IST to work
593 * correctly vs. the NMI 'executing' marker. Used for 32-bit kernels as well
594 * to avoid more ifdeffery.