2 # Low leve IA32 specific debug support functions.
4 # Copyright (c) 2006, Intel Corporation
5 # All rights reserved. This program and the accompanying materials
6 # are licensed and made available under the terms and conditions of the BSD License
7 # which accompanies this distribution. The full text of the license may be found at
8 # http://opensource.org/licenses/bsd-license.php
10 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 .globl ASM_PFX(OrigVector)
16 .globl ASM_PFX(InterruptEntryStub)
17 .globl ASM_PFX(StubSize)
18 .globl ASM_PFX(CommonIdtEntry)
19 .globl ASM_PFX(FxStorSupport)
21 ASM_PFX(AppEsp): .long 0x11111111 # ?
22 ASM_PFX(DebugEsp): .long 0x22222222 # ?
23 ASM_PFX(ExtraPush): .long 0x33333333 # ?
24 ASM_PFX(ExceptData): .long 0x44444444 # ?
25 ASM_PFX(Eflags): .long 0x55555555 # ?
26 ASM_PFX(OrigVector): .long 0x66666666 # ?
27 ASM_PFX(StubSize): .long ASM_PFX(InterruptEntryStubEnd) - ASM_PFX(InterruptEntryStub)
29 .globl ASM_PFX(FxStorSupport)
30 ASM_PFX(FxStorSupport):
40 .globl ASM_PFX(GetIdtr)
45 sidtl 0xfffffffa(%ebp)
46 mov 0xfffffffc(%ebp),%eax
50 .globl ASM_PFX(WriteInterruptFlag)
51 ASM_PFX(WriteInterruptFlag):
60 jne ASM_PFX(WriteInterruptFlag+0x17)
62 jmp ASM_PFX(WriteInterruptFlag+0x18)
67 .globl ASM_PFX(Vect2Desc)
75 movw $0x8e00,0x4(%ecx)
81 .globl ASM_PFX(InterruptEntryStub)
82 ASM_PFX(InterruptEntryStub):
86 jmp ASM_PFX(CommonIdtEntry)
87 .globl ASM_PFX(InterruptEntryStubEnd)
88 ASM_PFX(InterruptEntryStubEnd):
90 .globl ASM_PFX(CommonIdtEntry)
91 ASM_PFX(CommonIdtEntry):
97 jne ASM_PFX(CommonIdtEntry+0x20)
99 jmp ASM_PFX(CommonIdtEntry+0xa8)
101 jne ASM_PFX(CommonIdtEntry+0x35)
103 jmp ASM_PFX(CommonIdtEntry+0xa8)
105 jne ASM_PFX(CommonIdtEntry+0x4a)
107 jmp ASM_PFX(CommonIdtEntry+0xa8)
109 jne ASM_PFX(CommonIdtEntry+0x5f)
111 jmp ASM_PFX(CommonIdtEntry+0xa8)
113 jne ASM_PFX(CommonIdtEntry+0x74)
115 jmp ASM_PFX(CommonIdtEntry+0xa8)
117 jne ASM_PFX(CommonIdtEntry+0x89)
119 jmp ASM_PFX(CommonIdtEntry+0xa8)
121 jne ASM_PFX(CommonIdtEntry+0x9e)
123 jmp ASM_PFX(CommonIdtEntry+0xa8)
126 jne ASM_PFX(CommonIdtEntry+0xc8)
132 jmp ASM_PFX(CommonIdtEntry+0xd2)
142 movzwl 0x4(%eax),%eax
203 call ASM_PFX(CommonIdtEntry+0x184)
243 je ASM_PFX(CommonIdtEntry+0x202)