Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 121008
b: refs/heads/master
c: e8a0e27
h: refs/heads/master
v: v3
  • Loading branch information
Ingo Molnar committed Nov 21, 2008
1 parent 8a11858 commit 7a0a915
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 28 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: dcd072e26055de600cecdc3f7a1e083ecd55c2e4
refs/heads/master: e8a0e27662186f8856a0a6242e7a8386c9a64a53
54 changes: 27 additions & 27 deletions trunk/arch/x86/kernel/entry_64.S
Original file line number Diff line number Diff line change
Expand Up @@ -247,44 +247,44 @@ ENTRY(native_usergs_sysret64)
* initial frame state for interrupts (and exceptions without error code)
*/
.macro INTR_FRAME start=1 offset=0
EMPTY_FRAME \start, (SS+8-RIP)+\offset
/*CFI_REL_OFFSET ss, SS-RIP+\offset*/
CFI_REL_OFFSET rsp, RSP-RIP+\offset
/*CFI_REL_OFFSET rflags, EFLAGS-RIP+\offset*/
/*CFI_REL_OFFSET cs, CS-RIP+\offset*/
CFI_REL_OFFSET rip, RIP-RIP+\offset
EMPTY_FRAME \start, SS+8+\offset-RIP
/*CFI_REL_OFFSET ss, SS+\offset-RIP*/
CFI_REL_OFFSET rsp, RSP+\offset-RIP
/*CFI_REL_OFFSET rflags, EFLAGS+\offset-RIP*/
/*CFI_REL_OFFSET cs, CS+\offset-RIP*/
CFI_REL_OFFSET rip, RIP+\offset-RIP
.endm

/*
* initial frame state for exceptions with error code (and interrupts
* with vector already pushed)
*/
.macro XCPT_FRAME start=1 offset=0
INTR_FRAME \start, (RIP-ORIG_RAX)+\offset
INTR_FRAME \start, RIP+\offset-ORIG_RAX
/*CFI_REL_OFFSET orig_rax, ORIG_RAX-ORIG_RAX*/
.endm

/*
* frame that enables calling into C.
*/
.macro PARTIAL_FRAME start=1 offset=0
XCPT_FRAME \start, (ORIG_RAX-ARGOFFSET)+\offset
CFI_REL_OFFSET rdi, (RDI-ARGOFFSET)+\offset
CFI_REL_OFFSET rsi, (RSI-ARGOFFSET)+\offset
CFI_REL_OFFSET rdx, (RDX-ARGOFFSET)+\offset
CFI_REL_OFFSET rcx, (RCX-ARGOFFSET)+\offset
CFI_REL_OFFSET rax, (RAX-ARGOFFSET)+\offset
CFI_REL_OFFSET r8, (R8-ARGOFFSET)+\offset
CFI_REL_OFFSET r9, (R9-ARGOFFSET)+\offset
CFI_REL_OFFSET r10, (R10-ARGOFFSET)+\offset
CFI_REL_OFFSET r11, (R11-ARGOFFSET)+\offset
XCPT_FRAME \start, ORIG_RAX+\offset-ARGOFFSET
CFI_REL_OFFSET rdi, RDI+\offset-ARGOFFSET
CFI_REL_OFFSET rsi, RSI+\offset-ARGOFFSET
CFI_REL_OFFSET rdx, RDX+\offset-ARGOFFSET
CFI_REL_OFFSET rcx, RCX+\offset-ARGOFFSET
CFI_REL_OFFSET rax, RAX+\offset-ARGOFFSET
CFI_REL_OFFSET r8, R8+\offset-ARGOFFSET
CFI_REL_OFFSET r9, R9+\offset-ARGOFFSET
CFI_REL_OFFSET r10, R10+\offset-ARGOFFSET
CFI_REL_OFFSET r11, R11+\offset-ARGOFFSET
.endm

/*
* frame that enables passing a complete pt_regs to a C function.
*/
.macro DEFAULT_FRAME start=1 offset=0
PARTIAL_FRAME \start, (R11-R15)+\offset
PARTIAL_FRAME \start, R11+\offset-R15
CFI_REL_OFFSET rbx, RBX+\offset
CFI_REL_OFFSET rbp, RBP+\offset
CFI_REL_OFFSET r12, R12+\offset
Expand All @@ -297,15 +297,15 @@ ENTRY(native_usergs_sysret64)
ENTRY(save_args)
XCPT_FRAME
cld
CFI_MOVQ rdi, (RDI-ARGOFFSET)+16
CFI_MOVQ rsi, (RSI-ARGOFFSET)+16
CFI_MOVQ rdx, (RDX-ARGOFFSET)+16
CFI_MOVQ rcx, (RCX-ARGOFFSET)+16
CFI_MOVQ rax, (RAX-ARGOFFSET)+16
CFI_MOVQ r8, (R8-ARGOFFSET)+16
CFI_MOVQ r9, (R9-ARGOFFSET)+16
CFI_MOVQ r10, (R10-ARGOFFSET)+16
CFI_MOVQ r11, (R11-ARGOFFSET)+16
CFI_MOVQ rdi, RDI+16-ARGOFFSET
CFI_MOVQ rsi, RSI+16-ARGOFFSET
CFI_MOVQ rdx, RDX+16-ARGOFFSET
CFI_MOVQ rcx, RCX+16-ARGOFFSET
CFI_MOVQ rax, RAX+16-ARGOFFSET
CFI_MOVQ r8, R8+16-ARGOFFSET
CFI_MOVQ r9, R9+16-ARGOFFSET
CFI_MOVQ r10, R10+16-ARGOFFSET
CFI_MOVQ r11, R11+16-ARGOFFSET
leaq -ARGOFFSET+16(%rsp),%rdi /* arg1 for handler */
CFI_MOVQ rbp, 8 /* push %rbp */
leaq 8(%rsp), %rbp /* mov %rsp, %ebp */
Expand Down

0 comments on commit 7a0a915

Please sign in to comment.