Changeset 104212 in vbox
- Timestamp:
- Apr 7, 2024 4:27:42 PM (8 months ago)
- Location:
- trunk
- Files:
-
- 1 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/.scm-settings
r103790 r104212 112 112 /iprt/sanitized/*: --guard-relative-to-dir iprt --guard-prefix IPRT_INCLUDED_ --treat-as h 113 113 114 # /iprt/asmdefs-arm.mac needs to be treated as an C/C++ header file 115 /iprt/asmdefs-arm.mac: --guard-relative-to-dir iprt --guard-prefix IPRT_INCLUDED_ --treat-as h -
trunk/src/VBox/VMM/VMMAll/IEMAllN8veHlpA-arm64.S
r103636 r104212 30 30 * Header Files * 31 31 *********************************************************************************************************************************/ 32 #include <iprt/asmdefs-arm.h> 33 #include <iprt/x86.h> 32 #include <iprt/asmdefs-arm.mac> 34 33 35 34 … … 54 53 * it ourselves, I think. 55 54 */ 56 .p2align 2 57 .private_extern NAME(iemNativeTbLongJmp) 58 .globl NAME(iemNativeTbLongJmp) 59 NAME(iemNativeTbLongJmp): 60 61 ; 62 ; This must exactly match what iemNativeEmitEpilog does. 63 ; 55 BEGINPROC_HIDDEN iemNativeTbLongJmp 56 /* 57 * This must exactly match what iemNativeEmitEpilog does. 58 */ 64 59 sub sp, x0, #0x50 65 60 ldp x19, x20, [sp, #0x00] … … 82 77 #define IEMNATIVE_HLP_FRAME_SIZE (11 * 16) 83 78 84 ;; 85 ; This is wrapper function that saves and restores all volatile registers 86 ; so the impact of inserting LogCpuState is minimal to the other TB code. 87 ; 88 .p2align 2 89 .private_extern NAME(iemNativeHlpAsmSafeWrapLogCpuState) 90 .globl NAME(iemNativeHlpAsmSafeWrapLogCpuState) 91 NAME(iemNativeHlpAsmSafeWrapLogCpuState): 79 /** 80 * This is wrapper function that saves and restores all volatile registers 81 * so the impact of inserting LogCpuState is minimal to the other TB code. 82 */ 83 BEGINPROC_HIDDEN iemNativeHlpAsmSafeWrapLogCpuState 92 84 #ifdef RT_OS_DARWIN 93 85 pacibsp 94 86 #endif 95 87 96 ;97 ;Save all volatile registers.98 ;88 /* 89 * Save all volatile registers. 90 */ 99 91 stp x29, x30, [sp, #-IEMNATIVE_HLP_FRAME_SIZE]! 100 92 stp x0, x1, [sp, #( 1 * 16)] … … 109 101 stp x17, x18, [sp, #(10 * 16)] 110 102 111 ;112 ;Move the pVCpu pointer from the fixed register to the first argument.113 ;@todo This needs syncing with what we use in IEMN8veRecompiler.h114 ;but we can't include that header right now, would need some #ifndef IN_ASM_CODE...115 ;in the header or splitting up the header into a asm safe one and a one included from C/C++.116 ;103 /* 104 * Move the pVCpu pointer from the fixed register to the first argument. 105 * @todo This needs syncing with what we use in IEMN8veRecompiler.h 106 * but we can't include that header right now, would need some #ifndef IN_ASM_CODE... 107 * in the header or splitting up the header into a asm safe one and a one included from C/C++. 108 */ 117 109 mov x0, x28 118 110 119 ;120 ;Call C function to do the actual work.121 ;111 /* 112 * Call C function to do the actual work. 113 */ 122 114 bl NAME(iemThreadedFunc_BltIn_LogCpuStateWorker) 123 115 124 ;125 ;Restore volatile registers and return to the TB code.126 ;116 /* 117 * Restore volatile registers and return to the TB code. 118 */ 127 119 ldp x29, x30, [sp, #( 0 * 16)] 128 120 ldp x0, x1, [sp, #( 1 * 16)]
Note:
See TracChangeset
for help on using the changeset viewer.