Changeset 55308 in vbox for trunk/src/VBox
- Timestamp:
- Apr 16, 2015 3:01:35 PM (10 years ago)
- Location:
- trunk/src/VBox/Runtime
- Files:
-
- 3 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/Makefile.kmk
r55107 r55308 657 657 common/asm/ASMGetXcr0.asm \ 658 658 common/asm/ASMSetXcr0.asm \ 659 common/asm/ASMXSave.asm \ 660 common/asm/ASMXRstor.asm \ 659 661 common/math/bignum-amd64-x86.asm 660 662 RuntimeR3_SOURCES.amd64 += \ … … 670 672 common/asm/ASMGetXcr0.asm \ 671 673 common/asm/ASMSetXcr0.asm \ 674 common/asm/ASMXSave.asm \ 675 common/asm/ASMXRstor.asm \ 672 676 common/math/bignum-amd64-x86.asm \ 673 677 common/math/RTUInt128MulByU64.asm … … 1700 1704 common/asm/ASMGetXcr0.asm \ 1701 1705 common/asm/ASMSetXcr0.asm \ 1706 common/asm/ASMXSave.asm \ 1707 common/asm/ASMXRstor.asm \ 1702 1708 common/asm/ASMRdMsrEx.asm \ 1703 1709 common/asm/ASMWrMsrEx.asm … … 1712 1718 common/asm/ASMGetXcr0.asm \ 1713 1719 common/asm/ASMSetXcr0.asm \ 1720 common/asm/ASMXSave.asm \ 1721 common/asm/ASMXRstor.asm \ 1714 1722 common/asm/ASMRdMsrEx.asm \ 1715 1723 common/asm/ASMWrMsrEx.asm -
trunk/src/VBox/Runtime/common/asm/ASMGetXcr0.asm
r55107 r55308 28 28 ;* Header Files * 29 29 ;******************************************************************************* 30 %define RT_ASM_WITH_SEH64 30 31 %include "iprt/asmdefs.mac" 31 32 … … 37 38 ; 38 39 BEGINPROC_EXPORTED ASMGetXcr0 40 SEH64_END_PROLOGUE 39 41 xor ecx, ecx ; XCR0 40 42 xgetbv -
trunk/src/VBox/Runtime/common/asm/ASMSetXcr0.asm
r55107 r55308 28 28 ;* Header Files * 29 29 ;******************************************************************************* 30 %define RT_ASM_WITH_SEH64 30 31 %include "iprt/asmdefs.mac" 31 32 … … 38 39 ; 39 40 BEGINPROC_EXPORTED ASMSetXcr0 41 SEH64_END_PROLOGUE 40 42 %ifdef ASM_CALL64_MSC 41 43 mov rdx, rcx -
trunk/src/VBox/Runtime/common/asm/ASMXRstor.asm
r55299 r55308 1 1 ; $Id$ 2 2 ;; @file 3 ; IPRT - ASM SetXcr0().3 ; IPRT - ASMRstor(). 4 4 ; 5 5 … … 28 28 ;* Header Files * 29 29 ;******************************************************************************* 30 %define RT_ASM_WITH_SEH64 30 31 %include "iprt/asmdefs.mac" 31 32 … … 33 34 34 35 ;; 35 ; Sets the content of the Xcr0 CPU register. 36 ; @param uXcr0 The new XCR0 content. 37 ; msc=rcx, gcc=rdi, x86=[esp+4] 36 ; Loads extended CPU state. 37 ; @param pXStateArea Pointer to the XRSTOR state area. 38 ; msc=rcx, gcc=rdi, x86=[esp+4] 39 ; @param fMask The 64-bit state component mask. 40 ; msc=rdx, gcc=rsi, x86=[esp+8] 38 41 ; 39 BEGINPROC_EXPORTED ASMSetXcr0 42 BEGINPROC_EXPORTED ASMRstor 43 SEH64_END_PROLOGUE 40 44 %ifdef ASM_CALL64_MSC 41 mov rdx, r cx45 mov rdx, rdx 42 46 shr rdx, 32 43 mov eax, ecx 47 mov eax, edx 48 xrstor [rcx] 44 49 %elifdef ASM_CALL64_GCC 45 mov rdx, r di50 mov rdx, rsi 46 51 shr rdx, 32 47 mov eax, edi 52 mov eax, esi 53 xrstor [rdi] 48 54 %elifdef RT_ARCH_X86 49 mov eax, [esp + 4] 50 mov edx, [esp + 8] 55 mov ecx, [esp + 4] 56 mov eax, [esp + 8] 57 mov edx, [esp + 12] 58 xrstor [ecx] 51 59 %else 52 60 %error "Undefined arch?" 53 61 %endif 54 xor ecx, ecx55 xsetbv56 62 ret 57 ENDPROC ASM SetXcr063 ENDPROC ASMRstor 58 64 -
trunk/src/VBox/Runtime/common/asm/ASMXSave.asm
r55299 r55308 1 1 ; $Id$ 2 2 ;; @file 3 ; IPRT - ASM SetXcr0().3 ; IPRT - ASMXSave(). 4 4 ; 5 5 … … 28 28 ;* Header Files * 29 29 ;******************************************************************************* 30 %define RT_ASM_WITH_SEH64 30 31 %include "iprt/asmdefs.mac" 31 32 … … 33 34 34 35 ;; 35 ; Sets the content of the Xcr0 CPU register. 36 ; @param uXcr0 The new XCR0 content. 37 ; msc=rcx, gcc=rdi, x86=[esp+4] 36 ; Saves extended CPU state. 37 ; @param pXStateArea Pointer to the XSAVE state area. 38 ; msc=rcx, gcc=rdi, x86=[esp+4] 39 ; @param fComponents The 64-bit state component mask. 40 ; msc=rdx, gcc=rsi, x86=[esp+8] 38 41 ; 39 BEGINPROC_EXPORTED ASMSetXcr0 42 BEGINPROC_EXPORTED ASMXSave 43 SEH64_END_PROLOGUE 40 44 %ifdef ASM_CALL64_MSC 41 mov rdx, r cx45 mov rdx, rdx 42 46 shr rdx, 32 43 mov eax, ecx 47 mov eax, edx 48 xsave [rcx] 44 49 %elifdef ASM_CALL64_GCC 45 mov rdx, r di50 mov rdx, rsi 46 51 shr rdx, 32 47 mov eax, edi 52 mov eax, esi 53 xsave [rdi] 48 54 %elifdef RT_ARCH_X86 49 mov eax, [esp + 4] 50 mov edx, [esp + 8] 55 mov ecx, [esp + 4] 56 mov eax, [esp + 8] 57 mov edx, [esp + 12] 58 xsave [ecx] 51 59 %else 52 60 %error "Undefined arch?" 53 61 %endif 54 xor ecx, ecx55 xsetbv56 62 ret 57 ENDPROC ASM SetXcr063 ENDPROC ASMXSave 58 64
Note:
See TracChangeset
for help on using the changeset viewer.