Lines Matching +full:point +full:- +full:to +full:- +full:point

1 /* SPDX-License-Identifier: GPL-2.0 */
11 #include <linux/entry-common.h>
19 * DECLARE_IDTENTRY - Declare functions for simple IDT entry points
22 * @func: Function name of the entry point
25 * - The ASM entry point: asm_##func
26 * - The XEN PV trap entry point: xen_##func (maybe unused)
27 * - The C handler called from the FRED event dispatcher (maybe unused)
28 * - The C handler called from the ASM entry point
32 * as well which is used to emit the entry stubs in entry_32/64.S.
41 * DEFINE_IDTENTRY - Emit code for simple IDT entry points
42 * @func: Function name of the entry point
49 * irqentry_enter() contains common code which has to be invoked before
51 * which has to run before returning to the low level assembly code.
73 * DECLARE_IDTENTRY_ERRORCODE - Declare functions for simple IDT entry points
76 * @func: Function name of the entry point
79 * - The ASM entry point: asm_##func
80 * - The XEN PV trap entry point: xen_##func (maybe unused)
81 * - The C handler called from the ASM entry point
84 * C-handler.
92 * DEFINE_IDTENTRY_ERRORCODE - Emit code for simple IDT entry points
94 * @func: Function name of the entry point
117 * DECLARE_IDTENTRY_RAW - Declare functions for raw IDT entry points
120 * @func: Function name of the entry point
122 * Maps to DECLARE_IDTENTRY().
128 * DEFINE_IDTENTRY_RAW - Emit code for raw IDT entry points
129 * @func: Function name of the entry point
136 * Contrary to DEFINE_IDTENTRY() this does not invoke the
138 * needs to be done in the body itself if applicable. Use if extra work
145 * DEFINE_FREDENTRY_RAW - Emit code for raw FRED entry points
146 * @func: Function name of the entry point
156 * DECLARE_IDTENTRY_RAW_ERRORCODE - Declare functions for raw IDT entry points
159 * @func: Function name of the entry point
161 * Maps to DECLARE_IDTENTRY_ERRORCODE()
167 * DEFINE_IDTENTRY_RAW_ERRORCODE - Emit code for raw IDT entry points
168 * @func: Function name of the entry point
175 * Contrary to DEFINE_IDTENTRY_ERRORCODE() this does not invoke the
177 * needs to be done in the body itself if applicable. Use if extra work
184 * DECLARE_IDTENTRY_IRQ - Declare functions for device interrupt IDT entry
187 * @func: Function name of the entry point
189 * Maps to DECLARE_IDTENTRY_ERRORCODE()
195 * DEFINE_IDTENTRY_IRQ - Emit code for device interrupt IDT entry points
196 * @func: Function name of the entry point
199 * to the function as error_code argument which needs to be truncated
200 * to an u8 because the push is sign extending.
203 * KVM L1D flush request is set. Stack switching to the interrupt stack
204 * has to be done in the function body if necessary.
225 * DECLARE_IDTENTRY_SYSVEC - Declare functions for system vector entry points
227 * @func: Function name of the entry point
230 * - The ASM entry point: asm_##func
231 * - The XEN PV trap entry point: xen_##func (maybe unused)
232 * - The C handler called from the ASM entry point
234 * Maps to DECLARE_IDTENTRY().
240 * DEFINE_IDTENTRY_SYSVEC - Emit code for system vector IDT entry points
241 * @func: Function name of the entry point
275 * DEFINE_IDTENTRY_SYSVEC_SIMPLE - Emit code for simple system vector IDT
277 * @func: Function name of the entry point
279 * Runs the function on the interrupted stack. No switch to IRQ stack and
314 * DECLARE_IDTENTRY_XENCB - Declare functions for XEN HV callback entry point
316 * @func: Function name of the entry point
319 * - The ASM entry point: asm_##func
320 * - The XEN PV trap entry point: xen_##func (maybe unused)
321 * - The C handler called from the ASM entry point
323 * Maps to DECLARE_IDTENTRY(). Distinct entry point to handle the 32/64-bit
331 * DECLARE_IDTENTRY_IST - Declare functions for IST handling IDT entry points
333 * @func: Function name of the entry point
335 * Maps to DECLARE_IDTENTRY_RAW, but declares also the NOIST C handler
336 * which is called from the ASM entry point on user mode entry
343 * DECLARE_IDTENTRY_VC - Declare functions for the VC entry point
345 * @func: Function name of the entry point
347 * Maps to DECLARE_IDTENTRY_RAW_ERRORCODE, but declares also the
356 * DEFINE_IDTENTRY_IST - Emit code for IST entry points
357 * @func: Function name of the entry point
359 * Maps to DEFINE_IDTENTRY_RAW
365 * DEFINE_IDTENTRY_NOIST - Emit code for NOIST entry points which
366 * belong to a IST entry point (MCE, DB)
367 * @func: Function name of the entry point. Must be the same as
370 * Maps to DEFINE_IDTENTRY_RAW().
376 * DECLARE_IDTENTRY_DF - Declare functions for double fault
378 * @func: Function name of the entry point
380 * Maps to DECLARE_IDTENTRY_RAW_ERRORCODE
386 * DEFINE_IDTENTRY_DF - Emit code for double fault
387 * @func: Function name of the entry point
389 * Maps to DEFINE_IDTENTRY_RAW_ERRORCODE
395 * DEFINE_IDTENTRY_VC_KERNEL - Emit code for VMM communication handler
397 * @func: Function name of the entry point
399 * Maps to DEFINE_IDTENTRY_RAW_ERRORCODE
405 * DEFINE_IDTENTRY_VC_USER - Emit code for VMM communication handler
407 * @func: Function name of the entry point
409 * Maps to DEFINE_IDTENTRY_RAW_ERRORCODE
417 * DECLARE_IDTENTRY_DF - Declare functions for double fault 32bit variant
419 * @func: Function name of the entry point
422 * - The ASM entry point: asm_##func
423 * - The C handler called from the C shim
432 * DEFINE_IDTENTRY_DF - Emit code for double fault on 32bit
433 * @func: Function name of the entry point
445 /* C-Code mapping */
537 * ASM code to emit the common vector entry stubs where each stub is
542 * all vectors above 0x7F to a 5 byte push. The original code did an
543 * adjustment of the vector number to be in the signed byte range to avoid
545 * odd conversion back to a real vector number in the C entry points. Using
547 * point is to mask off the bits above bit 7 because the push is sign
560 .fill 0b + IDT_ALIGN - ., 1, 0xcc
576 .fill 0b + IDT_ALIGN - ., 1, 0xcc
587 * - provide the function declarations when included from C-Code
588 * - emit the ASM stubs when included from entry_32/64.S
644 * Special entry point for VMX which invokes this on the kernel stack, even for
645 * 64-bit, i.e. without using an IST. asm_exc_nmi() requires an IST to work
646 * correctly vs. the NMI 'executing' marker. Used for 32-bit kernels as well
647 * to avoid more ifdeffery.