Changeset 40280 in vbox for trunk/src/VBox/Devices/PC
- Timestamp:
- Feb 28, 2012 7:47:00 PM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 76509
- Location:
- trunk/src/VBox/Devices/PC
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/PC/DevACPI.cpp
r40019 r40280 1616 1616 * make sure we get a reliable time from the clock. 1617 1617 */ 1618 int rc = TMTimerLock(pThis->CTX_SUFF(pPmTimer), VINF_IOM_ HC_IOPORT_READ);1618 int rc = TMTimerLock(pThis->CTX_SUFF(pPmTimer), VINF_IOM_R3_IOPORT_READ); 1619 1619 if (rc == VINF_SUCCESS) 1620 1620 { -
trunk/src/VBox/Devices/PC/DevAPIC.cpp
r39371 r40280 573 573 #else 574 574 /* We shall send init IPI only in R3. */ 575 return VINF_IOM_ HC_MMIO_READ_WRITE;575 return VINF_IOM_R3_MMIO_READ_WRITE; 576 576 #endif /* IN_RING3 */ 577 577 … … 1415 1415 /* We shall send SIPI only in R3, R0 calls should be 1416 1416 rescheduled to R3 */ 1417 return VINF_IOM_ HC_MMIO_WRITE;1417 return VINF_IOM_R3_MMIO_WRITE; 1418 1418 # endif 1419 1419 } … … 1845 1845 uint64_t u64Value = 0; 1846 1846 int rc = apicReadRegister(pDev, s, (GCPhysAddr >> 4) & 0xff, &u64Value, 1847 VINF_IOM_ HC_MMIO_READ, false /*fMsr*/);1847 VINF_IOM_R3_MMIO_READ, false /*fMsr*/); 1848 1848 *(uint32_t *)pv = (uint32_t)u64Value; 1849 1849 return rc; … … 1878 1878 /* It does its own locking. */ 1879 1879 return apicWriteRegister(pDev, s, (GCPhysAddr >> 4) & 0xff, *(uint32_t const *)pv, 1880 VINF_IOM_ HC_MMIO_WRITE, false /*fMsr*/);1880 VINF_IOM_R3_MMIO_WRITE, false /*fMsr*/); 1881 1881 1882 1882 default: -
trunk/src/VBox/Devices/PC/DevHPET.cpp
r39136 r40280 524 524 case HPET_TN_CFG: 525 525 { 526 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_ HC_MMIO_WRITE);526 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_R3_MMIO_WRITE); 527 527 Log(("write HPET_TN_CFG: %d: %x\n", iTimerNo, u32NewValue)); 528 528 uint64_t const iOldValue = (uint32_t)pHpetTimer->u64Config; … … 565 565 case HPET_TN_CMP: /* lower bits of comparator register */ 566 566 { 567 DEVHPET_LOCK_BOTH_RETURN(pThis, VINF_IOM_ HC_MMIO_WRITE);567 DEVHPET_LOCK_BOTH_RETURN(pThis, VINF_IOM_R3_MMIO_WRITE); 568 568 Log(("write HPET_TN_CMP on %d: %#x\n", iTimerNo, u32NewValue)); 569 569 … … 585 585 case HPET_TN_CMP + 4: /* upper bits of comparator register */ 586 586 { 587 DEVHPET_LOCK_BOTH_RETURN(pThis, VINF_IOM_ HC_MMIO_WRITE);587 DEVHPET_LOCK_BOTH_RETURN(pThis, VINF_IOM_R3_MMIO_WRITE); 588 588 Log(("write HPET_TN_CMP + 4 on %d: %#x\n", iTimerNo, u32NewValue)); 589 589 if (!hpet32bitTimer(pHpetTimer)) … … 650 650 { 651 651 case HPET_ID: 652 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_ HC_MMIO_READ);652 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_R3_MMIO_READ); 653 653 u32Value = pThis->u32Capabilities; 654 654 DEVHPET_UNLOCK(pThis); … … 657 657 658 658 case HPET_PERIOD: 659 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_ HC_MMIO_READ);659 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_R3_MMIO_READ); 660 660 u32Value = pThis->u32Period; 661 661 DEVHPET_UNLOCK(pThis); … … 664 664 665 665 case HPET_CFG: 666 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_ HC_MMIO_READ);666 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_R3_MMIO_READ); 667 667 u32Value = (uint32_t)pThis->u64HpetConfig; 668 668 DEVHPET_UNLOCK(pThis); … … 671 671 672 672 case HPET_CFG + 4: 673 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_ HC_MMIO_READ);673 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_R3_MMIO_READ); 674 674 u32Value = (uint32_t)(pThis->u64HpetConfig >> 32); 675 675 DEVHPET_UNLOCK(pThis); … … 680 680 case HPET_COUNTER + 4: 681 681 { 682 DEVHPET_LOCK_BOTH_RETURN(pThis, VINF_IOM_ HC_MMIO_READ);682 DEVHPET_LOCK_BOTH_RETURN(pThis, VINF_IOM_R3_MMIO_READ); 683 683 684 684 uint64_t u64Ticks; … … 698 698 699 699 case HPET_STATUS: 700 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_ HC_MMIO_READ);700 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_R3_MMIO_READ); 701 701 u32Value = (uint32_t)pThis->u64Isr; 702 702 DEVHPET_UNLOCK(pThis); … … 743 743 case HPET_CFG: 744 744 { 745 DEVHPET_LOCK_BOTH_RETURN(pThis, VINF_IOM_ HC_MMIO_WRITE);745 DEVHPET_LOCK_BOTH_RETURN(pThis, VINF_IOM_R3_MMIO_WRITE); 746 746 uint32_t const iOldValue = (uint32_t)(pThis->u64HpetConfig); 747 747 Log(("write HPET_CFG: %x (old %x)\n", u32NewValue, iOldValue)); … … 758 758 if (rc != VINF_SUCCESS) 759 759 #else 760 rc = VINF_IOM_ HC_MMIO_WRITE;760 rc = VINF_IOM_R3_MMIO_WRITE; 761 761 #endif 762 762 { … … 793 793 case HPET_CFG + 4: 794 794 { 795 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_ HC_MMIO_WRITE);795 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_R3_MMIO_WRITE); 796 796 pThis->u64HpetConfig = hpetUpdateMasked((uint64_t)u32NewValue << 32, 797 797 pThis->u64HpetConfig, … … 804 804 case HPET_STATUS: 805 805 { 806 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_ HC_MMIO_WRITE);806 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_R3_MMIO_WRITE); 807 807 /* Clear ISR for all set bits in u32NewValue, see p. 14 of the HPET spec. */ 808 808 pThis->u64Isr &= ~((uint64_t)u32NewValue); … … 826 826 case HPET_COUNTER: 827 827 { 828 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_ HC_MMIO_WRITE);828 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_R3_MMIO_WRITE); 829 829 pThis->u64HpetCounter = RT_MAKE_U64(u32NewValue, pThis->u64HpetCounter); 830 830 Log(("write HPET_COUNTER: %#x -> %llx\n", u32NewValue, pThis->u64HpetCounter)); … … 835 835 case HPET_COUNTER + 4: 836 836 { 837 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_ HC_MMIO_WRITE);837 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_R3_MMIO_WRITE); 838 838 pThis->u64HpetCounter = RT_MAKE_U64(pThis->u64HpetCounter, u32NewValue); 839 839 Log(("write HPET_COUNTER + 4: %#x -> %llx\n", u32NewValue, pThis->u64HpetCounter)); … … 875 875 if (idxReg >= 0x100 && idxReg < 0x400) 876 876 { 877 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_ HC_MMIO_READ);877 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_R3_MMIO_READ); 878 878 rc = hpetTimerRegRead32(pThis, 879 879 (idxReg - 0x100) / 0x20, … … 902 902 /* When reading HPET counter we must read it in a single read, 903 903 to avoid unexpected time jumps on 32-bit overflow. */ 904 DEVHPET_LOCK_BOTH_RETURN(pThis, VINF_IOM_ HC_MMIO_READ);904 DEVHPET_LOCK_BOTH_RETURN(pThis, VINF_IOM_R3_MMIO_READ); 905 905 if (pThis->u64HpetConfig & HPET_CFG_ENABLE) 906 906 pValue->u = hpetGetTicks(pThis); … … 911 911 else 912 912 { 913 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_ HC_MMIO_READ);913 DEVHPET_LOCK_RETURN(pThis, VINF_IOM_R3_MMIO_READ); 914 914 if (idxReg >= 0x100 && idxReg < 0x400) 915 915 { … … 981 981 982 982 /* Split the access and rely on the locking to prevent trouble. */ 983 DEVHPET_LOCK_BOTH_RETURN(pThis, VINF_IOM_ HC_MMIO_WRITE);983 DEVHPET_LOCK_BOTH_RETURN(pThis, VINF_IOM_R3_MMIO_WRITE); 984 984 RTUINT64U uValue; 985 985 uValue.u = *(uint64_t const *)pv; -
trunk/src/VBox/Devices/PC/DevIoApic.cpp
r39311 r40280 325 325 { 326 326 IOAPICState *pThis = PDMINS_2_DATA(pDevIns, IOAPICState *); 327 IOAPIC_LOCK(pThis, VINF_IOM_ HC_MMIO_READ);327 IOAPIC_LOCK(pThis, VINF_IOM_R3_MMIO_READ); 328 328 329 329 STAM_COUNTER_INC(&CTXSUFF(pThis->StatMMIORead)); … … 356 356 357 357 STAM_COUNTER_INC(&CTXSUFF(pThis->StatMMIOWrite)); 358 IOAPIC_LOCK(pThis, VINF_IOM_ HC_MMIO_WRITE);358 IOAPIC_LOCK(pThis, VINF_IOM_R3_MMIO_WRITE); 359 359 switch (cb) 360 360 { -
trunk/src/VBox/Devices/PC/DevPIC.cpp
r39091 r40280 671 671 { 672 672 int rc; 673 PIC_LOCK(pThis, VINF_IOM_ HC_IOPORT_READ);673 PIC_LOCK(pThis, VINF_IOM_R3_IOPORT_READ); 674 674 *pu32 = pic_ioport_read(&pThis->aPics[iPic], Port, &rc); 675 675 PIC_UNLOCK(pThis); … … 700 700 { 701 701 int rc; 702 PIC_LOCK(pThis, VINF_IOM_ HC_IOPORT_WRITE);702 PIC_LOCK(pThis, VINF_IOM_R3_IOPORT_WRITE); 703 703 rc = pic_ioport_write(&pThis->aPics[iPic], Port, u32); 704 704 PIC_UNLOCK(pThis); … … 725 725 { 726 726 PicState *s = (PicState*)pvUser; 727 PIC_LOCK(PDMINS_2_DATA(pDevIns, PDEVPIC), VINF_IOM_ HC_IOPORT_READ);727 PIC_LOCK(PDMINS_2_DATA(pDevIns, PDEVPIC), VINF_IOM_R3_IOPORT_READ); 728 728 *pu32 = s->elcr; 729 729 PIC_UNLOCK(PDMINS_2_DATA(pDevIns, PDEVPIC)); … … 750 750 { 751 751 PicState *s = (PicState*)pvUser; 752 PIC_LOCK(PDMINS_2_DATA(pDevIns, PDEVPIC), VINF_IOM_ HC_IOPORT_WRITE);752 PIC_LOCK(PDMINS_2_DATA(pDevIns, PDEVPIC), VINF_IOM_R3_IOPORT_WRITE); 753 753 s->elcr = u32 & s->elcr_mask; 754 754 PIC_UNLOCK(PDMINS_2_DATA(pDevIns, PDEVPIC)); -
trunk/src/VBox/Devices/PC/DevPit-i8254.cpp
r37526 r40280 577 577 PITChannelState *s = &pit->channels[Port]; 578 578 579 DEVPIT_LOCK_RETURN(pit, VINF_IOM_ HC_IOPORT_READ);579 DEVPIT_LOCK_RETURN(pit, VINF_IOM_R3_IOPORT_READ); 580 580 if (s->status_latched) 581 581 { … … 607 607 { 608 608 DEVPIT_UNLOCK(pit); 609 DEVPIT_LOCK_BOTH_RETURN(pit, VINF_IOM_ HC_IOPORT_READ);609 DEVPIT_LOCK_BOTH_RETURN(pit, VINF_IOM_R3_IOPORT_READ); 610 610 int count; 611 611 switch (s->read_state) … … 685 685 { 686 686 /* read-back command */ 687 DEVPIT_LOCK_BOTH_RETURN(pit, VINF_IOM_ HC_IOPORT_WRITE);687 DEVPIT_LOCK_BOTH_RETURN(pit, VINF_IOM_R3_IOPORT_WRITE); 688 688 for (channel = 0; channel < RT_ELEMENTS(pit->channels); channel++) 689 689 { … … 713 713 if (access == 0) 714 714 { 715 DEVPIT_LOCK_BOTH_RETURN(pit, VINF_IOM_ HC_IOPORT_WRITE);715 DEVPIT_LOCK_BOTH_RETURN(pit, VINF_IOM_R3_IOPORT_WRITE); 716 716 pit_latch_count(s); 717 717 DEVPIT_UNLOCK_BOTH(pit); … … 719 719 else 720 720 { 721 DEVPIT_LOCK_RETURN(pit, VINF_IOM_ HC_IOPORT_WRITE);721 DEVPIT_LOCK_RETURN(pit, VINF_IOM_R3_IOPORT_WRITE); 722 722 s->rw_mode = access; 723 723 s->read_state = access; … … 736 736 /** @todo There is no reason not to do this in all contexts these 737 737 * days... */ 738 return VINF_IOM_ HC_IOPORT_WRITE;738 return VINF_IOM_R3_IOPORT_WRITE; 739 739 #else /* IN_RING3 */ 740 740 /* … … 743 743 PITChannelState *s = &pit->channels[Port]; 744 744 uint8_t const write_state = s->write_state; 745 DEVPIT_LOCK_BOTH_RETURN(pit, VINF_IOM_ HC_IOPORT_WRITE);745 DEVPIT_LOCK_BOTH_RETURN(pit, VINF_IOM_R3_IOPORT_WRITE); 746 746 switch (s->write_state) 747 747 { … … 786 786 { 787 787 PITState *pThis = PDMINS_2_DATA(pDevIns, PITState *); 788 DEVPIT_LOCK_BOTH_RETURN(pThis, VINF_IOM_ HC_IOPORT_READ);788 DEVPIT_LOCK_BOTH_RETURN(pThis, VINF_IOM_R3_IOPORT_READ); 789 789 790 790 const uint64_t u64Now = TMTimerGet(pThis->channels[0].CTX_SUFF(pTimer));
Note:
See TracChangeset
for help on using the changeset viewer.