@@ -353,10 +353,6 @@ static __always_inline void __##func(struct pt_regs *regs)
353
353
354
354
#else /* CONFIG_X86_64 */
355
355
356
- /* Maps to a regular IDTENTRY on 32bit for now */
357
- # define DECLARE_IDTENTRY_IST DECLARE_IDTENTRY
358
- # define DEFINE_IDTENTRY_IST DEFINE_IDTENTRY
359
-
360
356
/**
361
357
* DECLARE_IDTENTRY_DF - Declare functions for double fault 32bit variant
362
358
* @vector: Vector number (ignored for C)
@@ -387,16 +383,18 @@ __visible noinstr void func(struct pt_regs *regs, \
387
383
#endif /* !CONFIG_X86_64 */
388
384
389
385
/* C-Code mapping */
386
+ #define DECLARE_IDTENTRY_NMI DECLARE_IDTENTRY_RAW
387
+ #define DEFINE_IDTENTRY_NMI DEFINE_IDTENTRY_RAW
388
+
389
+ #ifdef CONFIG_X86_64
390
390
#define DECLARE_IDTENTRY_MCE DECLARE_IDTENTRY_IST
391
391
#define DEFINE_IDTENTRY_MCE DEFINE_IDTENTRY_IST
392
392
#define DEFINE_IDTENTRY_MCE_USER DEFINE_IDTENTRY_NOIST
393
393
394
- #define DECLARE_IDTENTRY_NMI DECLARE_IDTENTRY_RAW
395
- #define DEFINE_IDTENTRY_NMI DEFINE_IDTENTRY_RAW
396
-
397
394
#define DECLARE_IDTENTRY_DEBUG DECLARE_IDTENTRY_IST
398
395
#define DEFINE_IDTENTRY_DEBUG DEFINE_IDTENTRY_IST
399
396
#define DEFINE_IDTENTRY_DEBUG_USER DEFINE_IDTENTRY_NOIST
397
+ #endif
400
398
401
399
#else /* !__ASSEMBLY__ */
402
400
@@ -443,9 +441,6 @@ __visible noinstr void func(struct pt_regs *regs, \
443
441
# define DECLARE_IDTENTRY_MCE (vector , func ) \
444
442
DECLARE_IDTENTRY(vector, func)
445
443
446
- # define DECLARE_IDTENTRY_DEBUG (vector , func ) \
447
- DECLARE_IDTENTRY(vector, func)
448
-
449
444
/* No ASM emitted for DF as this goes through a C shim */
450
445
# define DECLARE_IDTENTRY_DF (vector , func )
451
446
@@ -549,7 +544,11 @@ DECLARE_IDTENTRY_RAW(X86_TRAP_BP, exc_int3);
549
544
DECLARE_IDTENTRY_RAW_ERRORCODE (X86_TRAP_PF , exc_page_fault );
550
545
551
546
#ifdef CONFIG_X86_MCE
547
+ #ifdef CONFIG_X86_64
552
548
DECLARE_IDTENTRY_MCE (X86_TRAP_MC , exc_machine_check );
549
+ #else
550
+ DECLARE_IDTENTRY_RAW (X86_TRAP_MC , exc_machine_check );
551
+ #endif
553
552
#endif
554
553
555
554
/* NMI */
@@ -559,7 +558,11 @@ DECLARE_IDTENTRY_RAW(X86_TRAP_NMI, xenpv_exc_nmi);
559
558
#endif
560
559
561
560
/* #DB */
561
+ #ifdef CONFIG_X86_64
562
562
DECLARE_IDTENTRY_DEBUG (X86_TRAP_DB , exc_debug );
563
+ #else
564
+ DECLARE_IDTENTRY_RAW (X86_TRAP_DB , exc_debug );
565
+ #endif
563
566
#ifdef CONFIG_XEN_PV
564
567
DECLARE_IDTENTRY_RAW (X86_TRAP_DB , xenpv_exc_debug );
565
568
#endif
0 commit comments