Changeset 25995 in vbox for trunk/include/VBox
- Timestamp:
- Jan 25, 2010 11:33:03 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/pdmdev.h
r25893 r25995 1611 1611 1612 1612 1613 /** 1614 * HPET registration structure. 1615 */ 1616 typedef struct PDMHPETREG 1617 { 1618 /** Struct version+magic number (PDM_HPETREG_VERSION). */ 1619 uint32_t u32Version; 1620 1621 } PDMHPETREG; 1622 /** Pointer to an HPET registration structure. */ 1623 typedef PDMHPETREG *PPDMHPETREG; 1624 1625 /** Current PDMHPETREG version number. */ 1626 #define PDM_HPETREG_VERSION 0x1f010000 1627 1628 /** 1629 * HPET RC helpers. 1630 */ 1631 typedef struct PDMHPETHLPRC 1632 { 1633 /** Structure version. PDM_HPETHLPRC_VERSION defines the current version. */ 1634 uint32_t u32Version; 1635 1636 /** 1637 * Acquires the PDM lock. 1638 * 1639 * @returns VINF_SUCCESS on success. 1640 * @returns rc if we failed to acquire the lock. 1641 * @param pDevIns The HPET device instance. 1642 * @param rc What to return if we fail to acquire the lock. 1643 */ 1644 DECLRCCALLBACKMEMBER(int, pfnLock,(PPDMDEVINS pDevIns, int rc)); 1645 1646 /** 1647 * Releases the PDM lock. 1648 * 1649 * @param pDevIns The HPET device instance. 1650 */ 1651 DECLRCCALLBACKMEMBER(void, pfnUnlock,(PPDMDEVINS pDevIns)); 1652 1653 /** Just a safety precaution. */ 1654 uint32_t u32TheEnd; 1655 } PDMHPETHLPRC; 1656 1657 /** Pointer to HPET RC helpers. */ 1658 typedef RCPTRTYPE(PDMHPETHLPRC *) PPDMHPETHLPRC; 1659 /** Pointer to const HPET RC helpers. */ 1660 typedef RCPTRTYPE(const PDMHPETHLPRC *) PCPDMHPETHLPRC; 1661 1662 /** Current PDMHPETHLPRC version number. */ 1663 #define PDM_HPETHLPRC_VERSION 0xe1010000 1664 1665 1666 /** 1667 * HPET R0 helpers. 1668 */ 1669 typedef struct PDMHPETHLPR0 1670 { 1671 /** Structure version. PDM_HPETHLPR0_VERSION defines the current version. */ 1672 uint32_t u32Version; 1673 1674 /** 1675 * Acquires the PDM lock. 1676 * 1677 * @returns VINF_SUCCESS on success. 1678 * @returns rc if we failed to acquire the lock. 1679 * @param pDevIns The HPET device instance. 1680 * @param rc What to return if we fail to acquire the lock. 1681 */ 1682 DECLR0CALLBACKMEMBER(int, pfnLock,(PPDMDEVINS pDevIns, int rc)); 1683 1684 /** 1685 * Releases the PDM lock. 1686 * 1687 * @param pDevIns The HPET device instance. 1688 */ 1689 DECLR0CALLBACKMEMBER(void, pfnUnlock,(PPDMDEVINS pDevIns)); 1690 1691 /** Just a safety precaution. */ 1692 uint32_t u32TheEnd; 1693 } PDMHPETHLPR0; 1694 1695 /** Pointer to HPET R0 helpers. */ 1696 typedef R0PTRTYPE(PDMHPETHLPR0 *) PPDMHPETHLPR0; 1697 /** Pointer to const HPET R0 helpers. */ 1698 typedef R0PTRTYPE(const PDMHPETHLPR0 *) PCPDMHPETHLPR0; 1699 1700 /** Current PDMHPETHLPR0 version number. */ 1701 #define PDM_HPETHLPR0_VERSION 0xe1010000 1702 1703 /** 1704 * HPET R3 helpers. 1705 */ 1706 typedef struct PDMHPETHLPR3 1707 { 1708 /** Structure version. PDM_HPETHLP_VERSION defines the current version. */ 1709 uint32_t u32Version; 1710 1711 1712 /** 1713 * Set the interrupt force action flag. 1714 * 1715 * @returns VINF_SUCCESS on success. 1716 * @returns rc if we failed to set legacy mode. 1717 * @param pDevIns Device instance of the HPET. 1718 * @param fActivate Activate or deactivate legacy mode. 1719 */ 1720 DECLR3CALLBACKMEMBER(int, pfnSetLegacyMode,(PPDMDEVINS pDevIns, bool fActivate)); 1721 1722 /** 1723 * Acquires the PDM lock. 1724 * 1725 * @returns VINF_SUCCESS on success. 1726 * @returns rc if we failed to acquire the lock. 1727 * @param pDevIns The HPET device instance. 1728 * @param rc What to return if we fail to acquire the lock. 1729 */ 1730 DECLR3CALLBACKMEMBER(int, pfnLock,(PPDMDEVINS pDevIns, int rc)); 1731 1732 /** 1733 * Releases the PDM lock. 1734 * 1735 * @param pDevIns The HPET device instance. 1736 */ 1737 DECLR3CALLBACKMEMBER(void, pfnUnlock,(PPDMDEVINS pDevIns)); 1738 1739 /** 1740 * Gets the address of the RC HPET helpers. 1741 * 1742 * This should be called at both construction and relocation time 1743 * to obtain the correct address of the RC helpers. 1744 * 1745 * @returns RC pointer to the HPET helpers. 1746 * @param pDevIns Device instance of the HPET. 1747 */ 1748 DECLR3CALLBACKMEMBER(PCPDMHPETHLPRC, pfnGetRCHelpers,(PPDMDEVINS pDevIns)); 1749 1750 /** 1751 * Gets the address of the R0 HPET helpers. 1752 * 1753 * This should be called at both construction and relocation time 1754 * to obtain the correct address of the R0 helpers. 1755 * 1756 * @returns R0 pointer to the HPET helpers. 1757 * @param pDevIns Device instance of the HPET. 1758 */ 1759 DECLR3CALLBACKMEMBER(PCPDMHPETHLPR0, pfnGetR0Helpers,(PPDMDEVINS pDevIns)); 1760 1761 /** Just a safety precaution. */ 1762 uint32_t u32TheEnd; 1763 } PDMHPETHLPR3; 1764 1765 /** Pointer to HPET R3 helpers. */ 1766 typedef R3PTRTYPE(PDMHPETHLPR3 *) PPDMHPETHLPR3; 1767 /** Pointer to const HPET R3 helpers. */ 1768 typedef R3PTRTYPE(const PDMHPETHLPR3 *) PCPDMHPETHLPR3; 1769 1770 /** Current PDMHPETHLPR3 version number. */ 1771 #define PDM_HPETHLPR3_VERSION 0x1e010000 1772 1613 1773 1614 1774 #ifdef IN_RING3 … … 2508 2668 2509 2669 /** 2670 * Register the HPET device. 2671 * 2672 * @returns VBox status code. 2673 * @param pDevIns Device instance. 2674 * @param pHpetReg Pointer to a HPET registration structure. 2675 * @param ppHpetHlpR3 Where to store the pointer to the HPET 2676 * helpers. 2677 */ 2678 DECLR3CALLBACKMEMBER(int, pfnHPETRegister,(PPDMDEVINS pDevIns, PPDMHPETREG pHpetReg, PCPDMHPETHLPR3 *ppHpetHlpR3)); 2679 2680 /** 2510 2681 * Register the DMA device. 2511 2682 * … … 2947 3118 2948 3119 /** Current PDMDEVHLP version number. */ 2949 #define PDM_DEVHLP_VERSION 0xf20c000 03120 #define PDM_DEVHLP_VERSION 0xf20c0001 2950 3121 2951 3122
Note:
See TracChangeset
for help on using the changeset viewer.