- Timestamp:
- Feb 15, 2024 3:14:37 AM (8 months ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 1 added
- 3 edited
-
Makefile.kmk (modified) (1 diff)
-
VMMAll/IEMAllN8veHlpA-arm64.S (added)
-
VMMAll/IEMAllN8veRecompiler.cpp (modified) (2 diffs)
-
include/IEMInternal.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/Makefile.kmk
r103181 r103377 267 267 VBoxVMM_SOURCES.amd64 += \ 268 268 VMMAll/IEMAllN8veHlpA.asm 269 VBoxVMM_SOURCES.arm64 += \ 270 VMMAll/IEMAllN8veHlpA-arm64.S 269 271 if "$(KBUILD_TARGET_ARCH)" == "arm64" && defined(VBOX_WITH_IEM_USING_CAPSTONE_DISASSEMBLER) # temp hack 270 272 VBoxVMM_DEFS += VBOX_WITH_IEM_USING_CAPSTONE_DISASSEMBLER -
trunk/src/VBox/VMM/VMMAll/IEMAllN8veRecompiler.cpp
r103376 r103377 5968 5968 * return address our selves here. We save all non-volatile registers. 5969 5969 */ 5970 uint32_t * const pu32CodeBuf = iemNativeInstrBufEnsure(pReNative, off, 1 0);5970 uint32_t * const pu32CodeBuf = iemNativeInstrBufEnsure(pReNative, off, 16); 5971 5971 5972 5972 # ifdef RT_OS_DARWIN /** @todo This seems to be requirement by libunwind for JIT FDEs. Investigate further as been unable … … 6004 6004 6005 6005 /* mov r28, r0 */ 6006 off = iemNativeEmitLoadGprFromGpr (pReNative, off, IEMNATIVE_REG_FIXED_PVMCPU, IEMNATIVE_CALL_ARG0_GREG);6006 off = iemNativeEmitLoadGprFromGprEx(pu32CodeBuf, off, IEMNATIVE_REG_FIXED_PVMCPU, IEMNATIVE_CALL_ARG0_GREG); 6007 6007 /* mov r27, r1 */ 6008 off = iemNativeEmitLoadGprFromGpr (pReNative, off, IEMNATIVE_REG_FIXED_PCPUMCTX, IEMNATIVE_CALL_ARG1_GREG);6008 off = iemNativeEmitLoadGprFromGprEx(pu32CodeBuf, off, IEMNATIVE_REG_FIXED_PCPUMCTX, IEMNATIVE_CALL_ARG1_GREG); 6009 6009 6010 6010 # ifdef VBOX_WITH_IEM_NATIVE_RECOMPILER_LONGJMP 6011 6011 /* Save the frame pointer. */ 6012 off = iemNativeEmitStoreGprToVCpuU64Ex(p bCodeBuf, off, ARMV8_A64_REG_BP, RT_UOFFSETOF(VMCPUCC, iem.s.pvTbFramePointerR3),6012 off = iemNativeEmitStoreGprToVCpuU64Ex(pu32CodeBuf, off, ARMV8_A64_REG_BP, RT_UOFFSETOF(VMCPUCC, iem.s.pvTbFramePointerR3), 6013 6013 ARMV8_A64_REG_X2); 6014 6014 # endif -
trunk/src/VBox/VMM/include/IEMInternal.h
r103376 r103377 95 95 * non-volatile (and does something even more crazy for ARM), this probably 96 96 * won't work reliably on Windows. */ 97 #if defined(DOXYGEN_RUNNING) /*|| defined(RT_ARCH_AMD64)*/97 #if defined(DOXYGEN_RUNNING) || (!defined(RT_OS_WINDOWS) && (defined(RT_ARCH_ARM64) /*|| defined(_RT_ARCH_AMD64)*/)) 98 98 # define VBOX_WITH_IEM_NATIVE_RECOMPILER_LONGJMP 99 99 #endif 100 100 #ifdef VBOX_WITH_IEM_NATIVE_RECOMPILER_LONGJMP 101 101 # if !defined(IN_RING3) \ 102 || !defined(RT_ARCH_AMD64) \103 102 || !defined(VBOX_WITH_IEM_RECOMPILER) \ 104 103 || !defined(VBOX_WITH_IEM_NATIVE_RECOMPILER)
Note:
See TracChangeset
for help on using the changeset viewer.

