diff options
Diffstat (limited to 'arch/i386/kernel/entry.S')
-rw-r--r-- | arch/i386/kernel/entry.S | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/i386/kernel/entry.S b/arch/i386/kernel/entry.S index 284f2e908ad0..5a63d6fdb70e 100644 --- a/arch/i386/kernel/entry.S +++ b/arch/i386/kernel/entry.S | |||
@@ -183,18 +183,21 @@ VM_MASK = 0x00020000 | |||
183 | 183 | ||
184 | #define RING0_INT_FRAME \ | 184 | #define RING0_INT_FRAME \ |
185 | CFI_STARTPROC simple;\ | 185 | CFI_STARTPROC simple;\ |
186 | CFI_SIGNAL_FRAME;\ | ||
186 | CFI_DEF_CFA esp, 3*4;\ | 187 | CFI_DEF_CFA esp, 3*4;\ |
187 | /*CFI_OFFSET cs, -2*4;*/\ | 188 | /*CFI_OFFSET cs, -2*4;*/\ |
188 | CFI_OFFSET eip, -3*4 | 189 | CFI_OFFSET eip, -3*4 |
189 | 190 | ||
190 | #define RING0_EC_FRAME \ | 191 | #define RING0_EC_FRAME \ |
191 | CFI_STARTPROC simple;\ | 192 | CFI_STARTPROC simple;\ |
193 | CFI_SIGNAL_FRAME;\ | ||
192 | CFI_DEF_CFA esp, 4*4;\ | 194 | CFI_DEF_CFA esp, 4*4;\ |
193 | /*CFI_OFFSET cs, -2*4;*/\ | 195 | /*CFI_OFFSET cs, -2*4;*/\ |
194 | CFI_OFFSET eip, -3*4 | 196 | CFI_OFFSET eip, -3*4 |
195 | 197 | ||
196 | #define RING0_PTREGS_FRAME \ | 198 | #define RING0_PTREGS_FRAME \ |
197 | CFI_STARTPROC simple;\ | 199 | CFI_STARTPROC simple;\ |
200 | CFI_SIGNAL_FRAME;\ | ||
198 | CFI_DEF_CFA esp, OLDESP-EBX;\ | 201 | CFI_DEF_CFA esp, OLDESP-EBX;\ |
199 | /*CFI_OFFSET cs, CS-OLDESP;*/\ | 202 | /*CFI_OFFSET cs, CS-OLDESP;*/\ |
200 | CFI_OFFSET eip, EIP-OLDESP;\ | 203 | CFI_OFFSET eip, EIP-OLDESP;\ |
@@ -275,6 +278,7 @@ need_resched: | |||
275 | # sysenter call handler stub | 278 | # sysenter call handler stub |
276 | ENTRY(sysenter_entry) | 279 | ENTRY(sysenter_entry) |
277 | CFI_STARTPROC simple | 280 | CFI_STARTPROC simple |
281 | CFI_SIGNAL_FRAME | ||
278 | CFI_DEF_CFA esp, 0 | 282 | CFI_DEF_CFA esp, 0 |
279 | CFI_REGISTER esp, ebp | 283 | CFI_REGISTER esp, ebp |
280 | movl TSS_sysenter_esp0(%esp),%esp | 284 | movl TSS_sysenter_esp0(%esp),%esp |