VirtualBox

Changeset 103350 in vbox


Ignore:
Timestamp:
Feb 14, 2024 12:03:31 PM (10 months ago)
Author:
vboxsync
Message:

VMM/IEM: Added some explicit/insane casting to shut up parfait. bugref:3409

Location:
trunk/src/VBox/VMM/VMMAll
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllInstOneByte.cpp.h

    r103235 r103350  
    46814681                IEM_MC_BEGIN(3, 0, 0, 0); \
    46824682                IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \
    4683                 IEM_MC_ARG(uint16_t *,      pu16Dst,                    0); \
    4684                 IEM_MC_ARG_CONST(uint16_t,  u16Src, /*=*/ (int8_t)u8Imm,1); \
    4685                 IEM_MC_ARG(uint32_t *,      pEFlags,                    2); \
     4683                IEM_MC_ARG(uint16_t *,      pu16Dst,                                        0); \
     4684                IEM_MC_ARG_CONST(uint16_t,  u16Src, /*=*/ (uint16_t)(int16_t)(int8_t)u8Imm, 1); \
     4685                IEM_MC_ARG(uint32_t *,      pEFlags,                                        2); \
    46864686                \
    46874687                IEM_MC_REF_GREG_U16(pu16Dst, IEM_GET_MODRM_RM(pVCpu, bRm)); \
     
    46964696                IEM_MC_BEGIN(3, 0, IEM_MC_F_MIN_386, 0); \
    46974697                IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \
    4698                 IEM_MC_ARG(uint32_t *,      pu32Dst,                    0); \
    4699                 IEM_MC_ARG_CONST(uint32_t,  u32Src, /*=*/ (int8_t)u8Imm,1); \
    4700                 IEM_MC_ARG(uint32_t *,      pEFlags,                    2); \
     4698                IEM_MC_ARG(uint32_t *,      pu32Dst,                                        0); \
     4699                IEM_MC_ARG_CONST(uint32_t,  u32Src, /*=*/ (uint32_t)(int32_t)(int8_t)u8Imm, 1); \
     4700                IEM_MC_ARG(uint32_t *,      pEFlags,                                        2); \
    47014701                \
    47024702                IEM_MC_REF_GREG_U32(pu32Dst, IEM_GET_MODRM_RM(pVCpu, bRm)); \
     
    47124712                IEM_MC_BEGIN(3, 0, IEM_MC_F_64BIT, 0); \
    47134713                IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \
    4714                 IEM_MC_ARG(uint64_t *,      pu64Dst,                    0); \
    4715                 IEM_MC_ARG_CONST(uint64_t,  u64Src, /*=*/ (int8_t)u8Imm,1); \
    4716                 IEM_MC_ARG(uint32_t *,      pEFlags,                    2); \
     4714                IEM_MC_ARG(uint64_t *,      pu64Dst,                                        0); \
     4715                IEM_MC_ARG_CONST(uint64_t,  u64Src, /*=*/ (uint64_t)(int64_t)(int8_t)u8Imm, 1); \
     4716                IEM_MC_ARG(uint32_t *,      pEFlags,                                        2); \
    47174717                \
    47184718                IEM_MC_REF_GREG_U64(pu64Dst, IEM_GET_MODRM_RM(pVCpu, bRm)); \
     
    47454745                    \
    47464746                    IEM_MC_LOCAL(uint8_t,       bUnmapInfo); \
    4747                     IEM_MC_ARG(uint16_t *,      pu16Dst,                            0); \
     4747                    IEM_MC_ARG(uint16_t *,      pu16Dst,                                    0); \
    47484748                    IEM_MC_MEM_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
    47494749                    \
    4750                     IEM_MC_ARG_CONST(uint16_t,  u16Src,  (int16_t)(int8_t)u8Imm,    1); \
    4751                     IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,                    2); \
     4750                    IEM_MC_ARG_CONST(uint16_t,  u16Src,  (uint16_t)(int16_t)(int8_t)u8Imm,  1); \
     4751                    IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,                            2); \
    47524752                    IEM_MC_FETCH_EFLAGS(EFlags); \
    47534753                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU16, pu16Dst, u16Src, pEFlags); \
     
    47684768                    \
    47694769                    IEM_MC_LOCAL(uint8_t,       bUnmapInfo); \
    4770                     IEM_MC_ARG(uint32_t *,      pu32Dst,                            0); \
     4770                    IEM_MC_ARG(uint32_t *,      pu32Dst,                                    0); \
    47714771                    IEM_MC_MEM_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
    47724772                    \
    4773                     IEM_MC_ARG_CONST(uint32_t,  u32Src,  (int32_t)(int8_t)u8Imm,    1); \
    4774                     IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,                    2); \
     4773                    IEM_MC_ARG_CONST(uint32_t,  u32Src,  (uint32_t)(int32_t)(int8_t)u8Imm,  1); \
     4774                    IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,                            2); \
    47754775                    IEM_MC_FETCH_EFLAGS(EFlags); \
    47764776                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU32, pu32Dst, u32Src, pEFlags); \
     
    47914791                    \
    47924792                    IEM_MC_LOCAL(uint8_t,       bUnmapInfo); \
    4793                     IEM_MC_ARG(uint64_t *,      pu64Dst,                            0); \
     4793                    IEM_MC_ARG(uint64_t *,      pu64Dst,                                    0); \
    47944794                    IEM_MC_MEM_MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
    47954795                    \
    4796                     IEM_MC_ARG_CONST(uint64_t,  u64Src,  (int64_t)(int8_t)u8Imm,    1); \
    4797                     IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,                    2); \
     4796                    IEM_MC_ARG_CONST(uint64_t,  u64Src,  (uint64_t)(int64_t)(int8_t)u8Imm,  1); \
     4797                    IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,                            2); \
    47984798                    IEM_MC_FETCH_EFLAGS(EFlags); \
    47994799                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU64, pu64Dst, u64Src, pEFlags); \
     
    48244824                    \
    48254825                    IEM_MC_LOCAL(uint8_t,       bUnmapInfo); \
    4826                     IEM_MC_ARG(uint16_t *,      pu16Dst,                            0); \
     4826                    IEM_MC_ARG(uint16_t *,      pu16Dst,                                    0); \
    48274827                    IEM_MC_MEM_MAP_U16_ATOMIC(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
    48284828                    \
    4829                     IEM_MC_ARG_CONST(uint16_t,  u16Src,  (int16_t)(int8_t)u8Imm,    1); \
    4830                     IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,                    2); \
     4829                    IEM_MC_ARG_CONST(uint16_t,  u16Src,  (uint16_t)(int16_t)(int8_t)u8Imm,  1); \
     4830                    IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,                            2); \
    48314831                    IEM_MC_FETCH_EFLAGS(EFlags); \
    48324832                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU16, pu16Dst, u16Src, pEFlags); \
     
    48474847                    \
    48484848                    IEM_MC_LOCAL(uint8_t,       bUnmapInfo); \
    4849                     IEM_MC_ARG(uint32_t *,      pu32Dst,                    0); \
     4849                    IEM_MC_ARG(uint32_t *,      pu32Dst,                                    0); \
    48504850                    IEM_MC_MEM_MAP_U32_ATOMIC(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
    48514851                    \
    4852                     IEM_MC_ARG_CONST(uint32_t,  u32Src,  (int32_t)(int8_t)u8Imm,    1); \
    4853                     IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,                    2); \
     4852                    IEM_MC_ARG_CONST(uint32_t,  u32Src,  (uint32_t)(int32_t)(int8_t)u8Imm,  1); \
     4853                    IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,                            2); \
    48544854                    IEM_MC_FETCH_EFLAGS(EFlags); \
    48554855                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU32, pu32Dst, u32Src, pEFlags); \
     
    48704870                    \
    48714871                    IEM_MC_LOCAL(uint8_t,       bUnmapInfo); \
    4872                     IEM_MC_ARG(uint64_t *,      pu64Dst,                            0); \
     4872                    IEM_MC_ARG(uint64_t *,      pu64Dst,                                    0); \
    48734873                    IEM_MC_MEM_MAP_U64_ATOMIC(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
    48744874                    \
    4875                     IEM_MC_ARG_CONST(uint64_t,  u64Src, (int64_t)(int8_t)u8Imm,     1); \
    4876                     IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,                    2); \
     4875                    IEM_MC_ARG_CONST(uint64_t,  u64Src, (uint64_t)(int64_t)(int8_t)u8Imm,   1); \
     4876                    IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,                            2); \
    48774877                    IEM_MC_FETCH_EFLAGS(EFlags); \
    48784878                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU64, pu64Dst, u64Src, pEFlags); \
     
    49034903                IEM_MC_BEGIN(3, 0, 0, 0); \
    49044904                IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \
    4905                 IEM_MC_ARG(uint16_t *,      pu16Dst,                    0); \
    4906                 IEM_MC_ARG_CONST(uint16_t,  u16Src, /*=*/ (int8_t)u8Imm,1); \
    4907                 IEM_MC_ARG(uint32_t *,      pEFlags,                    2); \
     4905                IEM_MC_ARG(uint16_t *,      pu16Dst,                                        0); \
     4906                IEM_MC_ARG_CONST(uint16_t,  u16Src, /*=*/ (uint16_t)(int16_t)(int8_t)u8Imm, 1); \
     4907                IEM_MC_ARG(uint32_t *,      pEFlags,                                        2); \
    49084908                \
    49094909                IEM_MC_REF_GREG_U16(pu16Dst, IEM_GET_MODRM_RM(pVCpu, bRm)); \
     
    49184918                IEM_MC_BEGIN(3, 0, IEM_MC_F_MIN_386, 0); \
    49194919                IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \
    4920                 IEM_MC_ARG(uint32_t *,      pu32Dst,                    0); \
    4921                 IEM_MC_ARG_CONST(uint32_t,  u32Src, /*=*/ (int8_t)u8Imm,1); \
    4922                 IEM_MC_ARG(uint32_t *,      pEFlags,                    2); \
     4920                IEM_MC_ARG(uint32_t *,      pu32Dst,                                        0); \
     4921                IEM_MC_ARG_CONST(uint32_t,  u32Src, /*=*/ (uint32_t)(int32_t)(int8_t)u8Imm, 1); \
     4922                IEM_MC_ARG(uint32_t *,      pEFlags,                                        2); \
    49234923                \
    49244924                IEM_MC_REF_GREG_U32(pu32Dst, IEM_GET_MODRM_RM(pVCpu, bRm)); \
     
    49334933                IEM_MC_BEGIN(3, 0, IEM_MC_F_64BIT, 0); \
    49344934                IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \
    4935                 IEM_MC_ARG(uint64_t *,      pu64Dst,                    0); \
    4936                 IEM_MC_ARG_CONST(uint64_t,  u64Src, /*=*/ (int8_t)u8Imm,1); \
    4937                 IEM_MC_ARG(uint32_t *,      pEFlags,                    2); \
     4935                IEM_MC_ARG(uint64_t *,      pu64Dst,                                        0); \
     4936                IEM_MC_ARG_CONST(uint64_t,  u64Src, /*=*/ (uint64_t)(int64_t)(int8_t)u8Imm, 1); \
     4937                IEM_MC_ARG(uint32_t *,      pEFlags,                                        2); \
    49384938                \
    49394939                IEM_MC_REF_GREG_U64(pu64Dst, IEM_GET_MODRM_RM(pVCpu, bRm)); \
     
    49664966                    \
    49674967                    IEM_MC_LOCAL(uint8_t,        bUnmapInfo); \
    4968                     IEM_MC_ARG(uint16_t const *, pu16Dst,                           0); \
     4968                    IEM_MC_ARG(uint16_t const *, pu16Dst,                                   0); \
    49694969                    IEM_MC_MEM_MAP_U16_RO(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
    49704970                    \
    4971                     IEM_MC_ARG_CONST(uint16_t,   u16Src, (int16_t)(int8_t)u8Imm,    1); \
    4972                     IEM_MC_ARG_LOCAL_EFLAGS(     pEFlags, EFlags,                   2); \
     4971                    IEM_MC_ARG_CONST(uint16_t,   u16Src, (uint16_t)(int16_t)(int8_t)u8Imm,  1); \
     4972                    IEM_MC_ARG_LOCAL_EFLAGS(     pEFlags, EFlags,                           2); \
    49734973                    IEM_MC_FETCH_EFLAGS(EFlags); \
    49744974                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU16, pu16Dst, u16Src, pEFlags); \
     
    49894989                    \
    49904990                    IEM_MC_LOCAL(uint8_t,        bUnmapInfo); \
    4991                     IEM_MC_ARG(uint32_t const *, pu32Dst,                           0); \
     4991                    IEM_MC_ARG(uint32_t const *, pu32Dst,                                   0); \
    49924992                    IEM_MC_MEM_MAP_U32_RO(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
    49934993                    \
    4994                     IEM_MC_ARG_CONST(uint32_t,   u32Src, (int32_t)(int8_t)u8Imm,    1); \
    4995                     IEM_MC_ARG_LOCAL_EFLAGS(     pEFlags, EFlags,                   2); \
     4994                    IEM_MC_ARG_CONST(uint32_t,   u32Src, (uint32_t)(int32_t)(int8_t)u8Imm,  1); \
     4995                    IEM_MC_ARG_LOCAL_EFLAGS(     pEFlags, EFlags,                           2); \
    49964996                    IEM_MC_FETCH_EFLAGS(EFlags); \
    49974997                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU32, pu32Dst, u32Src, pEFlags); \
     
    50125012                    \
    50135013                    IEM_MC_LOCAL(uint8_t,        bUnmapInfo); \
    5014                     IEM_MC_ARG(uint64_t const *, pu64Dst,                       0); \
     5014                    IEM_MC_ARG(uint64_t const *, pu64Dst,                                   0); \
    50155015                    IEM_MC_MEM_MAP_U64_RO(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
    50165016                    \
    5017                     IEM_MC_ARG_CONST(uint64_t,  u64Src, (int64_t)(int8_t)u8Imm, 1); \
    5018                     IEM_MC_ARG_LOCAL_EFLAGS(     pEFlags, EFlags,               2); \
     5017                    IEM_MC_ARG_CONST(uint64_t,  u64Src, (uint64_t)(int64_t)(int8_t)u8Imm,  1); \
     5018                    IEM_MC_ARG_LOCAL_EFLAGS(     pEFlags, EFlags,                           2); \
    50195019                    IEM_MC_FETCH_EFLAGS(EFlags); \
    50205020                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU64, pu64Dst, u64Src, pEFlags); \
  • trunk/src/VBox/VMM/VMMAll/IEMAllThrdPython.py

    r103258 r103350  
    13691369                                  or sRef in ( 'int8_t',    'int16_t',    'int32_t',    'int64_t',
    13701370                                               'INT8_C',    'INT16_C',    'INT32_C',    'INT64_C',
     1371                                               'uint8_t',   'uint16_t',   'uint32_t',   'uint64_t',
    13711372                                               'UINT8_C',   'UINT16_C',   'UINT32_C',   'UINT64_C',
    13721373                                               'UINT8_MAX', 'UINT16_MAX', 'UINT32_MAX', 'UINT64_MAX',
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