VirtualBox

Changeset 53797 in vbox


Ignore:
Timestamp:
Jan 14, 2015 11:35:59 AM (10 years ago)
Author:
vboxsync
Message:

Finally added PDMDevHlpGetCurrentCpuId.

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/pdmdev.h

    r52670 r53797  
    35193519
    35203520    /**
     3521     * The the VM CPU ID of the current thread (restricted API).
     3522     *
     3523     * @returns The VMCPUID of the calling thread, NIL_CPUID if not EMT.
     3524     * @param   pDevIns             The device instance.
     3525     */
     3526    DECLR3CALLBACKMEMBER(VMCPUID, pfnGetCurrentCpuId,(PPDMDEVINS pDevIns));
     3527
     3528    /**
    35213529     * Registers the VMM device heap
    35223530     *
     
    36573665
    36583666/** Current PDMDEVHLPR3 version number. */
    3659 #define PDM_DEVHLPR3_VERSION                    PDM_VERSION_MAKE(0xffe7, 12, 1)
     3667#define PDM_DEVHLPR3_VERSION                    PDM_VERSION_MAKE(0xffe7, 14, 1)
    36603668
    36613669
     
    38283836     */
    38293837    DECLRCCALLBACKMEMBER(PVMCPU, pfnGetVMCPU,(PPDMDEVINS pDevIns));
     3838
     3839    /**
     3840     * The the VM CPU ID of the current thread (restricted API).
     3841     *
     3842     * @returns The VMCPUID of the calling thread, NIL_CPUID if not EMT.
     3843     * @param   pDevIns             The device instance.
     3844     */
     3845    DECLRCCALLBACKMEMBER(VMCPUID, pfnGetCurrentCpuId,(PPDMDEVINS pDevIns));
    38303846
    38313847    /**
     
    38743890
    38753891/** Current PDMDEVHLP version number. */
    3876 #define PDM_DEVHLPRC_VERSION                    PDM_VERSION_MAKE(0xffe6, 3, 1)
     3892#define PDM_DEVHLPRC_VERSION                    PDM_VERSION_MAKE(0xffe6, 4, 1)
    38773893
    38783894
     
    40534069     */
    40544070    DECLR0CALLBACKMEMBER(PVMCPU, pfnGetVMCPU,(PPDMDEVINS pDevIns));
     4071
     4072    /**
     4073     * The the VM CPU ID of the current thread (restricted API).
     4074     *
     4075     * @returns The VMCPUID of the calling thread, NIL_CPUID if not EMT.
     4076     * @param   pDevIns             The device instance.
     4077     */
     4078    DECLR0CALLBACKMEMBER(VMCPUID, pfnGetCurrentCpuId,(PPDMDEVINS pDevIns));
    40554079
    40564080    /**
     
    40994123
    41004124/** Current PDMDEVHLP version number. */
    4101 #define PDM_DEVHLPR0_VERSION                    PDM_VERSION_MAKE(0xffe5, 3, 1)
     4125#define PDM_DEVHLPR0_VERSION                    PDM_VERSION_MAKE(0xffe5, 4, 1)
    41024126
    41034127
     
    51565180
    51575181/**
     5182 * @copydoc PDMDEVHLPR3::pfnGetCurrentCpuId
     5183 */
     5184DECLINLINE(VMCPUID) PDMDevHlpGetCurrentCpuId(PPDMDEVINS pDevIns)
     5185{
     5186    return pDevIns->CTX_SUFF(pHlp)->pfnGetCurrentCpuId(pDevIns);
     5187}
     5188
     5189/**
    51585190 * @copydoc PDMDEVHLPR3::pfnTMTimeVirtGet
    51595191 */
  • trunk/src/VBox/VMM/VMMR0/PDMR0Device.cpp

    r49548 r53797  
    324324    LogFlow(("pdmR0DevHlp_GetVMCPU: caller='%p'/%d\n", pDevIns, pDevIns->iInstance));
    325325    return VMMGetCpu(pDevIns->Internal.s.pVMR0);
     326}
     327
     328
     329/** @interface_method_impl{PDMDEVHLPRC,pfnGetCurrentCpuId} */
     330static DECLCALLBACK(VMCPUID) pdmR0DevHlp_GetCurrentCpuId(PPDMDEVINS pDevIns)
     331{
     332    PDMDEV_ASSERT_DEVINS(pDevIns);
     333    VMCPUID idCpu = VMMGetCpuId(pDevIns->Internal.s.pVMR0);
     334    LogFlow(("pdmR0DevHlp_GetCurrentCpuId: caller='%p'/%d for CPU %u\n", pDevIns, pDevIns->iInstance, idCpu));
     335    return idCpu;
    326336}
    327337
     
    395405    pdmR0DevHlp_CanEmulateIoBlock,
    396406    pdmR0DevHlp_GetVMCPU,
     407    pdmR0DevHlp_GetCurrentCpuId,
    397408    pdmR0DevHlp_TMTimeVirtGet,
    398409    pdmR0DevHlp_TMTimeVirtGetFreq,
  • trunk/src/VBox/VMM/VMMR3/PDMDevHlp.cpp

    r52670 r53797  
    23102310    LogFlow(("pdmR3DevHlp_GetVMCPU: caller='%s'/%d for CPU %u\n", pDevIns->pReg->szName, pDevIns->iInstance, VMMGetCpuId(pDevIns->Internal.s.pVMR3)));
    23112311    return VMMGetCpu(pDevIns->Internal.s.pVMR3);
     2312}
     2313
     2314
     2315/** @interface_method_impl{PDMDEVHLPR3,pfnGetCurrentCpuId} */
     2316static DECLCALLBACK(VMCPUID) pdmR3DevHlp_GetCurrentCpuId(PPDMDEVINS pDevIns)
     2317{
     2318    PDMDEV_ASSERT_DEVINS(pDevIns);
     2319    VMCPUID idCpu = VMMGetCpuId(pDevIns->Internal.s.pVMR3);
     2320    LogFlow(("pdmR3DevHlp_GetCurrentCpuId: caller='%s'/%d for CPU %u\n", pDevIns->pReg->szName, pDevIns->iInstance, idCpu));
     2321    return idCpu;
    23122322}
    23132323
     
    35533563    pdmR3DevHlp_GetVM,
    35543564    pdmR3DevHlp_GetVMCPU,
     3565    pdmR3DevHlp_GetCurrentCpuId,
    35553566    pdmR3DevHlp_RegisterVMMDevHeap,
    35563567    pdmR3DevHlp_UnregisterVMMDevHeap,
     
    35963607    AssertReleaseMsgFailed(("Untrusted device called trusted helper! '%s'/%d\n", pDevIns->pReg->szName, pDevIns->iInstance));
    35973608    return NULL;
     3609}
     3610
     3611
     3612/** @interface_method_impl{PDMDEVHLPR3,pfnGetCurrentCpuId} */
     3613static DECLCALLBACK(VMCPUID) pdmR3DevHlp_Untrusted_GetCurrentCpuId(PPDMDEVINS pDevIns)
     3614{
     3615    PDMDEV_ASSERT_DEVINS(pDevIns);
     3616    AssertReleaseMsgFailed(("Untrusted device called trusted helper! '%s'/%d\n", pDevIns->pReg->szName, pDevIns->iInstance));
     3617    return NIL_VMCPUID;
    35983618}
    35993619
     
    37943814    pdmR3DevHlp_Untrusted_GetVM,
    37953815    pdmR3DevHlp_Untrusted_GetVMCPU,
     3816    pdmR3DevHlp_Untrusted_GetCurrentCpuId,
    37963817    pdmR3DevHlp_Untrusted_RegisterVMMDevHeap,
    37973818    pdmR3DevHlp_Untrusted_UnregisterVMMDevHeap,
  • trunk/src/VBox/VMM/VMMRC/PDMRCDevice.cpp

    r49548 r53797  
    316316    LogFlow(("pdmRCDevHlp_GetVMCPU: caller='%p'/%d\n", pDevIns, pDevIns->iInstance));
    317317    return VMMGetCpu(pDevIns->Internal.s.pVMRC);
     318}
     319
     320
     321/** @interface_method_impl{PDMDEVHLPRC,pfnGetCurrentCpuId} */
     322static DECLCALLBACK(VMCPUID) pdmRCDevHlp_GetCurrentCpuId(PPDMDEVINS pDevIns)
     323{
     324    PDMDEV_ASSERT_DEVINS(pDevIns);
     325    VMCPUID idCpu = VMMGetCpuId(pDevIns->Internal.s.pVMRC);
     326    LogFlow(("pdmRCDevHlp_GetCurrentCpuId: caller='%p'/%d for CPU %u\n", pDevIns, pDevIns->iInstance, idCpu));
     327    return idCpu;
    318328}
    319329
     
    377387    pdmRCDevHlp_GetVM,
    378388    pdmRCDevHlp_GetVMCPU,
     389    pdmRCDevHlp_GetCurrentCpuId,
    379390    pdmRCDevHlp_TMTimeVirtGet,
    380391    pdmRCDevHlp_TMTimeVirtGetFreq,
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