Changeset 4477 in vbox for trunk/src/VBox
- Timestamp:
- Sep 1, 2007 7:53:46 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/VMMR0A.asm
r4071 r4477 6 6 ; 7 7 ; Copyright (C) 2006-2007 innotek GmbH 8 ; 8 ; 9 9 ; This file is part of VirtualBox Open Source Edition (OSE), as 10 10 ; available from http://www.virtualbox.org. This file is free software; … … 127 127 ; Save the registers. 128 128 ; 129 %ifdef ASM_CALL64_MSC 129 push rbp 130 mov rbp, rsp 131 %ifdef ASM_CALL64_MSC 132 sub rsp, 30h 130 133 mov r11, rdx ; pfn 131 134 mov rdx, rcx ; pJmpBuf; 132 135 %else 136 sub rsp, 10h 133 137 mov r8, rdx ; pVM (save it like MSC) 134 138 mov r11, rsi ; pfn … … 140 144 mov [rdx + VMMR0JMPBUF.rdi], rdi 141 145 %endif 142 mov [rdx + VMMR0JMPBUF.rbp], rbp 146 mov r10, [rbp] 147 mov [rdx + VMMR0JMPBUF.rbp], r10 143 148 mov [rdx + VMMR0JMPBUF.r12], r12 144 149 mov [rdx + VMMR0JMPBUF.r13], r13 145 150 mov [rdx + VMMR0JMPBUF.r14], r14 146 151 mov [rdx + VMMR0JMPBUF.r15], r15 147 mov rax, [r sp]152 mov rax, [rbp + 8] 148 153 mov [rdx + VMMR0JMPBUF.rip], rax 149 lea r10, [r sp + 8]; (used in resume)154 lea r10, [rbp + 10h] ; (used in resume) 150 155 mov [rdx + VMMR0JMPBUF.rsp], r10 151 156 … … 156 161 jnz .resume 157 162 158 push rdx; Save it and fix stack alignment (16).163 mov [rbp - 8], rdx ; Save it and fix stack alignment (16). 159 164 %ifdef ASM_CALL64_MSC 160 165 mov rcx, r8 ; pVM -> arg0 … … 163 168 %endif 164 169 call r11 165 pop rdx; pJmpBuf170 mov rdx, [rbp - 8] ; pJmpBuf 166 171 and qword [rdx + VMMR0JMPBUF.rip], byte 0 ; used for valid check. 172 leave 167 173 ret 168 174 … … 186 192 mov r15, [rdx + VMMR0JMPBUF.r15] 187 193 mov eax, VERR_INTERNAL_ERROR ; todo better return code! 194 leave 188 195 ret 189 196
Note:
See TracChangeset
for help on using the changeset viewer.