https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d15e36a1f19b78ca4acbc…
commit d15e36a1f19b78ca4acbc6041a06e5abaa8050d8
Author:     Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
AuthorDate: Mon Feb 4 01:02:26 2019 +0100
Commit:     Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
CommitDate: Thu Jun 20 18:07:59 2019 +0200
    [NTOS:KE][SDK:ASM] Code formatting/styling only.
    - Un-hardcode the RPL_MASK value.
    - s/KiUnexpectedInterrupt&Number/KiUnexpectedInterrupt&Vector/
    - Use C-style comments in traphdlr.c as everywhere else in the file.
    - Update the URLs for the MSDN "FPO" macro documentation.
---
 ntoskrnl/include/internal/i386/asmmacro.S |  39 +++++----
 ntoskrnl/ke/i386/trap.s                   |   2 +-
 ntoskrnl/ke/i386/traphdlr.c               | 128 +++++++++++++-----------------
 sdk/include/asm/asm.inc                   |  18 +++--
 4 files changed, 86 insertions(+), 101 deletions(-)
diff --git a/ntoskrnl/include/internal/i386/asmmacro.S
b/ntoskrnl/include/internal/i386/asmmacro.S
index b976b1ab91..6d2d213c3d 100644
--- a/ntoskrnl/include/internal/i386/asmmacro.S
+++ b/ntoskrnl/include/internal/i386/asmmacro.S
@@ -66,16 +66,15 @@ MACRO(idt, Handler, Bits)
 ENDM
-KI_PUSH_FAKE_ERROR_CODE = HEX(0001)
-KI_UNUSED               = HEX(0002)
-KI_NONVOLATILES_ONLY    = HEX(0004)
-KI_FAST_SYSTEM_CALL     = HEX(0008)
-KI_SOFTWARE_TRAP        = HEX(0010)
-KI_HARDWARE_INT         = HEX(0020)
-KI_DONT_SAVE_SEGS       = HEX(0100)
+#define KI_PUSH_FAKE_ERROR_CODE HEX(0001)
+#define KI_UNUSED               HEX(0002)
+#define KI_NONVOLATILES_ONLY    HEX(0004)
+#define KI_FAST_SYSTEM_CALL     HEX(0008)
+#define KI_SOFTWARE_TRAP        HEX(0010)
+#define KI_HARDWARE_INT         HEX(0020)
+#define KI_DONT_SAVE_SEGS       HEX(0100)
 MACRO(KiEnterTrap, Flags)
-    LOCAL kernel_trap
     LOCAL not_v86_trap
     LOCAL set_sane_segs
@@ -145,7 +144,7 @@ MACRO(KiEnterTrap, Flags)
     if (Flags AND KI_DONT_SAVE_SEGS)
         /* Initialize TrapFrame segment registers with sane values */
-        mov eax, KGDT_R3_DATA OR 3
+        mov eax, KGDT_R3_DATA OR RPL_MASK
         mov ecx, fs
         mov [esp + KTRAP_FRAME_DS], eax
         mov [esp + KTRAP_FRAME_ES], eax
@@ -250,17 +249,17 @@ MACRO(TRAP_ENTRY, Trap, Flags)
     .ENDP
 ENDM
-#define KI_RESTORE_EAX        HEX(001)
-#define KI_RESTORE_ECX_EDX    HEX(002)
-#define KI_RESTORE_FS         HEX(004)
-#define KI_RESTORE_SEGMENTS   HEX(008)
-#define KI_RESTORE_EFLAGS     HEX(010)
-#define KI_EXIT_SYSCALL       HEX(020)
-#define KI_EXIT_JMP           HEX(040)
-#define KI_EXIT_RET           HEX(080)
-#define KI_EXIT_IRET          HEX(100)
-#define KI_EDITED_FRAME       HEX(200)
-#define KI_EXIT_RET8          HEX(400)
+#define KI_RESTORE_EAX        HEX(0001)
+#define KI_RESTORE_ECX_EDX    HEX(0002)
+#define KI_RESTORE_FS         HEX(0004)
+#define KI_RESTORE_SEGMENTS   HEX(0008)
+#define KI_RESTORE_EFLAGS     HEX(0010)
+#define KI_EXIT_SYSCALL       HEX(0020)
+#define KI_EXIT_JMP           HEX(0040)
+#define KI_EXIT_RET           HEX(0080)
+#define KI_EXIT_IRET          HEX(0100)
+#define KI_EDITED_FRAME       HEX(0200)
+#define KI_EXIT_RET8          HEX(0400)
 #define KI_RESTORE_VOLATILES  (KI_RESTORE_EAX OR KI_RESTORE_ECX_EDX)
 MACRO(KiTrapExitStub, Name, Flags)
