VirtualBox

Ignore:
Timestamp:
May 25, 2009 1:59:29 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
47714
Message:

Cleaned up PDMGet/SetTPR.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/PC/DevAPIC.cpp

    r19787 r20001  
    438438PDMBOTHCBDECL(void) apicSetBase(PPDMDEVINS pDevIns, uint64_t val);
    439439PDMBOTHCBDECL(uint64_t) apicGetBase(PPDMDEVINS pDevIns);
    440 PDMBOTHCBDECL(void) apicSetTPR(PPDMDEVINS pDevIns, uint8_t val);
    441 PDMBOTHCBDECL(uint8_t) apicGetTPR(PPDMDEVINS pDevIns);
     440PDMBOTHCBDECL(void) apicSetTPR(PPDMDEVINS pDevIns, VMCPUID idCpu, uint8_t val);
     441PDMBOTHCBDECL(uint8_t) apicGetTPR(PPDMDEVINS pDevIns, VMCPUID idCpu);
    442442PDMBOTHCBDECL(int)  apicBusDeliverCallback(PPDMDEVINS pDevIns, uint8_t u8Dest, uint8_t u8DestMode,
    443443                                           uint8_t u8DeliveryMode, uint8_t iVector, uint8_t u8Polarity,
     
    670670}
    671671
    672 PDMBOTHCBDECL(void) apicSetTPR(PPDMDEVINS pDevIns, uint8_t val)
     672PDMBOTHCBDECL(void) apicSetTPR(PPDMDEVINS pDevIns, VMCPUID idCpu, uint8_t val)
    673673{
    674674    APICDeviceInfo *dev = PDMINS_2_DATA(pDevIns, APICDeviceInfo *);
    675     APICState *s = getLapic(dev);
     675    APICState *s = getLapicById(dev, idCpu);
    676676    LogFlow(("apicSetTPR: val=%#x (trp %#x -> %#x)\n", val, s->tpr, (val & 0x0f) << 4));
    677677    apic_update_tpr(dev, s, (val & 0x0f) << 4);
    678678}
    679679
    680 PDMBOTHCBDECL(uint8_t) apicGetTPR(PPDMDEVINS pDevIns)
     680PDMBOTHCBDECL(uint8_t) apicGetTPR(PPDMDEVINS pDevIns, VMCPUID idCpu)
    681681{
    682682    APICDeviceInfo *dev = PDMINS_2_DATA(pDevIns, APICDeviceInfo *);
    683     APICState *s = getLapic(dev);
     683    APICState *s = getLapicById(dev, idCpu);
    684684    Log2(("apicGetTPR: returns %#x\n", s->tpr >> 4));
    685685    return s->tpr >> 4;
     
    23682368    /*
    23692369     * Register the MMIO range.
    2370      * @todo: may need to rethink for cases when different LAPICs mapped to different address
    2371      *        (see IA32_APIC_BASE_MSR)
    23722370     */
    23732371    rc = PDMDevHlpMMIORegister(pDevIns, LAPIC_BASE(pThis)->apicbase & ~0xfff, 0x1000, pThis,
Note: See TracChangeset for help on using the changeset viewer.

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