VirtualBox

Ignore:
Timestamp:
Jan 19, 2024 11:11:30 PM (13 months ago)
Author:
vboxsync
Message:

VMM/IEM: Implemented generic fallback for misaligned x86 locking that is not compatible with the host. Using the existing split-lock solution with VINF_EM_EMULATE_SPLIT_LOCK from bugref:10052. We keep ignoring the 'lock' prefix in the recompiler for single CPU VMs (now also on amd64 hosts). bugref:10547

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllAImpl-arm64.S

    r102549 r102977  
    3838        ret
    3939
     40/* Some sketches.
     41
     42// IEM_DECL_IMPL_DEF(void, iemAImpl_xchg_u8_locked, (uint8_t  *pu8Mem,  uint8_t  *pu8Reg));
     43        .p2align        2
     44        .private_extern NAME(iemAImpl_xchg_u8_locked)
     45        .globl          NAME(iemAImpl_xchg_u8_locked)
     46NAME(iemAImpl_xchg_u8_locked):
     47        ldrb    w2, [x1]
     48        swpalb  w2, w2, [x0]
     49        strb    w2, [x1]
     50        ret
     51
     52// IEM_DECL_IMPL_DEF(void, iemAImpl_xchg_u16_locked,(uint16_t *pu16Mem, uint16_t *pu16Reg));
     53        .p2align        2
     54        .private_extern NAME(iemAImpl_xchg_u16_locked)
     55        .globl          NAME(iemAImpl_xchg_u16_locked)
     56NAME(iemAImpl_xchg_u16_locked):
     57        ldrh    w2, [x1]
     58        swpalh  w2, w2, [x0]
     59        strh    w2, [x1]
     60        ret
     61
     62// IEM_DECL_IMPL_DEF(void, iemAImpl_xchg_u32_locked,(uint32_t *pu32Mem, uint32_t *pu32Reg));
     63// IEM_DECL_IMPL_DEF(void, iemAImpl_xchg_u64_locked,(uint64_t *pu64Mem, uint64_t *pu64Reg));
     64
     65*/
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette