X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=UefiCpuPkg%2FCpuDxe%2FIa32%2FIvtAsm.S;h=b513a100791aa952b8b16c677ca57b933f2cccc3;hp=a2862fb800f6089963de7eb6985ec9ff1c1b3224;hb=c2fd60f0716a5bd6171329c493daa8df47e99acc;hpb=7cd1603d21fb0df4b6d9d45448d20c08587894b6 diff --git a/UefiCpuPkg/CpuDxe/Ia32/IvtAsm.S b/UefiCpuPkg/CpuDxe/Ia32/IvtAsm.S index a2862fb800..b513a10079 100755 --- a/UefiCpuPkg/CpuDxe/Ia32/IvtAsm.S +++ b/UefiCpuPkg/CpuDxe/Ia32/IvtAsm.S @@ -1,65 +1,65 @@ -#------------------------------------------------------------------------------ -# -# Copyright (c) 2006 - 2009, Intel Corporation -# All rights reserved. This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -# Module Name: -# -# IvtAsm.S -# -# Abstract: -# -# Interrupt Vector Table -# -#------------------------------------------------------------------------------ - -# -# Interrupt Vector Table -# - -.macro SingleIdtVectorMacro vectorNum - call ASM_PFX(CommonInterruptEntry) - .short \vectorNum - nop -.endm - -.macro EightIdtVectors firstVectorNum - SingleIdtVectorMacro \firstVectorNum - SingleIdtVectorMacro "(\firstVectorNum+1)" - SingleIdtVectorMacro "(\firstVectorNum+2)" - SingleIdtVectorMacro "(\firstVectorNum+3)" - SingleIdtVectorMacro "(\firstVectorNum+4)" - SingleIdtVectorMacro "(\firstVectorNum+5)" - SingleIdtVectorMacro "(\firstVectorNum+6)" - SingleIdtVectorMacro "(\firstVectorNum+7)" -.endm - -.macro SixtyFourIdtVectors firstVectorNum - EightIdtVectors \firstVectorNum - EightIdtVectors "(\firstVectorNum+0x08)" - EightIdtVectors "(\firstVectorNum+0x10)" - EightIdtVectors "(\firstVectorNum+0x18)" - EightIdtVectors "(\firstVectorNum+0x20)" - EightIdtVectors "(\firstVectorNum+0x28)" - EightIdtVectors "(\firstVectorNum+0x30)" - EightIdtVectors "(\firstVectorNum+0x38)" -.endm - -ASM_GLOBAL ASM_PFX(AsmIdtVector00) -.align 8 -ASM_PFX(AsmIdtVector00): - SixtyFourIdtVectors 0x00 - SixtyFourIdtVectors 0x40 - SixtyFourIdtVectors 0x80 - SixtyFourIdtVectors 0xC0 -ASM_GLOBAL ASM_PFX(AsmCommonIdtEnd) -ASM_PFX(AsmCommonIdtEnd): - .byte 0 - - +#------------------------------------------------------------------------------ +# +# Copyright (c) 2006 - 2009, Intel Corporation +# All rights reserved. This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +# Module Name: +# +# IvtAsm.S +# +# Abstract: +# +# Interrupt Vector Table +# +#------------------------------------------------------------------------------ + +# +# Interrupt Vector Table +# + +.macro SingleIdtVectorMacro vectorNum + call ASM_PFX(CommonInterruptEntry) + .short \vectorNum + nop +.endm + +.macro EightIdtVectors firstVectorNum + SingleIdtVectorMacro \firstVectorNum + SingleIdtVectorMacro "(\firstVectorNum+1)" + SingleIdtVectorMacro "(\firstVectorNum+2)" + SingleIdtVectorMacro "(\firstVectorNum+3)" + SingleIdtVectorMacro "(\firstVectorNum+4)" + SingleIdtVectorMacro "(\firstVectorNum+5)" + SingleIdtVectorMacro "(\firstVectorNum+6)" + SingleIdtVectorMacro "(\firstVectorNum+7)" +.endm + +.macro SixtyFourIdtVectors firstVectorNum + EightIdtVectors \firstVectorNum + EightIdtVectors "(\firstVectorNum+0x08)" + EightIdtVectors "(\firstVectorNum+0x10)" + EightIdtVectors "(\firstVectorNum+0x18)" + EightIdtVectors "(\firstVectorNum+0x20)" + EightIdtVectors "(\firstVectorNum+0x28)" + EightIdtVectors "(\firstVectorNum+0x30)" + EightIdtVectors "(\firstVectorNum+0x38)" +.endm + +ASM_GLOBAL ASM_PFX(AsmIdtVector00) +.align 8 +ASM_PFX(AsmIdtVector00): + SixtyFourIdtVectors 0x00 + SixtyFourIdtVectors 0x40 + SixtyFourIdtVectors 0x80 + SixtyFourIdtVectors 0xC0 +ASM_GLOBAL ASM_PFX(AsmCommonIdtEnd) +ASM_PFX(AsmCommonIdtEnd): + .byte 0 + +