diff --git a/ntoskrnl/ke/i386/trap.s b/ntoskrnl/ke/i386/trap.s
index 01d130e7e6..6bd57e8053 100644
--- a/ntoskrnl/ke/i386/trap.s
+++ b/ntoskrnl/ke/i386/trap.s
@@ -18,7 +18,7 @@ idt _KiUnexpectedInterrupt&Vector, INT_32_DPL0
 ENDM
 MACRO(GENERATE_INT_HANDLER, Vector)
-//.func KiUnexpectedInterrupt&Number
+//.func KiUnexpectedInterrupt&Vector
 _KiUnexpectedInterrupt&Vector:
     /* This is a push instruction with 8bit operand. Since the instruction
        sign extends the value to 32 bits, we need to offset it */
diff --git a/ntoskrnl/ke/i386/traphdlr.c b/ntoskrnl/ke/i386/traphdlr.c
index 27ae26c805..7cf1fcde37 100644
--- a/ntoskrnl/ke/i386/traphdlr.c
+++ b/ntoskrnl/ke/i386/traphdlr.c
@@ -222,7 +222,7 @@ KiDebugHandler(IN PKTRAP_FRAME TrapFrame,
                IN ULONG Parameter3)
 {
     /* Check for VDM trap */
-    ASSERT((KiVdmTrap(TrapFrame)) == FALSE);
+    ASSERT(KiVdmTrap(TrapFrame) == FALSE);
     /* Enable interrupts if the trap came from user-mode */
     if (KiUserTrap(TrapFrame)) _enable();
@@ -248,7 +248,7 @@ KiNpxHandler(IN PKTRAP_FRAME TrapFrame,
     ULONG Cr0, Mask, Error, ErrorOffset, DataOffset;
     /* Check for VDM trap */
-    ASSERT((KiVdmTrap(TrapFrame)) == FALSE);
+    ASSERT(KiVdmTrap(TrapFrame) == FALSE);
     /* Check for kernel trap */
     if (!KiUserTrap(TrapFrame))
@@ -410,7 +410,7 @@ KiTrap00Handler(IN PKTRAP_FRAME TrapFrame)
     KiEnterTrap(TrapFrame);
     /* Check for VDM trap */
-    ASSERT((KiVdmTrap(TrapFrame)) == FALSE);
+    ASSERT(KiVdmTrap(TrapFrame) == FALSE);
     /*  Enable interrupts */
     _enable();
@@ -430,7 +430,7 @@ KiTrap01Handler(IN PKTRAP_FRAME TrapFrame)
     KiEnterTrap(TrapFrame);
     /* Check for VDM trap */
-    ASSERT((KiVdmTrap(TrapFrame)) == FALSE);
+    ASSERT(KiVdmTrap(TrapFrame) == FALSE);
     /* Check if this was a single step after sysenter */
     if (TrapFrame->Eip == (ULONG)KiFastCallEntry)
@@ -467,58 +467,52 @@ KiTrap02(VOID)
     KTRAP_FRAME TrapFrame;
     KIRQL OldIrql;
-    //
-    // In some sort of strange recursion case, we might end up here with the IF
-    // flag incorrectly on the interrupt frame -- during a normal NMI this would
-    // normally already be set.
-    //
-    // For sanity's sake, make sure interrupts are disabled for sure.
-    // NMIs will already be since the CPU does it for us.
-    //
+    /*
+     * In some sort of strange recursion case, we might end up here with the IF
+     * flag incorrectly on the interrupt frame -- during a normal NMI this would
+     * normally already be set.
+     *
+     * For sanity's sake, make sure interrupts are disabled for sure.
+     * NMIs will already be since the CPU does it for us.
+     */
     _disable();
-    //
-    // Get the current TSS, thread, and process
-    //
+    /* Get the current TSS, thread, and process */
     Tss = PCR->TSS;
     Thread = ((PKIPCR)PCR)->PrcbData.CurrentThread;
     Process = Thread->ApcState.Process;
-    //
-    // Save data usually not in the TSS
-    //
+    /* Save data usually not present in the TSS */
     Tss->CR3 = Process->DirectoryTableBase[0];
     Tss->IoMapBase = Process->IopmOffset;
     Tss->LDT = Process->LdtDescriptor.LimitLow ? KGDT_LDT : 0;
-    //
-    // Now get the base address of the NMI TSS
-    //
+    /* Now get the base address of the NMI TSS */
     TssGdt = &((PKIPCR)KeGetPcr())->GDT[KGDT_NMI_TSS / sizeof(KGDTENTRY)];
     NmiTss = (PKTSS)(ULONG_PTR)(TssGdt->BaseLow |
                                 TssGdt->HighWord.Bytes.BaseMid << 16 |
                                 TssGdt->HighWord.Bytes.BaseHi << 24);
-    //
-    // Switch to it and activate it, masking off the nested flag
-    //
-    // Note that in reality, we are already on the NMI tss -- we just need to
-    // update the PCR to reflect this
-    //
+    /*
+     * Switch to it and activate it, masking off the nested flag.
+     *
+     * Note that in reality, we are already on the NMI TSS -- we just
+     * need to update the PCR to reflect this.
+     */
     PCR->TSS = NmiTss;
     __writeeflags(__readeflags() &~ EFLAGS_NESTED_TASK);
     TssGdt->HighWord.Bits.Dpl = 0;
     TssGdt->HighWord.Bits.Pres = 1;
     TssGdt->HighWord.Bits.Type = I386_TSS;
-    //
-    // Now build the trap frame based on the original TSS
-    //
-    // The CPU does a hardware "Context switch" / task switch of sorts and so
it
-    // takes care of saving our context in the normal TSS.
-    //
-    // We just have to go get the values...
-    //
+    /*
+     * Now build the trap frame based on the original TSS.
+     *
+     * The CPU does a hardware "Context switch" / task switch of sorts
+     * and so it takes care of saving our context in the normal TSS.
+     *
+     * We just have to go get the values...
+     */
     RtlZeroMemory(&TrapFrame, sizeof(KTRAP_FRAME));
     TrapFrame.HardwareSegSs = Tss->Ss0;
     TrapFrame.HardwareEsp = Tss->Esp0;
@@ -541,64 +535,50 @@ KiTrap02(VOID)
     TrapFrame.DbgEip = Tss->Eip;
     TrapFrame.DbgEbp = Tss->Ebp;
-    //
-    // Store the trap frame in the KPRCB
-    //
+    /* Store the trap frame in the KPRCB */
     KiSaveProcessorState(&TrapFrame, NULL);
-    //
-    // Call any registered NMI handlers and see if they handled it or not
-    //
+    /* Call any registered NMI handlers and see if they handled it or not */
     if (!KiHandleNmi())
     {
-        //
-        // They did not, so call the platform HAL routine to bugcheck the system
-        //
-        // Make sure the HAL believes it's running at HIGH IRQL... we can't use
-        // the normal APIs here as playing with the IRQL could change the system
-        // state
-        //
+        /*
+         * They did not, so call the platform HAL routine to bugcheck the system
+         *
+         * Make sure the HAL believes it's running at HIGH IRQL... we can't use
+         * the normal APIs here as playing with the IRQL could change the system
+         * state.
+         */
         OldIrql = PCR->Irql;
         PCR->Irql = HIGH_LEVEL;
         HalHandleNMI(NULL);
         PCR->Irql = OldIrql;
     }
-    //
-    // Although the CPU disabled NMIs, we just did a BIOS Call, which could've
-    // totally changed things.
-    //
-    // We have to make sure we're still in our original NMI -- a nested NMI
-    // will point back to the NMI TSS, and in that case we're hosed.
-    //
+    /*
+     * Although the CPU disabled NMIs, we just did a BIOS call, which could've
+     * totally changed things.
+     *
+     * We have to make sure we're still in our original NMI -- a nested NMI
+     * will point back to the NMI TSS, and in that case we're hosed.
+     */
     if (PCR->TSS->Backlink != KGDT_NMI_TSS)
     {
-        //
-        // Restore original TSS
-        //
+        /* Restore original TSS */
         PCR->TSS = Tss;
-        //
-        // Set it back to busy
-        //
+        /* Set it back to busy */
         TssGdt->HighWord.Bits.Dpl = 0;
         TssGdt->HighWord.Bits.Pres = 1;
         TssGdt->HighWord.Bits.Type = I386_ACTIVE_TSS;
-        //
-        // Restore nested flag
-        //
+        /* Restore nested flag */
         __writeeflags(__readeflags() | EFLAGS_NESTED_TASK);
-        //
-        // Handled, return from interrupt
-        //
+        /* Handled, return from interrupt */
         KiIret();
     }
-    //
-    // Unhandled: crash the system
-    //
+    /* Unhandled: crash the system */
     KiSystemFatalException(EXCEPTION_NMI, NULL);
 }
@@ -623,7 +603,7 @@ KiTrap04Handler(IN PKTRAP_FRAME TrapFrame)
     KiEnterTrap(TrapFrame);
     /* Check for VDM trap */
-    ASSERT((KiVdmTrap(TrapFrame)) == FALSE);
+    ASSERT(KiVdmTrap(TrapFrame) == FALSE);
      /* Enable interrupts */
     _enable();
@@ -643,7 +623,7 @@ KiTrap05Handler(IN PKTRAP_FRAME TrapFrame)
     KiEnterTrap(TrapFrame);
     /* Check for VDM trap */
-    ASSERT((KiVdmTrap(TrapFrame)) == FALSE);
+    ASSERT(KiVdmTrap(TrapFrame) == FALSE);
     /* Check for kernel-mode fault */
     if (!KiUserTrap(TrapFrame)) KiSystemFatalException(EXCEPTION_BOUND_CHECK, TrapFrame);
@@ -878,7 +858,7 @@ KiTrap0AHandler(IN PKTRAP_FRAME TrapFrame)
     KiEnterTrap(TrapFrame);
     /* Check for VDM trap */
-    ASSERT((KiVdmTrap(TrapFrame)) == FALSE);
+    ASSERT(KiVdmTrap(TrapFrame) == FALSE);
     /* Kill the system */
     KiSystemFatalException(EXCEPTION_INVALID_TSS, TrapFrame);
@@ -1485,7 +1465,7 @@ KiTrap13Handler(IN PKTRAP_FRAME TrapFrame)
     SaveArea = KiGetThreadNpxArea(Thread);
     /* Check for VDM trap */
-    ASSERT((KiVdmTrap(TrapFrame)) == FALSE);
+    ASSERT(KiVdmTrap(TrapFrame) == FALSE);
     /* Check for user trap */
     if (!KiUserTrap(TrapFrame))
diff --git a/sdk/include/asm/asm.inc b/sdk/include/asm/asm.inc
index 7612815607..458fce72f1 100644
--- a/sdk/include/asm/asm.inc
+++ b/sdk/include/asm/asm.inc
@@ -9,8 +9,10 @@
 #ifndef __ASM_INC__
 #define __ASM_INC__
-/* Common definitions for FPO macro
-   see 
http://msdn.microsoft.com/en-us/library/ms679352%28VS.85%29.aspx */
+/*
+ * Common definitions for the FPO macro.
+ * See 
https://docs.microsoft.com/en-us/windows/desktop/api/winnt/ns-winnt-_fpo_da…
+ */
 #define FRAME_FPO    0
 #define FRAME_TRAP   1
 #define FRAME_TSS    2
@@ -65,8 +67,10 @@ GLOBAL_LABEL MACRO label
     %label::
 ENDM
-/* check 
http://msdn.microsoft.com/en-us/library/9c9k076y%28VS.80%29.aspx
-   and 
http://msdn.microsoft.com/en-us/library/ms679352%28VS.85%29.aspx */
+/*
+ * See 
https://docs.microsoft.com/en-us/cpp/assembler/masm/dot-fpo
+ * and 
https://docs.microsoft.com/en-us/windows/desktop/api/winnt/ns-winnt-_fpo_da…
+ */
 FPO MACRO cdwLocals, cdwParams, cbProlog, cbRegs, fUseBP, cbFrame
     .FPO (cdwLocals, cdwParams, cbProlog, cbRegs, fUseBP, cbFrame)
 ENDM
@@ -317,8 +321,10 @@ ENDM
     .section .rdata
 .endm
-/* check 
http://msdn.microsoft.com/en-us/library/9c9k076y%28VS.80%29.aspx
-   and 
http://msdn.microsoft.com/en-us/library/ms679352%28VS.85%29.aspx */
+/*
+ * See 
https://docs.microsoft.com/en-us/cpp/assembler/masm/dot-fpo
+ * and 
https://docs.microsoft.com/en-us/windows/desktop/api/winnt/ns-winnt-_fpo_da…
+ */
 .macro FPO cdwLocals, cdwParams, cbProlog, cbRegs, fUseBP, cbFrame
     .if (cbFrame == FRAME_TRAP)
         .cfi_signal_frame