From 208628f805ce9a19f29132bc28188d6ef4f742a6 Mon Sep 17 00:00:00 2001 From: qhuang8 Date: Fri, 21 Aug 2009 03:20:20 +0000 Subject: [PATCH] Remove .rept directive to improve portability. we might have to replace them with copies. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9171 6f19259b-4bc3-4df7-8a09-765794883524 --- DuetPkg/BootSector/efi32.S | 599 ++++++++++++++++++++++++++++- DuetPkg/BootSector/efi64.S | 599 ++++++++++++++++++++++++++++- DuetPkg/CpuDxe/Ia32/CpuInterrupt.S | 142 ++++++- DuetPkg/CpuDxe/X64/CpuInterrupt.S | 142 ++++++- 4 files changed, 1470 insertions(+), 12 deletions(-) diff --git a/DuetPkg/BootSector/efi32.S b/DuetPkg/BootSector/efi32.S index 1da2d5e6f3..0142f35771 100644 --- a/DuetPkg/BootSector/efi32.S +++ b/DuetPkg/BootSector/efi32.S @@ -272,13 +272,608 @@ INT19: jmpCommonIdtEntry INTUnknown: -.rept (0x78 - 20) +# The following segment repeats (0x78 - 20) times: +# No. 1 pushl $0x0 # push error code place holder on the stack # push $0xxx # push vector number .byte 0x6a .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number jmpCommonIdtEntry -.endr +# No. 2 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 3 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 4 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 5 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 6 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 7 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 8 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 9 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 10 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 11 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 12 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 13 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 14 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 15 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 16 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 17 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 18 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 19 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 20 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 21 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 22 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 23 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 24 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 25 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 26 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 27 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 28 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 29 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 30 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 31 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 32 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 33 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 34 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 35 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 36 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 37 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 38 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 39 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 40 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 41 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 42 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 43 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 44 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 45 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 46 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 47 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 48 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 49 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 50 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 51 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 52 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 53 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 54 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 55 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 56 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 57 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 58 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 59 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 60 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 61 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 62 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 63 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 64 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 65 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 66 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 67 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 68 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 69 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 70 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 71 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 72 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 73 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 74 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 75 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 76 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 77 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 78 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 79 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 80 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 81 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 82 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 83 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 84 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 85 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 86 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 87 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 88 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 89 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 90 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 91 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 92 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 93 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 94 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 95 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 96 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 97 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 98 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 99 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 100 + pushl $0x0 # push error code place holder on the stack +# push $0xxx # push vector number + .byte 0x6a + .long ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry + commonIdtEntry: pushal diff --git a/DuetPkg/BootSector/efi64.S b/DuetPkg/BootSector/efi64.S index d95fc73bbe..fcb31013b5 100644 --- a/DuetPkg/BootSector/efi64.S +++ b/DuetPkg/BootSector/efi64.S @@ -296,13 +296,608 @@ INT19: jmpCommonIdtEntry INTUnknown: -.rept (0x78 - 20) +# The following segment repeats (0x78 - 20) times: +# No. 1 pushl $0x0 # push error code place holder on the stack # push xxh ; push vector number .byte 0x6a .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number jmpCommonIdtEntry -.endr +# No. 2 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 3 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 4 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 5 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 6 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 7 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 8 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 9 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 10 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 11 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 12 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 13 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 14 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 15 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 16 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 17 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 18 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 19 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 20 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 21 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 22 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 23 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 24 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 25 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 26 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 27 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 28 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 29 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 30 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 31 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 32 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 33 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 34 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 35 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 36 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 37 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 38 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 39 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 40 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 41 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 42 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 43 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 44 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 45 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 46 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 47 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 48 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 49 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 50 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 51 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 52 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 53 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 54 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 55 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 56 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 57 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 58 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 59 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 60 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 61 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 62 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 63 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 64 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 65 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 66 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 67 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 68 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 69 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 70 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 71 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 72 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 73 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 74 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 75 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 76 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 77 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 78 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 79 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 80 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 81 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 82 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 83 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 84 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 85 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 86 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 87 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 88 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 89 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 90 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 91 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 92 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 93 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 94 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 95 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 96 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 97 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 98 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 99 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry +# No. 100 + pushl $0x0 # push error code place holder on the stack +# push xxh ; push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + jmpCommonIdtEntry + commonIdtEntry: pushl %eax diff --git a/DuetPkg/CpuDxe/Ia32/CpuInterrupt.S b/DuetPkg/CpuDxe/Ia32/CpuInterrupt.S index ae44efca78..baf0ba35e6 100644 --- a/DuetPkg/CpuDxe/Ia32/CpuInterrupt.S +++ b/DuetPkg/CpuDxe/Ia32/CpuInterrupt.S @@ -198,13 +198,80 @@ INT19: JmpCommonIdtEntry INTUnknown: - .rept (32 - 20) + # The following segment repeats (32 - 20) times: + # No. 1 pushl $0x0 # push error code place holder on the stack # push xxh # push vector number .byte 0x6a .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number JmpCommonIdtEntry - .endr + # No. 2 + pushl $0x0 # push error code place holder on the stack +# push xxh # push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + JmpCommonIdtEntry + # No. 3 + pushl $0x0 # push error code place holder on the stack +# push xxh # push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + JmpCommonIdtEntry + # No. 4 + pushl $0x0 # push error code place holder on the stack +# push xxh # push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + JmpCommonIdtEntry + # No. 5 + pushl $0x0 # push error code place holder on the stack +# push xxh # push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + JmpCommonIdtEntry + # No. 6 + pushl $0x0 # push error code place holder on the stack +# push xxh # push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + JmpCommonIdtEntry + # No. 7 + pushl $0x0 # push error code place holder on the stack +# push xxh # push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + JmpCommonIdtEntry + # No. 8 + pushl $0x0 # push error code place holder on the stack +# push xxh # push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + JmpCommonIdtEntry + # No. 9 + pushl $0x0 # push error code place holder on the stack +# push xxh # push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + JmpCommonIdtEntry + # No. 10 + pushl $0x0 # push error code place holder on the stack +# push xxh # push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + JmpCommonIdtEntry + # No. 11 + pushl $0x0 # push error code place holder on the stack +# push xxh # push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + JmpCommonIdtEntry + # No. 12 + pushl $0x0 # push error code place holder on the stack +# push xxh # push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + JmpCommonIdtEntry + ASM_GLOBAL ASM_PFX(SystemTimerHandler) ASM_PFX(SystemTimerHandler): @@ -682,13 +749,80 @@ SIMD_EXCEPTION_SEL = .-IDT_BASE .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present .short 0 # offset 31:16 - .rept (32 - 20) + # The following segment repeats (32 - 20) times: + # No. 1 .short 0 # offset 15:0 .short SYS_CODE_SEL # selector 15:0 .byte 0 # 0 for interrupt gate .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present .short 0 # offset 31:16 - .endr + # No. 2 + .short 0 # offset 15:0 + .short SYS_CODE_SEL # selector 15:0 + .byte 0 # 0 for interrupt gate + .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present + .short 0 # offset 31:16 + # No. 3 + .short 0 # offset 15:0 + .short SYS_CODE_SEL # selector 15:0 + .byte 0 # 0 for interrupt gate + .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present + .short 0 # offset 31:16 + # No. 4 + .short 0 # offset 15:0 + .short SYS_CODE_SEL # selector 15:0 + .byte 0 # 0 for interrupt gate + .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present + .short 0 # offset 31:16 + # No. 5 + .short 0 # offset 15:0 + .short SYS_CODE_SEL # selector 15:0 + .byte 0 # 0 for interrupt gate + .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present + .short 0 # offset 31:16 + # No. 6 + .short 0 # offset 15:0 + .short SYS_CODE_SEL # selector 15:0 + .byte 0 # 0 for interrupt gate + .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present + .short 0 # offset 31:16 + # No. 7 + .short 0 # offset 15:0 + .short SYS_CODE_SEL # selector 15:0 + .byte 0 # 0 for interrupt gate + .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present + .short 0 # offset 31:16 + # No. 8 + .short 0 # offset 15:0 + .short SYS_CODE_SEL # selector 15:0 + .byte 0 # 0 for interrupt gate + .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present + .short 0 # offset 31:16 + # No. 9 + .short 0 # offset 15:0 + .short SYS_CODE_SEL # selector 15:0 + .byte 0 # 0 for interrupt gate + .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present + .short 0 # offset 31:16 + # No. 10 + .short 0 # offset 15:0 + .short SYS_CODE_SEL # selector 15:0 + .byte 0 # 0 for interrupt gate + .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present + .short 0 # offset 31:16 + # No. 11 + .short 0 # offset 15:0 + .short SYS_CODE_SEL # selector 15:0 + .byte 0 # 0 for interrupt gate + .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present + .short 0 # offset 31:16 + # No. 12 + .short 0 # offset 15:0 + .short SYS_CODE_SEL # selector 15:0 + .byte 0 # 0 for interrupt gate + .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present + .short 0 # offset 31:16 + # 72 unspecified descriptors .fill 72 * 8, 1, 0 diff --git a/DuetPkg/CpuDxe/X64/CpuInterrupt.S b/DuetPkg/CpuDxe/X64/CpuInterrupt.S index 4fdc3d3e28..61de8e8e19 100755 --- a/DuetPkg/CpuDxe/X64/CpuInterrupt.S +++ b/DuetPkg/CpuDxe/X64/CpuInterrupt.S @@ -203,13 +203,80 @@ INT19: JmpCommonIdtEntry INTUnknown: - .rept (32 - 20) + # The following segment repeats (32 - 20) times: + # No. 1 push $0x0 # push error code place holder on the stack # push xxh # push vector number .byte 0x6a .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number JmpCommonIdtEntry - .endr + # No. 2 + push $0x0 # push error code place holder on the stack +# push xxh # push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + JmpCommonIdtEntry + # No. 3 + push $0x0 # push error code place holder on the stack +# push xxh # push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + JmpCommonIdtEntry + # No. 4 + push $0x0 # push error code place holder on the stack +# push xxh # push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + JmpCommonIdtEntry + # No. 5 + push $0x0 # push error code place holder on the stack +# push xxh # push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + JmpCommonIdtEntry + # No. 6 + push $0x0 # push error code place holder on the stack +# push xxh # push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + JmpCommonIdtEntry + # No. 7 + push $0x0 # push error code place holder on the stack +# push xxh # push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + JmpCommonIdtEntry + # No. 8 + push $0x0 # push error code place holder on the stack +# push xxh # push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + JmpCommonIdtEntry + # No. 9 + push $0x0 # push error code place holder on the stack +# push xxh # push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + JmpCommonIdtEntry + # No. 10 + push $0x0 # push error code place holder on the stack +# push xxh # push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + JmpCommonIdtEntry + # No. 11 + push $0x0 # push error code place holder on the stack +# push xxh # push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + JmpCommonIdtEntry + # No. 12 + push $0x0 # push error code place holder on the stack +# push xxh # push vector number + .byte 0x6a + .byte ( . - INTUnknown - 3 ) / 9 + 20 # vector number + JmpCommonIdtEntry + ASM_GLOBAL ASM_PFX(SystemTimerHandler) ASM_PFX(SystemTimerHandler): @@ -717,13 +784,80 @@ SIMD_EXCEPTION_SEL = .-IDT_BASE .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present .short 0 # offset 31:16 - .rept (32 - 20) + # The following segment repeats (32 - 20) times: + # No. 1 .short 0 # offset 15:0 .short SYS_CODE_SEL # selector 15:0 .byte 0 # 0 for interrupt gate .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present .short 0 # offset 31:16 - .endr + # No. 2 + .short 0 # offset 15:0 + .short SYS_CODE_SEL # selector 15:0 + .byte 0 # 0 for interrupt gate + .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present + .short 0 # offset 31:16 + # No. 3 + .short 0 # offset 15:0 + .short SYS_CODE_SEL # selector 15:0 + .byte 0 # 0 for interrupt gate + .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present + .short 0 # offset 31:16 + # No. 4 + .short 0 # offset 15:0 + .short SYS_CODE_SEL # selector 15:0 + .byte 0 # 0 for interrupt gate + .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present + .short 0 # offset 31:16 + # No. 5 + .short 0 # offset 15:0 + .short SYS_CODE_SEL # selector 15:0 + .byte 0 # 0 for interrupt gate + .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present + .short 0 # offset 31:16 + # No. 6 + .short 0 # offset 15:0 + .short SYS_CODE_SEL # selector 15:0 + .byte 0 # 0 for interrupt gate + .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present + .short 0 # offset 31:16 + # No. 7 + .short 0 # offset 15:0 + .short SYS_CODE_SEL # selector 15:0 + .byte 0 # 0 for interrupt gate + .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present + .short 0 # offset 31:16 + # No. 8 + .short 0 # offset 15:0 + .short SYS_CODE_SEL # selector 15:0 + .byte 0 # 0 for interrupt gate + .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present + .short 0 # offset 31:16 + # No. 9 + .short 0 # offset 15:0 + .short SYS_CODE_SEL # selector 15:0 + .byte 0 # 0 for interrupt gate + .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present + .short 0 # offset 31:16 + # No. 10 + .short 0 # offset 15:0 + .short SYS_CODE_SEL # selector 15:0 + .byte 0 # 0 for interrupt gate + .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present + .short 0 # offset 31:16 + # No. 11 + .short 0 # offset 15:0 + .short SYS_CODE_SEL # selector 15:0 + .byte 0 # 0 for interrupt gate + .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present + .short 0 # offset 31:16 + # No. 12 + .short 0 # offset 15:0 + .short SYS_CODE_SEL # selector 15:0 + .byte 0 # 0 for interrupt gate + .byte 0x0e | 0x80 # (10001110)type = 386 interrupt gate, present + .short 0 # offset 31:16 + # 72 unspecified descriptors .fill 72 * 8, 1, 0