Changeset 92799 in vbox for trunk/src/VBox
- Timestamp:
- Dec 8, 2021 12:47:27 AM (3 years ago)
- Location:
- trunk/src/VBox/Runtime
- Files:
-
- 81 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/common/asm/ASMAddFlags.asm
r82968 r92799 35 35 ;; 36 36 ; @param rcx/rdi eflags to add 37 BEGINPROC_EXPORTEDASMAddFlags37 RT_BEGINPROC ASMAddFlags 38 38 %if ARCH_BITS == 64 39 39 pushfq -
trunk/src/VBox/Runtime/common/asm/ASMAtomicCmpXchgExU64.asm
r82968 r92799 43 43 ; x86:al 44 44 ; 45 BEGINPROC_EXPORTEDASMAtomicCmpXchgExU6445 RT_BEGINPROC ASMAtomicCmpXchgExU64 46 46 %ifdef RT_ARCH_AMD64 47 47 %ifdef ASM_CALL64_MSC -
trunk/src/VBox/Runtime/common/asm/ASMAtomicCmpXchgU16.asm
r82968 r92799 42 42 ; x86:al 43 43 ; 44 BEGINPROC_EXPORTEDASMAtomicCmpXchgU1644 RT_BEGINPROC ASMAtomicCmpXchgU16 45 45 %ifdef RT_ARCH_AMD64 46 46 %ifdef ASM_CALL64_MSC -
trunk/src/VBox/Runtime/common/asm/ASMAtomicCmpXchgU64.asm
r82968 r92799 42 42 ; x86:al 43 43 ; 44 BEGINPROC_EXPORTEDASMAtomicCmpXchgU6444 RT_BEGINPROC ASMAtomicCmpXchgU64 45 45 %ifdef RT_ARCH_AMD64 46 46 %ifdef ASM_CALL64_MSC -
trunk/src/VBox/Runtime/common/asm/ASMAtomicCmpXchgU8.asm
r82968 r92799 42 42 ; x86:al 43 43 ; 44 BEGINPROC_EXPORTEDASMAtomicCmpXchgU844 RT_BEGINPROC ASMAtomicCmpXchgU8 45 45 %ifdef RT_ARCH_AMD64 46 46 %ifdef ASM_CALL64_MSC -
trunk/src/VBox/Runtime/common/asm/ASMAtomicReadU64.asm
r82968 r92799 40 40 ; 41 41 ; 42 BEGINPROC_EXPORTEDASMAtomicReadU6442 RT_BEGINPROC ASMAtomicReadU64 43 43 %ifdef RT_ARCH_AMD64 44 44 mfence ; ASSUME its present. -
trunk/src/VBox/Runtime/common/asm/ASMAtomicUoAndU32.asm
r82968 r92799 40 40 ; @returns void 41 41 ; 42 BEGINPROC_EXPORTEDASMAtomicUoAndU3242 RT_BEGINPROC ASMAtomicUoAndU32 43 43 %ifdef RT_ARCH_AMD64 44 44 %ifdef ASM_CALL64_MSC -
trunk/src/VBox/Runtime/common/asm/ASMAtomicUoAndU64.asm
r82968 r92799 40 40 ; @returns void 41 41 ; 42 BEGINPROC_EXPORTEDASMAtomicUoAndU6442 RT_BEGINPROC ASMAtomicUoAndU64 43 43 %ifdef RT_ARCH_AMD64 44 44 %ifdef ASM_CALL64_MSC -
trunk/src/VBox/Runtime/common/asm/ASMAtomicUoDecU32.asm
r82968 r92799 39 39 ; @returns the new decremented value. 40 40 ; 41 BEGINPROC_EXPORTEDASMAtomicUoDecU3241 RT_BEGINPROC ASMAtomicUoDecU32 42 42 mov eax, -1 43 43 %ifdef RT_ARCH_AMD64 -
trunk/src/VBox/Runtime/common/asm/ASMAtomicUoIncU32.asm
r82968 r92799 39 39 ; @returns the new incremented value. 40 40 ; 41 BEGINPROC_EXPORTEDASMAtomicUoIncU3241 RT_BEGINPROC ASMAtomicUoIncU32 42 42 mov eax, 1 43 43 %ifdef RT_ARCH_AMD64 -
trunk/src/VBox/Runtime/common/asm/ASMAtomicUoOrU32.asm
r82968 r92799 40 40 ; @returns void 41 41 ; 42 BEGINPROC_EXPORTEDASMAtomicUoOrU3242 RT_BEGINPROC ASMAtomicUoOrU32 43 43 %ifdef RT_ARCH_AMD64 44 44 %ifdef ASM_CALL64_MSC -
trunk/src/VBox/Runtime/common/asm/ASMAtomicUoOrU64.asm
r82968 r92799 40 40 ; @returns void 41 41 ; 42 BEGINPROC_EXPORTEDASMAtomicUoOrU6442 RT_BEGINPROC ASMAtomicUoOrU64 43 43 %ifdef RT_ARCH_AMD64 44 44 %ifdef ASM_CALL64_MSC -
trunk/src/VBox/Runtime/common/asm/ASMAtomicUoReadU64.asm
r82968 r92799 40 40 ; 41 41 ; 42 BEGINPROC_EXPORTEDASMAtomicUoReadU6442 RT_BEGINPROC ASMAtomicUoReadU64 43 43 %ifdef RT_ARCH_AMD64 44 44 %ifdef ASM_CALL64_MSC -
trunk/src/VBox/Runtime/common/asm/ASMAtomicUoXorU32.asm
r87222 r92799 40 40 ; @returns void 41 41 ; 42 BEGINPROC_EXPORTEDASMAtomicUoXorU3242 RT_BEGINPROC ASMAtomicUoXorU32 43 43 %ifdef RT_ARCH_AMD64 44 44 %ifdef ASM_CALL64_MSC -
trunk/src/VBox/Runtime/common/asm/ASMAtomicXchgU16.asm
r82968 r92799 40 40 ; @returns Current (i.e. old) *pu16 value (AX). 41 41 ; 42 BEGINPROC_EXPORTEDASMAtomicXchgU1642 RT_BEGINPROC ASMAtomicXchgU16 43 43 %ifdef RT_ARCH_AMD64 44 44 %ifdef ASM_CALL64_MSC -
trunk/src/VBox/Runtime/common/asm/ASMAtomicXchgU64.asm
r82968 r92799 40 40 ; @returns Current (i.e. old) *pu64 value (x86:eax:edx, 64-bit: rax) 41 41 ; 42 BEGINPROC_EXPORTEDASMAtomicXchgU6442 RT_BEGINPROC ASMAtomicXchgU64 43 43 %ifdef RT_ARCH_AMD64 44 44 %ifdef ASM_CALL64_MSC -
trunk/src/VBox/Runtime/common/asm/ASMBitFirstClear.asm
r82968 r92799 41 41 ; @param msc:edx gcc:rsi cBits The number of bits in the bitmap. Multiple of 32. 42 42 ; 43 BEGINPROC_EXPORTEDASMBitFirstClear43 RT_BEGINPROC ASMBitFirstClear 44 44 ; 45 45 ; if (cBits) -
trunk/src/VBox/Runtime/common/asm/ASMBitFirstSet.asm
r82968 r92799 41 41 ; @param msc:edx gcc:rsi cBits The number of bits in the bitmap. Multiple of 32. 42 42 ; 43 BEGINPROC_EXPORTEDASMBitFirstSet43 RT_BEGINPROC ASMBitFirstSet 44 44 ; 45 45 ; if (cBits) -
trunk/src/VBox/Runtime/common/asm/ASMBitFirstSetU16.asm
r82968 r92799 44 44 ; @cproto DECLASM(unsigned) ASMBitFirstSetU16(uint16_t u16); 45 45 ; 46 BEGINPROC_EXPORTEDASMBitFirstSetU1646 RT_BEGINPROC ASMBitFirstSetU16 47 47 %if ARCH_BITS == 16 48 48 CPU 8086 -
trunk/src/VBox/Runtime/common/asm/ASMBitFirstSetU32.asm
r82968 r92799 44 44 ; @cproto DECLASM(unsigned) ASMBitFirstSetU32(uint32_t u32); 45 45 ; 46 BEGINPROC_EXPORTEDASMBitFirstSetU3246 RT_BEGINPROC ASMBitFirstSetU32 47 47 %if ARCH_BITS == 16 48 48 CPU 8086 -
trunk/src/VBox/Runtime/common/asm/ASMBitFirstSetU64.asm
r82968 r92799 44 44 ; @cproto DECLASM(unsigned) ASMBitFirstSetU64(uint64_t u64); 45 45 ; 46 BEGINPROC_EXPORTEDASMBitFirstSetU6446 RT_BEGINPROC ASMBitFirstSetU64 47 47 %if ARCH_BITS == 16 48 48 CPU 8086 -
trunk/src/VBox/Runtime/common/asm/ASMBitLastSetU16.asm
r82968 r92799 44 44 ; @cproto DECLASM(unsigned) ASMBitLastSetU16(uint32_t u16); 45 45 ; 46 BEGINPROC_EXPORTEDASMBitLastSetU1646 RT_BEGINPROC ASMBitLastSetU16 47 47 %if ARCH_BITS == 16 48 48 CPU 8086 -
trunk/src/VBox/Runtime/common/asm/ASMBitLastSetU32.asm
r82968 r92799 44 44 ; @cproto DECLASM(unsigned) ASMBitLastSetU32(uint32_t u32); 45 45 ; 46 BEGINPROC_EXPORTEDASMBitLastSetU3246 RT_BEGINPROC ASMBitLastSetU32 47 47 %if ARCH_BITS == 16 48 48 CPU 8086 -
trunk/src/VBox/Runtime/common/asm/ASMBitLastSetU64.asm
r82968 r92799 44 44 ; @cproto DECLASM(unsigned) ASMBitLastSetU64(uint64_t u64); 45 45 ; 46 BEGINPROC_EXPORTEDASMBitLastSetU6446 RT_BEGINPROC ASMBitLastSetU64 47 47 %if ARCH_BITS == 16 48 48 CPU 8086 -
trunk/src/VBox/Runtime/common/asm/ASMBitNextClear.asm
r82968 r92799 45 45 ; it started out with the ASMBit* API, so that's why we still have it. 46 46 ; 47 BEGINPROC_EXPORTEDASMBitNextClear47 RT_BEGINPROC ASMBitNextClear 48 48 %if ARCH_BITS == 16 49 49 push bp -
trunk/src/VBox/Runtime/common/asm/ASMBitNextSet.asm
r82968 r92799 45 45 ; it started out with the ASMBit* API, so that's why we still have it. 46 46 ; 47 BEGINPROC_EXPORTEDASMBitNextSet47 RT_BEGINPROC ASMBitNextSet 48 48 %if ARCH_BITS == 16 49 49 push bp -
trunk/src/VBox/Runtime/common/asm/ASMCpuId.asm
r82968 r92799 43 43 ; DECLASM(void) ASMCpuId(uint32_t uOperator, void *pvEAX, void *pvEBX, void *pvECX, void *pvEDX); 44 44 ; 45 BEGINPROC_EXPORTEDASMCpuId45 RT_BEGINPROC ASMCpuId 46 46 push xBP 47 47 mov xBP, xSP -
trunk/src/VBox/Runtime/common/asm/ASMCpuIdExSlow.asm
r82968 r92799 46 46 ; @returns EAX 47 47 ; 48 BEGINPROC_EXPORTEDASMCpuIdExSlow48 RT_BEGINPROC ASMCpuIdExSlow 49 49 push xBP 50 50 mov xBP, xSP -
trunk/src/VBox/Runtime/common/asm/ASMCpuId_Idx_ECX.asm
r82968 r92799 44 44 ; @returns void 45 45 ; 46 BEGINPROC_EXPORTEDASMCpuId_Idx_ECX46 RT_BEGINPROC ASMCpuId_Idx_ECX 47 47 %ifdef RT_ARCH_AMD64 48 48 mov r10, rbx -
trunk/src/VBox/Runtime/common/asm/ASMFxRstor.asm
r82968 r92799 38 38 ; msc=rcx, gcc=rdi, x86=[esp+4] 39 39 ; 40 BEGINPROC_EXPORTEDASMFxRstor40 RT_BEGINPROC ASMFxRstor 41 41 SEH64_END_PROLOGUE 42 42 %ifdef ASM_CALL64_MSC -
trunk/src/VBox/Runtime/common/asm/ASMFxSave.asm
r82968 r92799 38 38 ; msc=rcx, gcc=rdi, x86=[esp+4] 39 39 ; 40 BEGINPROC_EXPORTEDASMFxSave40 RT_BEGINPROC ASMFxSave 41 41 SEH64_END_PROLOGUE 42 42 %ifdef ASM_CALL64_MSC -
trunk/src/VBox/Runtime/common/asm/ASMGetFSBase.asm
r87403 r92799 37 37 ; @returns FS base 38 38 ; 39 BEGINPROC_EXPORTEDASMGetFSBase39 RT_BEGINPROC ASMGetFSBase 40 40 SEH64_END_PROLOGUE 41 41 rdfsbase rax -
trunk/src/VBox/Runtime/common/asm/ASMGetFlags.asm
r82968 r92799 32 32 BEGINCODE 33 33 34 BEGINPROC_EXPORTEDASMGetFlags34 RT_BEGINPROC ASMGetFlags 35 35 %if ARCH_BITS == 32 36 36 pushfd -
trunk/src/VBox/Runtime/common/asm/ASMGetGDTR.asm
r82968 r92799 37 37 ; msc=rcx, gcc=rdi, x86=[esp+4] 38 38 ; 39 BEGINPROC_EXPORTEDASMGetGDTR39 RT_BEGINPROC ASMGetGDTR 40 40 %ifdef ASM_CALL64_MSC 41 41 mov rax, rcx -
trunk/src/VBox/Runtime/common/asm/ASMGetGSBase.asm
r87403 r92799 37 37 ; @returns GS base 38 38 ; 39 BEGINPROC_EXPORTEDASMGetGSBase39 RT_BEGINPROC ASMGetGSBase 40 40 SEH64_END_PROLOGUE 41 41 rdgsbase rax -
trunk/src/VBox/Runtime/common/asm/ASMGetIDTR.asm
r82968 r92799 37 37 ; msc=rcx, gcc=rdi, x86=[esp+4] 38 38 ; 39 BEGINPROC_EXPORTEDASMGetIDTR39 RT_BEGINPROC ASMGetIDTR 40 40 %ifdef ASM_CALL64_MSC 41 41 mov rax, rcx -
trunk/src/VBox/Runtime/common/asm/ASMGetIdtrLimit.asm
r82968 r92799 37 37 ; @returns IDTR.LIMIT in ax 38 38 ; 39 BEGINPROC_EXPORTEDASMGetIdtrLimit39 RT_BEGINPROC ASMGetIdtrLimit 40 40 sub xSP, 18h 41 41 SEH64_ALLOCATE_STACK 18h -
trunk/src/VBox/Runtime/common/asm/ASMGetLDTR.asm
r82968 r92799 36 36 ; @returns LDTR. 37 37 ; 38 BEGINPROC_EXPORTEDASMGetLDTR38 RT_BEGINPROC ASMGetLDTR 39 39 sldt ax 40 40 movzx eax, ax -
trunk/src/VBox/Runtime/common/asm/ASMGetSegAttr.asm
r82968 r92799 41 41 ; have bits 0:7 as 0 (on both Intel & AMD). 42 42 ; 43 BEGINPROC_EXPORTEDASMGetSegAttr43 RT_BEGINPROC ASMGetSegAttr 44 44 %ifdef ASM_CALL64_MSC 45 45 and ecx, 0ffffh -
trunk/src/VBox/Runtime/common/asm/ASMGetTR.asm
r82968 r92799 36 36 ; @returns TR. 37 37 ; 38 BEGINPROC_EXPORTEDASMGetTR38 RT_BEGINPROC ASMGetTR 39 39 str ax 40 40 movzx eax, ax -
trunk/src/VBox/Runtime/common/asm/ASMGetXcr0.asm
r82968 r92799 37 37 ; @returns XCR0 value in rax (amd64) / edx:eax (x86). 38 38 ; 39 BEGINPROC_EXPORTEDASMGetXcr039 RT_BEGINPROC ASMGetXcr0 40 40 SEH64_END_PROLOGUE 41 41 xor ecx, ecx ; XCR0 -
trunk/src/VBox/Runtime/common/asm/ASMMemFirstMismatchingU8.asm
r82968 r92799 39 39 ; We repeat the prolog and join the generic function. 40 40 ; 41 BEGINPROC_EXPORTEDASMMemFirstNonZero41 RT_BEGINPROC ASMMemFirstNonZero 42 42 ; 43 43 ; Prologue. … … 105 105 ; @cproto DECLINLINE(void *) ASMMemFirstMismatchingU8(void const *pv, size_t cb, uint8_t u8) 106 106 ; 107 BEGINPROC_EXPORTEDASMMemFirstMismatchingU8107 RT_BEGINPROC ASMMemFirstMismatchingU8 108 108 ; 109 109 ; Prologue. -
trunk/src/VBox/Runtime/common/asm/ASMMultU32ByU32DivByU32.asm
r82968 r92799 39 39 ; @cproto DECLASM(uint32_t) ASMMultU32ByU32DivByU32(uint32_t u32A, uint32_t u32B, uint32_t u32C); 40 40 ; 41 BEGINPROC_EXPORTEDASMMultU32ByU32DivByU3241 RT_BEGINPROC ASMMultU32ByU32DivByU32 42 42 %ifdef RT_ARCH_AMD64 43 43 %ifdef ASM_CALL64_MSC -
trunk/src/VBox/Runtime/common/asm/ASMMultU64ByU32DivByU32.asm
r89149 r92799 39 39 ; @cproto DECLASM(uint64_t) ASMMultU64ByU32DivByU32(uint64_t u64A, uint32_t u32B, uint32_t u32C); 40 40 ; 41 BEGINPROC_EXPORTEDASMMultU64ByU32DivByU3241 RT_BEGINPROC ASMMultU64ByU32DivByU32 42 42 %if ARCH_BITS == 64 43 43 -
trunk/src/VBox/Runtime/common/asm/ASMNopPause.asm
r82968 r92799 35 35 ; The PAUSE variant of NOP for helping hyperthreaded CPUs detecting spin locks. 36 36 ; 37 BEGINPROC_EXPORTEDASMNopPause37 RT_BEGINPROC ASMNopPause 38 38 pause 39 39 ret -
trunk/src/VBox/Runtime/common/asm/ASMRdMsrEx.asm
r92576 r92799 39 39 ; @returns MSR value in rax on amd64 and edx:eax on x86. 40 40 ; 41 BEGINPROC_EXPORTEDASMRdMsrEx41 RT_BEGINPROC ASMRdMsrEx 42 42 %ifdef ASM_CALL64_MSC 43 43 proc_frame ASMRdMsrEx_DupWarningHack -
trunk/src/VBox/Runtime/common/asm/ASMSerializeInstruction-cpuid.asm
r82968 r92799 35 35 36 36 ;; 37 ; Executes a ser alizing instruction.37 ; Executes a serializing instruction. 38 38 ; 39 39 ; The CPUID instruction isn't fast or slow, but it always triggers a VM EXIT in 40 40 ; a virtualized environment, which is prohibitively expensive. 41 41 ; 42 BEGINPROC_EXPORTEDASMSerializeInstructionCpuId42 RT_BEGINPROC ASMSerializeInstructionCpuId 43 43 push xBX 44 44 xor eax, eax … … 46 46 pop xBX 47 47 ret 48 ENDPROC 48 ENDPROC ASMSerializeInstructionCpuId 49 49 -
trunk/src/VBox/Runtime/common/asm/ASMSerializeInstruction-iret.asm
r82968 r92799 35 35 36 36 ;; 37 ; Executes a ser alizing instruction.37 ; Executes a serializing instruction. 38 38 ; 39 39 ; The IRET instruction is rather expensive, but unlike the CPUID instruction it 40 40 ; will not result in a VM EXIT when running in a virtual machine. 41 41 ; 42 BEGINPROC_EXPORTEDASMSerializeInstructionIRet42 RT_BEGINPROC ASMSerializeInstructionIRet 43 43 pop xAX 44 44 %ifdef RT_ARCH_AMD64 -
trunk/src/VBox/Runtime/common/asm/ASMSerializeInstruction-rdtscp.asm
r82968 r92799 35 35 36 36 ;; 37 ; Executes a ser alizing instruction.37 ; Executes a serializing instruction. 38 38 ; 39 39 ; The RDTSCP instruction is fast, though it may trigger a VM EXIT if the VMM 40 40 ; is intercepting TSC reads for some timing reason or in general. 41 41 ; 42 BEGINPROC_EXPORTEDASMSerializeInstructionRdTscp42 RT_BEGINPROC ASMSerializeInstructionRdTscp 43 43 rdtscp 44 44 ret 45 ENDPROC 45 ENDPROC ASMSerializeInstructionRdTscp 46 46 -
trunk/src/VBox/Runtime/common/asm/ASMSetFSBase.asm
r87403 r92799 37 37 ; @param uNewBase msc:rcx gcc:rdi New FS base value. 38 38 ; 39 BEGINPROC_EXPORTEDASMSetFSBase39 RT_BEGINPROC ASMSetFSBase 40 40 SEH64_END_PROLOGUE 41 41 %ifdef ASM_CALL64_MSC -
trunk/src/VBox/Runtime/common/asm/ASMSetFlags.asm
r82968 r92799 35 35 ;; 36 36 ; @param rcx eflags 37 BEGINPROC_EXPORTEDASMSetFlags37 RT_BEGINPROC ASMSetFlags 38 38 %if ARCH_BITS == 64 39 39 %ifdef ASM_CALL64_GCC -
trunk/src/VBox/Runtime/common/asm/ASMSetGDTR.asm
r82968 r92799 37 37 ; msc=rcx, gcc=rdi, x86=[esp+4] 38 38 ; 39 BEGINPROC_EXPORTEDASMSetGDTR39 RT_BEGINPROC ASMSetGDTR 40 40 %ifdef ASM_CALL64_MSC 41 41 mov rax, rcx -
trunk/src/VBox/Runtime/common/asm/ASMSetGSBase.asm
r87403 r92799 37 37 ; @param uNewBase msc:rcx gcc:rdi New GS base value. 38 38 ; 39 BEGINPROC_EXPORTEDASMSetGSBase39 RT_BEGINPROC ASMSetGSBase 40 40 SEH64_END_PROLOGUE 41 41 %ifdef ASM_CALL64_MSC -
trunk/src/VBox/Runtime/common/asm/ASMSetIDTR.asm
r82968 r92799 37 37 ; msc=rcx, gcc=rdi, x86=[esp+4] 38 38 ; 39 BEGINPROC_EXPORTEDASMSetIDTR39 RT_BEGINPROC ASMSetIDTR 40 40 %ifdef ASM_CALL64_MSC 41 41 mov rax, rcx -
trunk/src/VBox/Runtime/common/asm/ASMSetXcr0.asm
r82968 r92799 38 38 ; msc=rcx, gcc=rdi, x86=[esp+4] 39 39 ; 40 BEGINPROC_EXPORTEDASMSetXcr040 RT_BEGINPROC ASMSetXcr0 41 41 SEH64_END_PROLOGUE 42 42 %ifdef ASM_CALL64_MSC -
trunk/src/VBox/Runtime/common/asm/ASMWrMsr.asm
r92577 r92799 38 38 ; @param uValue msc=rdx, gcc=rsi, x86=[ebp+12] The 64-bit value to write. 39 39 ; 40 BEGINPROC_EXPORTEDASMWrMsr40 RT_BEGINPROC ASMWrMsr 41 41 %ifdef ASM_CALL64_MSC 42 42 mov rdi, rdx -
trunk/src/VBox/Runtime/common/asm/ASMWrMsrEx.asm
r92576 r92799 39 39 ; @param uValue msc=r8, gcc=rdx, x86=[ebp+16] The 64-bit value to write. 40 40 ; 41 BEGINPROC_EXPORTEDASMWrMsrEx41 RT_BEGINPROC ASMWrMsrEx 42 42 %ifdef ASM_CALL64_MSC 43 43 proc_frame ASMWrMsrEx_DupWarningHack -
trunk/src/VBox/Runtime/common/asm/ASMXRstor.asm
r82968 r92799 40 40 ; msc=rdx, gcc=rsi, x86=[esp+8] 41 41 ; 42 BEGINPROC_EXPORTEDASMXRstor42 RT_BEGINPROC ASMXRstor 43 43 SEH64_END_PROLOGUE 44 44 %ifdef ASM_CALL64_MSC -
trunk/src/VBox/Runtime/common/asm/ASMXSave.asm
r82968 r92799 40 40 ; msc=rdx, gcc=rsi, x86=[esp+8] 41 41 ; 42 BEGINPROC_EXPORTEDASMXSave42 RT_BEGINPROC ASMXSave 43 43 SEH64_END_PROLOGUE 44 44 %ifdef ASM_CALL64_MSC -
trunk/src/VBox/Runtime/common/dbg/dbgstackdumpself-amd64-x86.asm
r82968 r92799 44 44 ; Collects register state and calls C worker. 45 45 ; 46 BEGINPROC_EXPORTEDRTDbgStackDumpSelf46 RT_BEGINPROC RTDbgStackDumpSelf 47 47 push xBP 48 48 SEH64_PUSH_xBP -
trunk/src/VBox/Runtime/common/math/RTUInt128MulByU64.asm
r82968 r92799 41 41 ; @param uValue2 x86:[ebp + 16] gcc:rdx msc:r8 42 42 ; 43 BEGINPROC_EXPORTEDRTUInt128MulByU6443 RT_BEGINPROC RTUInt128MulByU64 44 44 ; SEH64_SET_FRAME_xSP 0 45 45 SEH64_END_PROLOGUE -
trunk/src/VBox/Runtime/common/string/RTStrEnd.asm
r83886 r92799 33 33 ; @param cchMax gcc: rsi msc: rdx x86:[esp+8] wcall: edx 34 34 ; 35 BEGINPROC_EXPORTEDRTStrEnd35 RT_BEGINPROC RTStrEnd 36 36 cld 37 37 %ifdef RT_ARCH_AMD64 -
trunk/src/VBox/Runtime/common/string/RTStrMemFind32.asm
r82968 r92799 36 36 ; @param uNeedle gcc: esi msc: edx x86:[esp+8] wcall: edx 37 37 ; @param cbHaystack gcc: rdx msc: r8 x86:[esp+0ch] wcall: ebx 38 BEGINPROC_EXPORTEDRTStrMemFind3238 RT_BEGINPROC RTStrMemFind32 39 39 cld 40 40 %ifdef RT_ARCH_AMD64 -
trunk/src/VBox/Runtime/win/amd64/ASMAtomicBitClear.asm
r82968 r92799 38 38 ; @remark No memory barrier, take care on smp. 39 39 ; 40 BEGINPROC_EXPORTEDASMAtomicBitClear40 RT_BEGINPROC ASMAtomicBitClear 41 41 lock btr [rcx], edx 42 42 ret -
trunk/src/VBox/Runtime/win/amd64/ASMAtomicBitTestAndToggle.asm
r82968 r92799 39 39 ; @param rcx pvBitmap Pointer to the bitmap. 40 40 ; @param edx iBit The bit to test and toggle. 41 BEGINPROC_EXPORTEDASMAtomicBitTestAndToggle41 RT_BEGINPROC ASMAtomicBitTestAndToggle 42 42 lock btc [rcx], edx 43 43 sbb eax, eax -
trunk/src/VBox/Runtime/win/amd64/ASMAtomicBitToggle.asm
r82968 r92799 37 37 ; @param rcx pvBitmap Pointer to the bitmap. 38 38 ; @param edx iBit The bit to test and set. 39 BEGINPROC_EXPORTEDASMAtomicBitToggle39 RT_BEGINPROC ASMAtomicBitToggle 40 40 lock btc [rcx], edx 41 41 ret -
trunk/src/VBox/Runtime/win/amd64/ASMAtomicReadU64.asm
r82968 r92799 39 39 ; The memory pointed to must be writable. 40 40 ; 41 BEGINPROC_EXPORTEDASMAtomicReadU6441 RT_BEGINPROC ASMAtomicReadU64 42 42 mov rax, [rcx] 43 43 ret -
trunk/src/VBox/Runtime/win/amd64/ASMAtomicXchgU8.asm
r82968 r92799 35 35 ; @param rcx pu8 Pointer to the 8-bit variable to update. 36 36 ; @param dl u8 The 8-bit value to assign to *pu8. 37 BEGINPROC_EXPORTEDASMAtomicXchgU837 RT_BEGINPROC ASMAtomicXchgU8 38 38 xchg [rcx], dl 39 39 movzx eax, dl -
trunk/src/VBox/Runtime/win/amd64/ASMGetCS.asm
r82968 r92799 36 36 ; @returns cs. 37 37 ; 38 BEGINPROC_EXPORTEDASMGetCS38 RT_BEGINPROC ASMGetCS 39 39 mov eax, cs 40 40 ret -
trunk/src/VBox/Runtime/win/amd64/ASMGetDR0.asm
r82968 r92799 36 36 ; @returns dr0. 37 37 ; 38 BEGINPROC_EXPORTEDASMGetDR038 RT_BEGINPROC ASMGetDR0 39 39 mov rax, dr0 40 40 ret … … 42 42 43 43 44 BEGINPROC_EXPORTEDASMSetDR044 RT_BEGINPROC ASMSetDR0 45 45 mov dr0, rcx 46 46 ret -
trunk/src/VBox/Runtime/win/amd64/ASMGetDR1.asm
r82968 r92799 35 35 ; @returns dr1. 36 36 ; 37 BEGINPROC_EXPORTEDASMGetDR137 RT_BEGINPROC ASMGetDR1 38 38 mov rax, dr1 39 39 ret … … 41 41 42 42 43 BEGINPROC_EXPORTEDASMSetDR143 RT_BEGINPROC ASMSetDR1 44 44 mov dr1, rcx 45 45 ret -
trunk/src/VBox/Runtime/win/amd64/ASMGetDR2.asm
r82968 r92799 36 36 ; @returns dr2. 37 37 ; 38 BEGINPROC_EXPORTEDASMGetDR238 RT_BEGINPROC ASMGetDR2 39 39 mov rax, dr2 40 40 ret … … 42 42 43 43 44 BEGINPROC_EXPORTEDASMSetDR244 RT_BEGINPROC ASMSetDR2 45 45 mov dr2, rcx 46 46 ret -
trunk/src/VBox/Runtime/win/amd64/ASMGetDR3.asm
r82968 r92799 36 36 ; @returns dr3. 37 37 ; 38 BEGINPROC_EXPORTEDASMGetDR338 RT_BEGINPROC ASMGetDR3 39 39 mov rax, dr3 40 40 ret … … 42 42 43 43 44 BEGINPROC_EXPORTEDASMSetDR344 RT_BEGINPROC ASMSetDR3 45 45 mov dr3, rcx 46 46 ret -
trunk/src/VBox/Runtime/win/amd64/ASMGetDR6.asm
r82968 r92799 35 35 ; @returns dr6. 36 36 ; 37 BEGINPROC_EXPORTEDASMGetDR637 RT_BEGINPROC ASMGetDR6 38 38 mov rax, dr6 39 39 ret … … 41 41 42 42 43 BEGINPROC_EXPORTEDASMSetDR643 RT_BEGINPROC ASMSetDR6 44 44 mov dr6, rcx 45 45 ret -
trunk/src/VBox/Runtime/win/amd64/ASMGetDR7.asm
r82968 r92799 35 35 ; @returns dr7. 36 36 ; 37 BEGINPROC_EXPORTEDASMGetDR737 RT_BEGINPROC ASMGetDR7 38 38 mov rax, dr7 39 39 ret 40 40 ENDPROC ASMGetDR7 41 41 42 BEGINPROC_EXPORTEDASMSetDR742 RT_BEGINPROC ASMSetDR7 43 43 mov dr7, rcx 44 44 ret -
trunk/src/VBox/Runtime/win/amd64/ASMGetDS.asm
r82968 r92799 35 35 ; @returns ds. 36 36 ; 37 BEGINPROC_EXPORTEDASMGetDS37 RT_BEGINPROC ASMGetDS 38 38 mov eax, DS 39 39 ret -
trunk/src/VBox/Runtime/win/amd64/ASMGetES.asm
r82968 r92799 35 35 ; @returns es. 36 36 ; 37 BEGINPROC_EXPORTEDASMGetES37 RT_BEGINPROC ASMGetES 38 38 mov eax, es 39 39 ret -
trunk/src/VBox/Runtime/win/amd64/ASMGetFS.asm
r82968 r92799 35 35 ; @returns fs. 36 36 ; 37 BEGINPROC_EXPORTEDASMGetFS37 RT_BEGINPROC ASMGetFS 38 38 mov eax, fs 39 39 ret -
trunk/src/VBox/Runtime/win/amd64/ASMGetGS.asm
r82968 r92799 35 35 ; @returns gs. 36 36 ; 37 BEGINPROC_EXPORTEDASMGetGS37 RT_BEGINPROC ASMGetGS 38 38 mov eax, gs 39 39 ret -
trunk/src/VBox/Runtime/win/amd64/ASMGetSS.asm
r82968 r92799 35 35 ; @returns ss. 36 36 ; 37 BEGINPROC_EXPORTEDASMGetSS37 RT_BEGINPROC ASMGetSS 38 38 mov eax, ss 39 39 ret -
trunk/src/VBox/Runtime/win/amd64/ASMProbeReadByte.asm
r82968 r92799 42 42 ; 43 43 ; @param rcx pvByte Pointer to the byte. 44 BEGINPROC_EXPORTEDASMProbeReadByte44 RT_BEGINPROC ASMProbeReadByte 45 45 mov al, [rcx] 46 46 ret
Note:
See TracChangeset
for help on using the changeset viewer.