Changeset 18143 in vbox for trunk/include
- Timestamp:
- Mar 23, 2009 3:10:24 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 44841
- Location:
- trunk/include/VBox
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/pdmdev.h
r18101 r18143 1898 1898 * This must be cbRange bytes big. 1899 1899 * It will be copied and doesn't have to stick around if fShadow is clear. 1900 * @param fShadow Whether to emulate ROM shadowing. This involves leaving 1901 * the ROM writable for a while during the POST and refreshing 1902 * it at reset. When this flag is set, the memory pointed to by 1903 * pvBinary has to stick around for the lifespan of the VM. 1900 * @param fFlags Shadow ROM flags, PGMPHYS_ROM_FLAGS_* in pgm.h. 1904 1901 * @param pszDesc Pointer to description string. This must not be freed. 1905 1902 * … … 1907 1904 * manually from the device yet. At present I doubt we need such features... 1908 1905 */ 1909 DECLR3CALLBACKMEMBER(int, pfnROMRegister,(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTUINT cbRange, const void *pvBinary, bool fShadow, const char *pszDesc));1906 DECLR3CALLBACKMEMBER(int, pfnROMRegister,(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTUINT cbRange, const void *pvBinary, uint32_t fFlags, const char *pszDesc)); 1910 1907 1911 1908 /** … … 1913 1910 * 1914 1911 * @returns VBox status. 1915 * @param pDevIns Device instance.1916 * @param pszName Data unit name.1917 * @param u32Instance The instance identifier of the data unit.1918 * This must together with the name be unique.1919 * @param u32Version Data layout version number.1920 * @param cbGuess The approximate amount of data in the unit.1921 * Only for progress indicators.1922 * @param pfnSavePrep Prepare save callback, optional.1923 * @param pfnSaveExec Execute save callback, optional.1924 * @param pfnSaveDone Done save callback, optional.1925 * @param pfnLoadPrep Prepare load callback, optional.1926 * @param pfnLoadExec Execute load callback, optional.1927 * @param pfnLoadDone Done load callback, optional.1912 * @param pDevIns Device instance. 1913 * @param pszName Data unit name. 1914 * @param u32Instance The instance identifier of the data unit. 1915 * This must together with the name be unique. 1916 * @param u32Version Data layout version number. 1917 * @param cbGuess The approximate amount of data in the unit. 1918 * Only for progress indicators. 1919 * @param pfnSavePrep Prepare save callback, optional. 1920 * @param pfnSaveExec Execute save callback, optional. 1921 * @param pfnSaveDone Done save callback, optional. 1922 * @param pfnLoadPrep Prepare load callback, optional. 1923 * @param pfnLoadExec Execute load callback, optional. 1924 * @param pfnLoadDone Done load callback, optional. 1928 1925 */ 1929 1926 DECLR3CALLBACKMEMBER(int, pfnSSMRegister,(PPDMDEVINS pDevIns, const char *pszName, uint32_t u32Instance, uint32_t u32Version, size_t cbGuess, … … 1935 1932 * 1936 1933 * @returns VBox status. 1937 * @param pDevIns Device instance.1938 * @param enmClock The clock to use on this timer.1939 * @param pfnCallback Callback function.1940 * @param pszDesc Pointer to description string which must stay around1941 * until the timer is fully destroyed (i.e. a bit after TMTimerDestroy()).1942 * @param ppTimer Where to store the timer on success.1934 * @param pDevIns Device instance. 1935 * @param enmClock The clock to use on this timer. 1936 * @param pfnCallback Callback function. 1937 * @param pszDesc Pointer to description string which must stay around 1938 * until the timer is fully destroyed (i.e. a bit after TMTimerDestroy()). 1939 * @param ppTimer Where to store the timer on success. 1943 1940 */ 1944 1941 DECLR3CALLBACKMEMBER(int, pfnTMTimerCreate,(PPDMDEVINS pDevIns, TMCLOCK enmClock, PFNTMTIMERDEV pfnCallback, const char *pszDesc, PPTMTIMERR3 ppTimer)); … … 1948 1945 * 1949 1946 * @returns timer pointer 1950 * @param pDevIns Device instance.1951 * @param enmClock The clock to use on this timer.1952 * @param pfnCallback Callback function.1953 * @param pvUser User pointer1954 * @param pszDesc Pointer to description string which must stay around1955 * until the timer is fully destroyed (i.e. a bit after TMTimerDestroy()).1947 * @param pDevIns Device instance. 1948 * @param enmClock The clock to use on this timer. 1949 * @param pfnCallback Callback function. 1950 * @param pvUser User pointer 1951 * @param pszDesc Pointer to description string which must stay around 1952 * until the timer is fully destroyed (i.e. a bit after TMTimerDestroy()). 1956 1953 */ 1957 1954 DECLR3CALLBACKMEMBER(PTMTIMERR3, pfnTMTimerCreateExternal,(PPDMDEVINS pDevIns, TMCLOCK enmClock, PFNTMTIMEREXT pfnCallback, void *pvUser, const char *pszDesc)); … … 1961 1958 * 1962 1959 * @returns VBox status code. 1963 * @param pDevIns Device instance.1964 * @param pPciDev The PCI device structure.1965 * Any PCI enabled device must keep this in it's instance data!1966 * Fill in the PCI data config before registration, please.1960 * @param pDevIns Device instance. 1961 * @param pPciDev The PCI device structure. 1962 * Any PCI enabled device must keep this in it's instance data! 1963 * Fill in the PCI data config before registration, please. 1967 1964 * @remark This is the simple interface, a Ex interface will be created if 1968 1965 * more features are needed later. … … 1974 1971 * 1975 1972 * @returns VBox status code. 1976 * @param pDevIns Device instance.1977 * @param iRegion The region number.1978 * @param cbRegion Size of the region.1979 * @param enmType PCI_ADDRESS_SPACE_MEM, PCI_ADDRESS_SPACE_IO or PCI_ADDRESS_SPACE_MEM_PREFETCH.1980 * @param pfnCallback Callback for doing the mapping.1973 * @param pDevIns Device instance. 1974 * @param iRegion The region number. 1975 * @param cbRegion Size of the region. 1976 * @param enmType PCI_ADDRESS_SPACE_MEM, PCI_ADDRESS_SPACE_IO or PCI_ADDRESS_SPACE_MEM_PREFETCH. 1977 * @param pfnCallback Callback for doing the mapping. 1981 1978 */ 1982 1979 DECLR3CALLBACKMEMBER(int, pfnPCIIORegionRegister,(PPDMDEVINS pDevIns, int iRegion, uint32_t cbRegion, PCIADDRESSSPACE enmType, PFNPCIIOREGIONMAP pfnCallback)); … … 1985 1982 * Register PCI configuration space read/write callbacks. 1986 1983 * 1987 * @param pDevIns Device instance.1988 * @param pPciDev The PCI device structure.1989 * If NULL the default PCI device for this device instance is used.1990 * @param pfnRead Pointer to the user defined PCI config read function.1991 * @param ppfnReadOld Pointer to function pointer which will receive the old (default)1992 * PCI config read function. This way, user can decide when (and if)1993 * to call default PCI config read function. Can be NULL.1994 * @param pfnWrite Pointer to the user defined PCI config write function.1995 * @param pfnWriteOld Pointer to function pointer which will receive the old (default)1996 * PCI config write function. This way, user can decide when (and if)1997 * to call default PCI config write function. Can be NULL.1984 * @param pDevIns Device instance. 1985 * @param pPciDev The PCI device structure. 1986 * If NULL the default PCI device for this device instance is used. 1987 * @param pfnRead Pointer to the user defined PCI config read function. 1988 * @param ppfnReadOld Pointer to function pointer which will receive the old (default) 1989 * PCI config read function. This way, user can decide when (and if) 1990 * to call default PCI config read function. Can be NULL. 1991 * @param pfnWrite Pointer to the user defined PCI config write function. 1992 * @param pfnWriteOld Pointer to function pointer which will receive the old (default) 1993 * PCI config write function. This way, user can decide when (and if) 1994 * to call default PCI config write function. Can be NULL. 1998 1995 * @thread EMT 1999 1996 */ … … 2004 2001 * Set the IRQ for a PCI device. 2005 2002 * 2006 * @param pDevIns Device instance.2007 * @param iIrq IRQ number to set.2008 * @param iLevel IRQ level. See the PDM_IRQ_LEVEL_* \#defines.2003 * @param pDevIns Device instance. 2004 * @param iIrq IRQ number to set. 2005 * @param iLevel IRQ level. See the PDM_IRQ_LEVEL_* \#defines. 2009 2006 * @thread Any thread, but will involve the emulation thread. 2010 2007 */ … … 2015 2012 * the request when not called from EMT. 2016 2013 * 2017 * @param pDevIns Device instance.2018 * @param iIrq IRQ number to set.2019 * @param iLevel IRQ level.2014 * @param pDevIns Device instance. 2015 * @param iIrq IRQ number to set. 2016 * @param iLevel IRQ level. 2020 2017 * @thread Any thread, but will involve the emulation thread. 2021 2018 */ … … 2025 2022 * Set ISA IRQ for a device. 2026 2023 * 2027 * @param pDevIns Device instance.2028 * @param iIrq IRQ number to set.2029 * @param iLevel IRQ level. See the PDM_IRQ_LEVEL_* \#defines.2024 * @param pDevIns Device instance. 2025 * @param iIrq IRQ number to set. 2026 * @param iLevel IRQ level. See the PDM_IRQ_LEVEL_* \#defines. 2030 2027 * @thread Any thread, but will involve the emulation thread. 2031 2028 */ … … 2036 2033 * the request when not called from EMT. 2037 2034 * 2038 * @param pDevIns Device instance.2039 * @param iIrq IRQ number to set.2040 * @param iLevel IRQ level. See the PDM_IRQ_LEVEL_* \#defines.2035 * @param pDevIns Device instance. 2036 * @param iIrq IRQ number to set. 2037 * @param iLevel IRQ level. See the PDM_IRQ_LEVEL_* \#defines. 2041 2038 * @thread Any thread, but will involve the emulation thread. 2042 2039 */ … … 2064 2061 * 2065 2062 * @returns Pointer to allocated memory. The memory is *NOT* zero-ed. 2066 * @param pDevIns Device instance.2067 * @param cb Number of bytes to allocate.2063 * @param pDevIns Device instance. 2064 * @param cb Number of bytes to allocate. 2068 2065 */ 2069 2066 DECLR3CALLBACKMEMBER(void *, pfnMMHeapAlloc,(PPDMDEVINS pDevIns, size_t cb)); … … 2074 2071 * 2075 2072 * @returns Pointer to allocated memory. The memory is *NOT* zero-ed. 2076 * @param pDevIns Device instance.2077 * @param cb Number of bytes to allocate.2073 * @param pDevIns Device instance. 2074 * @param cb Number of bytes to allocate. 2078 2075 */ 2079 2076 DECLR3CALLBACKMEMBER(void *, pfnMMHeapAllocZ,(PPDMDEVINS pDevIns, size_t cb)); … … 2082 2079 * Free memory allocated with pfnMMHeapAlloc() and pfnMMHeapAllocZ(). 2083 2080 * 2084 * @param pDevIns Device instance.2085 * @param pv Pointer to the memory to free.2081 * @param pDevIns Device instance. 2082 * @param pv Pointer to the memory to free. 2086 2083 */ 2087 2084 DECLR3CALLBACKMEMBER(void, pfnMMHeapFree,(PPDMDEVINS pDevIns, void *pv)); … … 2091 2088 * 2092 2089 * @returns rc. 2093 * @param pDevIns Device instance.2094 * @param rc VBox status code.2095 * @param RT_SRC_POS_DECL Use RT_SRC_POS.2096 * @param pszFormat Error message format string.2097 * @param ... Error message arguments.2090 * @param pDevIns Device instance. 2091 * @param rc VBox status code. 2092 * @param RT_SRC_POS_DECL Use RT_SRC_POS. 2093 * @param pszFormat Error message format string. 2094 * @param ... Error message arguments. 2098 2095 */ 2099 2096 DECLR3CALLBACKMEMBER(int, pfnVMSetError,(PPDMDEVINS pDevIns, int rc, RT_SRC_POS_DECL, const char *pszFormat, ...)); … … 2103 2100 * 2104 2101 * @returns rc. 2105 * @param pDevIns Device instance.2106 * @param rc VBox status code.2107 * @param RT_SRC_POS_DECL Use RT_SRC_POS.2108 * @param pszFormat Error message format string.2109 * @param va Error message arguments.2102 * @param pDevIns Device instance. 2103 * @param rc VBox status code. 2104 * @param RT_SRC_POS_DECL Use RT_SRC_POS. 2105 * @param pszFormat Error message format string. 2106 * @param va Error message arguments. 2110 2107 */ 2111 2108 DECLR3CALLBACKMEMBER(int, pfnVMSetErrorV,(PPDMDEVINS pDevIns, int rc, RT_SRC_POS_DECL, const char *pszFormat, va_list va)); … … 2115 2112 * 2116 2113 * @returns VBox status code. 2117 * @param pDevIns Device instance.2118 * @param fFatal Whether it is a fatal error or not.2119 * @param pszErrorID Error ID string.2120 * @param pszFormat Error message format string.2121 * @param ... Error message arguments.2114 * @param pDevIns Device instance. 2115 * @param fFatal Whether it is a fatal error or not. 2116 * @param pszErrorID Error ID string. 2117 * @param pszFormat Error message format string. 2118 * @param ... Error message arguments. 2122 2119 */ 2123 2120 DECLR3CALLBACKMEMBER(int, pfnVMSetRuntimeError,(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, ...)); … … 2127 2124 * 2128 2125 * @returns VBox status code. 2129 * @param pDevIns Device instance.2130 * @param fFatal Whether it is a fatal error or not.2131 * @param pszErrorID Error ID string.2132 * @param pszFormat Error message format string.2133 * @param va Error message arguments.2126 * @param pDevIns Device instance. 2127 * @param fFatal Whether it is a fatal error or not. 2128 * @param pszErrorID Error ID string. 2129 * @param pszFormat Error message format string. 2130 * @param va Error message arguments. 2134 2131 */ 2135 2132 DECLR3CALLBACKMEMBER(int, pfnVMSetRuntimeErrorV,(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, va_list va)); … … 2140 2137 * @returns True if correct. 2141 2138 * @returns False if wrong. 2142 * @param pDevIns Device instance.2143 * @param pszFile Filename of the assertion location.2144 * @param iLine The linenumber of the assertion location.2145 * @param pszFunction Function of the assertion location.2139 * @param pDevIns Device instance. 2140 * @param pszFile Filename of the assertion location. 2141 * @param iLine The linenumber of the assertion location. 2142 * @param pszFunction Function of the assertion location. 2146 2143 */ 2147 2144 DECLR3CALLBACKMEMBER(bool, pfnAssertEMT,(PPDMDEVINS pDevIns, const char *pszFile, unsigned iLine, const char *pszFunction)); … … 2152 2149 * @returns True if correct. 2153 2150 * @returns False if wrong. 2154 * @param pDevIns Device instance.2155 * @param pszFile Filename of the assertion location.2156 * @param iLine The linenumber of the assertion location.2157 * @param pszFunction Function of the assertion location.2151 * @param pDevIns Device instance. 2152 * @param pszFile Filename of the assertion location. 2153 * @param iLine The linenumber of the assertion location. 2154 * @param pszFunction Function of the assertion location. 2158 2155 */ 2159 2156 DECLR3CALLBACKMEMBER(bool, pfnAssertOther,(PPDMDEVINS pDevIns, const char *pszFile, unsigned iLine, const char *pszFunction)); … … 2166 2163 * 2167 2164 * @returns VBox status code which must be passed up to the VMM. 2168 * @param pDevIns Device instance.2169 * @param pszFile Filename of the assertion location.2170 * @param iLine The linenumber of the assertion location.2171 * @param pszFunction Function of the assertion location.2172 * @param pszFormat Message. (optional)2173 * @param args Message parameters.2165 * @param pDevIns Device instance. 2166 * @param pszFile Filename of the assertion location. 2167 * @param iLine The linenumber of the assertion location. 2168 * @param pszFunction Function of the assertion location. 2169 * @param pszFormat Message. (optional) 2170 * @param args Message parameters. 2174 2171 */ 2175 2172 DECLR3CALLBACKMEMBER(int, pfnDBGFStopV,(PPDMDEVINS pDevIns, const char *pszFile, unsigned iLine, const char *pszFunction, const char *pszFormat, va_list args)); … … 2179 2176 * 2180 2177 * @returns VBox status code. 2181 * @param pDevIns Device instance. 2182 * @param pszName The identifier of the info. 2183 * @param pszDesc The description of the info and any arguments the handler may take. 2184 * @param pfnHandler The handler function to be called to display the info. 2178 * @param pDevIns Device instance. 2179 * @param pszName The identifier of the info. 2180 * @param pszDesc The description of the info and any arguments 2181 * the handler may take. 2182 * @param pfnHandler The handler function to be called to display the 2183 * info. 2185 2184 */ 2186 2185 DECLR3CALLBACKMEMBER(int, pfnDBGFInfoRegister,(PPDMDEVINS pDevIns, const char *pszName, const char *pszDesc, PFNDBGFHANDLERDEV pfnHandler)); … … 2189 2188 * Registers a statistics sample if statistics are enabled. 2190 2189 * 2191 * @param pDevIns Device instance of the DMA. 2192 * @param pvSample Pointer to the sample. 2193 * @param enmType Sample type. This indicates what pvSample is pointing at. 2194 * @param pszName Sample name. The name is on this form "/<component>/<sample>". 2195 * Further nesting is possible. 2196 * @param enmUnit Sample unit. 2197 * @param pszDesc Sample description. 2190 * @param pDevIns Device instance of the DMA. 2191 * @param pvSample Pointer to the sample. 2192 * @param enmType Sample type. This indicates what pvSample is 2193 * pointing at. 2194 * @param pszName Sample name. The name is on this form 2195 * "/<component>/<sample>". Further nesting is 2196 * possible. 2197 * @param enmUnit Sample unit. 2198 * @param pszDesc Sample description. 2198 2199 */ 2199 2200 DECLR3CALLBACKMEMBER(void, pfnSTAMRegister,(PPDMDEVINS pDevIns, void *pvSample, STAMTYPE enmType, const char *pszName, STAMUNIT enmUnit, const char *pszDesc)); … … 2204 2205 * 2205 2206 * @returns VBox status. 2206 * @param pDevIns Device instance of the DMA. 2207 * @param pvSample Pointer to the sample. 2208 * @param enmType Sample type. This indicates what pvSample is pointing at. 2209 * @param enmVisibility Visibility type specifying whether unused statistics should be visible or not. 2210 * @param enmUnit Sample unit. 2211 * @param pszDesc Sample description. 2212 * @param pszName The sample name format string. 2213 * @param ... Arguments to the format string. 2207 * @param pDevIns Device instance of the DMA. 2208 * @param pvSample Pointer to the sample. 2209 * @param enmType Sample type. This indicates what pvSample is 2210 * pointing at. 2211 * @param enmVisibility Visibility type specifying whether unused 2212 * statistics should be visible or not. 2213 * @param enmUnit Sample unit. 2214 * @param pszDesc Sample description. 2215 * @param pszName The sample name format string. 2216 * @param ... Arguments to the format string. 2214 2217 */ 2215 2218 DECLR3CALLBACKMEMBER(void, pfnSTAMRegisterF,(PPDMDEVINS pDevIns, void *pvSample, STAMTYPE enmType, STAMVISIBILITY enmVisibility, … … 2221 2224 * 2222 2225 * @returns VBox status. 2223 * @param pDevIns Device instance of the DMA. 2224 * @param pvSample Pointer to the sample. 2225 * @param enmType Sample type. This indicates what pvSample is pointing at. 2226 * @param enmVisibility Visibility type specifying whether unused statistics should be visible or not. 2227 * @param enmUnit Sample unit. 2228 * @param pszDesc Sample description. 2229 * @param pszName The sample name format string. 2230 * @param args Arguments to the format string. 2226 * @param pDevIns Device instance of the DMA. 2227 * @param pvSample Pointer to the sample. 2228 * @param enmType Sample type. This indicates what pvSample is 2229 * pointing at. 2230 * @param enmVisibility Visibility type specifying whether unused 2231 * statistics should be visible or not. 2232 * @param enmUnit Sample unit. 2233 * @param pszDesc Sample description. 2234 * @param pszName The sample name format string. 2235 * @param args Arguments to the format string. 2231 2236 */ 2232 2237 DECLR3CALLBACKMEMBER(void, pfnSTAMRegisterV,(PPDMDEVINS pDevIns, void *pvSample, STAMTYPE enmType, STAMVISIBILITY enmVisibility, … … 2237 2242 * 2238 2243 * @returns VBox status code. 2239 * @param pDevIns Device instance. 2240 * @param pRtcReg Pointer to a RTC registration structure. 2241 * @param ppRtcHlp Where to store the pointer to the helper functions. 2244 * @param pDevIns Device instance. 2245 * @param pRtcReg Pointer to a RTC registration structure. 2246 * @param ppRtcHlp Where to store the pointer to the helper 2247 * functions. 2242 2248 */ 2243 2249 DECLR3CALLBACKMEMBER(int, pfnRTCRegister,(PPDMDEVINS pDevIns, PCPDMRTCREG pRtcReg, PCPDMRTCHLP *ppRtcHlp)); … … 2267 2273 * 2268 2274 * @returns VBox status code. 2269 * @param pDevIns Device instance. 2270 * @param pCritSect Pointer to the critical section. 2271 * @param pszName The name of the critical section (for statistics). 2275 * @param pDevIns Device instance. 2276 * @param pCritSect Pointer to the critical section. 2277 * @param pszName The name of the critical section (for 2278 * statistics). 2272 2279 */ 2273 2280 DECLR3CALLBACKMEMBER(int, pfnCritSectInit,(PPDMDEVINS pDevIns, PPDMCRITSECT pCritSect, const char *pszName)); … … 2277 2284 * 2278 2285 * @returns pTime. 2279 * @param pDevIns Device instance.2280 * @param pTime Where to store the time.2286 * @param pDevIns Device instance. 2287 * @param pTime Where to store the time. 2281 2288 */ 2282 2289 DECLR3CALLBACKMEMBER(PRTTIMESPEC, pfnUTCNow,(PPDMDEVINS pDevIns, PRTTIMESPEC pTime)); … … 2289 2296 * 2290 2297 * @returns VBox status code. 2291 * @param pDevIns The device instance.2292 * @param ppThread Where to store the thread 'handle'.2293 * @param pvUser The user argument to the thread function.2294 * @param pfnThread The thread function.2295 * @param pfnWakeup The wakup callback. This is called on the EMT thread when2296 * a state change is pending.2297 * @param cbStack See RTThreadCreate.2298 * @param enmType See RTThreadCreate.2299 * @param pszName See RTThreadCreate.2298 * @param pDevIns The device instance. 2299 * @param ppThread Where to store the thread 'handle'. 2300 * @param pvUser The user argument to the thread function. 2301 * @param pfnThread The thread function. 2302 * @param pfnWakeup The wakup callback. This is called on the EMT 2303 * thread when a state change is pending. 2304 * @param cbStack See RTThreadCreate. 2305 * @param enmType See RTThreadCreate. 2306 * @param pszName See RTThreadCreate. 2300 2307 */ 2301 2308 DECLR3CALLBACKMEMBER(int, pfnPDMThreadCreate,(PPDMDEVINS pDevIns, PPPDMTHREAD ppThread, void *pvUser, PFNPDMTHREADDEV pfnThread, … … 2306 2313 * 2307 2314 * @returns VBox status code. 2308 * @param pDevIns Device instance. 2309 * @param GCPtr Guest virtual address. 2310 * @param pGCPhys Where to store the GC physical address corresponding to GCPtr. 2315 * @param pDevIns Device instance. 2316 * @param GCPtr Guest virtual address. 2317 * @param pGCPhys Where to store the GC physical address 2318 * corresponding to GCPtr. 2311 2319 * @thread The emulation thread. 2312 2320 * @remark Careful with page boundraries. … … 2318 2326 * 2319 2327 * @returns VM state. 2320 * @param pDevIns The device instance.2328 * @param pDevIns The device instance. 2321 2329 * @thread Any thread (just keep in mind that it's volatile info). 2322 2330 */ … … 2346 2354 * 2347 2355 * @returns VM Handle. 2348 * @param pDevIns Device instance.2356 * @param pDevIns Device instance. 2349 2357 */ 2350 2358 DECLR3CALLBACKMEMBER(PVM, pfnGetVM,(PPDMDEVINS pDevIns)); … … 2354 2362 * 2355 2363 * @returns VBox status code. 2356 * @param pDevIns Device instance. 2357 * @param pPciBusReg Pointer to PCI bus registration structure. 2358 * @param ppPciHlpR3 Where to store the pointer to the PCI Bus helpers. 2364 * @param pDevIns Device instance. 2365 * @param pPciBusReg Pointer to PCI bus registration structure. 2366 * @param ppPciHlpR3 Where to store the pointer to the PCI Bus 2367 * helpers. 2359 2368 */ 2360 2369 DECLR3CALLBACKMEMBER(int, pfnPCIBusRegister,(PPDMDEVINS pDevIns, PPDMPCIBUSREG pPciBusReg, PCPDMPCIHLPR3 *ppPciHlpR3)); … … 2364 2373 * 2365 2374 * @returns VBox status code. 2366 * @param pDevIns Device instance. 2367 * @param pPicReg Pointer to a PIC registration structure. 2368 * @param ppPicHlpR3 Where to store the pointer to the PIC HC helpers. 2375 * @param pDevIns Device instance. 2376 * @param pPicReg Pointer to a PIC registration structure. 2377 * @param ppPicHlpR3 Where to store the pointer to the PIC HC 2378 * helpers. 2369 2379 */ 2370 2380 DECLR3CALLBACKMEMBER(int, pfnPICRegister,(PPDMDEVINS pDevIns, PPDMPICREG pPicReg, PCPDMPICHLPR3 *ppPicHlpR3)); … … 2374 2384 * 2375 2385 * @returns VBox status code. 2376 * @param pDevIns Device instance.2377 * @param pApicReg Pointer to a APIC registration structure.2378 * @param ppApicHlpR3 Where to store the pointer to the APIC helpers.2386 * @param pDevIns Device instance. 2387 * @param pApicReg Pointer to a APIC registration structure. 2388 * @param ppApicHlpR3 Where to store the pointer to the APIC helpers. 2379 2389 */ 2380 2390 DECLR3CALLBACKMEMBER(int, pfnAPICRegister,(PPDMDEVINS pDevIns, PPDMAPICREG pApicReg, PCPDMAPICHLPR3 *ppApicHlpR3)); … … 2384 2394 * 2385 2395 * @returns VBox status code. 2386 * @param pDevIns Device instance. 2387 * @param pIoApicReg Pointer to a I/O APIC registration structure. 2388 * @param ppIoApicHlpR3 Where to store the pointer to the IOAPIC helpers. 2396 * @param pDevIns Device instance. 2397 * @param pIoApicReg Pointer to a I/O APIC registration structure. 2398 * @param ppIoApicHlpR3 Where to store the pointer to the IOAPIC 2399 * helpers. 2389 2400 */ 2390 2401 DECLR3CALLBACKMEMBER(int, pfnIOAPICRegister,(PPDMDEVINS pDevIns, PPDMIOAPICREG pIoApicReg, PCPDMIOAPICHLPR3 *ppIoApicHlpR3)); … … 2394 2405 * 2395 2406 * @returns VBox status code. 2396 * @param pDevIns Device instance.2397 * @param pDmacReg Pointer to a DMAC registration structure.2398 * @param ppDmacHlp Where to store the pointer to the DMA helpers.2407 * @param pDevIns Device instance. 2408 * @param pDmacReg Pointer to a DMAC registration structure. 2409 * @param ppDmacHlp Where to store the pointer to the DMA helpers. 2399 2410 */ 2400 2411 DECLR3CALLBACKMEMBER(int, pfnDMACRegister,(PPDMDEVINS pDevIns, PPDMDMACREG pDmacReg, PCPDMDMACHLP *ppDmacHlp)); … … 2402 2413 /** 2403 2414 * Read physical memory. 2404 * 2415 * 2405 2416 * @returns VINF_SUCCESS (for now). 2406 * @param pDevIns Device instance.2407 * @param GCPhys Physical address start reading from.2408 * @param pvBuf Where to put the read bits.2409 * @param cbRead How many bytes to read.2417 * @param pDevIns Device instance. 2418 * @param GCPhys Physical address start reading from. 2419 * @param pvBuf Where to put the read bits. 2420 * @param cbRead How many bytes to read. 2410 2421 * @thread Any thread, but the call may involve the emulation thread. 2411 2422 */ … … 2416 2427 * 2417 2428 * @returns VINF_SUCCESS for now, and later maybe VERR_EM_MEMORY. 2418 * @param pDevIns Device instance.2419 * @param GCPhys Physical address to write to.2420 * @param pvBuf What to write.2421 * @param cbWrite How many bytes to write.2429 * @param pDevIns Device instance. 2430 * @param GCPhys Physical address to write to. 2431 * @param pvBuf What to write. 2432 * @param cbWrite How many bytes to write. 2422 2433 * @thread Any thread, but the call may involve the emulation thread. 2423 2434 */ … … 2428 2439 * 2429 2440 * When you're done with the page, call pfnPhysReleasePageMappingLock() ASAP to 2430 * release it. 2431 * 2432 * This API will assume your intention is to write to the page, and will 2433 * therefore replace shared and zero pages. If you do not intend to modify the 2434 * page, use the pfnPhysGCPhys2CCPtrReadOnly() API. 2441 * release it. 2442 * 2443 * This API will assume your intention is to write to the page, and will 2444 * therefore replace shared and zero pages. If you do not intend to modify the 2445 * page, use the pfnPhysGCPhys2CCPtrReadOnly() API. 2435 2446 * 2436 2447 * @returns VBox status code. 2437 2448 * @retval VINF_SUCCESS on success. 2438 * @retval VERR_PGM_PHYS_PAGE_RESERVED it it's a valid page but has no physical 2449 * @retval VERR_PGM_PHYS_PAGE_RESERVED it it's a valid page but has no physical 2439 2450 * backing or if the page has any active access handlers. The caller 2440 2451 * must fall back on using PGMR3PhysWriteExternal. 2441 2452 * @retval VERR_PGM_INVALID_GC_PHYSICAL_ADDRESS if it's not a valid physical address. 2442 2453 * 2443 * @param pVM The VM handle. 2444 * @param GCPhys The guest physical address of the page that should be mapped. 2445 * @param fFlags Flags reserved for future use, MBZ. 2446 * @param ppv Where to store the address corresponding to GCPhys. 2447 * @param pLock Where to store the lock information that 2448 * pfnPhysReleasePageMappingLock needs. 2454 * @param pVM The VM handle. 2455 * @param GCPhys The guest physical address of the page that 2456 * should be mapped. 2457 * @param fFlags Flags reserved for future use, MBZ. 2458 * @param ppv Where to store the address corresponding to 2459 * GCPhys. 2460 * @param pLock Where to store the lock information that 2461 * pfnPhysReleasePageMappingLock needs. 2449 2462 * 2450 2463 * @remark Avoid calling this API from within critical sections (other than the … … 2457 2470 /** 2458 2471 * Requests the mapping of a guest page into ring-3, external threads. 2459 * 2472 * 2460 2473 * When you're done with the page, call pfnPhysReleasePageMappingLock() ASAP to 2461 2474 * release it. … … 2463 2476 * @returns VBox status code. 2464 2477 * @retval VINF_SUCCESS on success. 2465 * @retval VERR_PGM_PHYS_PAGE_RESERVED it it's a valid page but has no physical 2478 * @retval VERR_PGM_PHYS_PAGE_RESERVED it it's a valid page but has no physical 2466 2479 * backing or if the page as an active ALL access handler. The caller 2467 2480 * must fall back on using PGMPhysRead. 2468 2481 * @retval VERR_PGM_INVALID_GC_PHYSICAL_ADDRESS if it's not a valid physical address. 2469 2482 * 2470 * @param pDevIns Device instance. 2471 * @param GCPhys The guest physical address of the page that should be mapped. 2472 * @param fFlags Flags reserved for future use, MBZ. 2473 * @param ppv Where to store the address corresponding to GCPhys. 2474 * @param pLock Where to store the lock information that 2475 * pfnPhysReleasePageMappingLock needs. 2476 * 2477 * @remark Avoid calling this API from within critical sections. 2483 * @param pDevIns Device instance. 2484 * @param GCPhys The guest physical address of the page that 2485 * should be mapped. 2486 * @param fFlags Flags reserved for future use, MBZ. 2487 * @param ppv Where to store the address corresponding to 2488 * GCPhys. 2489 * @param pLock Where to store the lock information that 2490 * pfnPhysReleasePageMappingLock needs. 2491 * 2492 * @remark Avoid calling this API from within critical sections. 2478 2493 * @thread Any. 2479 2494 */ … … 2483 2498 * Release the mapping of a guest page. 2484 2499 * 2485 * This is the counter part of pfnPhysGCPhys2CCPtr and 2486 * pfnPhysGCPhys2CCPtrReadOnly. 2487 * 2488 * @param pDevIns Device instance. 2489 * @param pLock The lock structure initialized by the mapping function. 2500 * This is the counter part of pfnPhysGCPhys2CCPtr and 2501 * pfnPhysGCPhys2CCPtrReadOnly. 2502 * 2503 * @param pDevIns Device instance. 2504 * @param pLock The lock structure initialized by the mapping 2505 * function. 2490 2506 */ 2491 2507 DECLR3CALLBACKMEMBER(void, pfnPhysReleasePageMappingLock,(PPDMDEVINS pDevIns, PPGMPAGEMAPLOCK pLock)); … … 2494 2510 * Read guest physical memory by virtual address. 2495 2511 * 2496 * @param pDevIns Device instance.2497 * @param pvDst Where to put the read bits.2498 * @param GCVirtSrc Guest virtual address to start reading from.2499 * @param cb How many bytes to read.2512 * @param pDevIns Device instance. 2513 * @param pvDst Where to put the read bits. 2514 * @param GCVirtSrc Guest virtual address to start reading from. 2515 * @param cb How many bytes to read. 2500 2516 * @thread The emulation thread. 2501 2517 */ … … 2505 2521 * Write to guest physical memory by virtual address. 2506 2522 * 2507 * @param pDevIns Device instance.2508 * @param GCVirtDst Guest virtual address to write to.2509 * @param pvSrc What to write.2510 * @param cb How many bytes to write.2523 * @param pDevIns Device instance. 2524 * @param GCVirtDst Guest virtual address to write to. 2525 * @param pvSrc What to write. 2526 * @param cb How many bytes to write. 2511 2527 * @thread The emulation thread. 2512 2528 */ … … 2518 2534 * @returns true if A20 is enabled. 2519 2535 * @returns false if A20 is disabled. 2520 * @param pDevIns Device instance.2536 * @param pDevIns Device instance. 2521 2537 * @thread The emulation thread. 2522 2538 */ … … 2526 2542 * Enables or disables the Gate A20. 2527 2543 * 2528 * @param pDevIns Device instance. 2529 * @param fEnable Set this flag to enable the Gate A20; clear it to disable. 2544 * @param pDevIns Device instance. 2545 * @param fEnable Set this flag to enable the Gate A20; clear it 2546 * to disable. 2530 2547 * @thread The emulation thread. 2531 2548 */ … … 2536 2553 * 2537 2554 * @returns The appropriate VBox status code to pass around on reset. 2538 * @param pDevIns Device instance.2555 * @param pDevIns Device instance. 2539 2556 * @thread The emulation thread. 2540 2557 */ … … 2545 2562 * 2546 2563 * @returns The appropriate VBox status code to pass around on suspend. 2547 * @param pDevIns Device instance.2564 * @param pDevIns Device instance. 2548 2565 * @thread The emulation thread. 2549 2566 */ … … 2554 2571 * 2555 2572 * @returns The appropriate VBox status code to pass around on power off. 2556 * @param pDevIns Device instance.2573 * @param pDevIns Device instance. 2557 2574 * @thread The emulation thread. 2558 2575 */ … … 2563 2580 * 2564 2581 * @returns VBox status code 2565 * @param pDevIns Device instance.2582 * @param pDevIns Device instance. 2566 2583 */ 2567 2584 DECLR3CALLBACKMEMBER(int , pfnLockVM,(PPDMDEVINS pDevIns)); … … 2571 2588 * 2572 2589 * @returns VBox status code 2573 * @param pDevIns Device instance.2590 * @param pDevIns Device instance. 2574 2591 */ 2575 2592 DECLR3CALLBACKMEMBER(int, pfnUnlockVM,(PPDMDEVINS pDevIns)); … … 2579 2596 * 2580 2597 * @returns boolean 2581 * @param pDevIns Device instance.2582 * @param pszFile Filename of the assertion location.2583 * @param iLine Linenumber of the assertion location.2584 * @param pszFunction Function of the assertion location.2598 * @param pDevIns Device instance. 2599 * @param pszFile Filename of the assertion location. 2600 * @param iLine Linenumber of the assertion location. 2601 * @param pszFunction Function of the assertion location. 2585 2602 */ 2586 2603 DECLR3CALLBACKMEMBER(bool, pfnAssertVMLock,(PPDMDEVINS pDevIns, const char *pszFile, unsigned iLine, const char *pszFunction)); … … 2602 2619 * 2603 2620 * @returns VBox status code. 2604 * @param pDevIns Device instance. 2605 * @param uChannel Channel number. 2606 * @param pvBuffer Pointer to target buffer. 2607 * @param off DMA position. 2608 * @param cbBlock Block size. 2609 * @param pcbRead Where to store the number of bytes which was read. optional. 2621 * @param pDevIns Device instance. 2622 * @param uChannel Channel number. 2623 * @param pvBuffer Pointer to target buffer. 2624 * @param off DMA position. 2625 * @param cbBlock Block size. 2626 * @param pcbRead Where to store the number of bytes which was 2627 * read. optional. 2610 2628 * @thread EMT 2611 2629 */ … … 2616 2634 * 2617 2635 * @returns VBox status code. 2618 * @param pDevIns Device instance. 2619 * @param uChannel Channel number. 2620 * @param pvBuffer Memory to write. 2621 * @param off DMA position. 2622 * @param cbBlock Block size. 2623 * @param pcbWritten Where to store the number of bytes which was written. optional. 2636 * @param pDevIns Device instance. 2637 * @param uChannel Channel number. 2638 * @param pvBuffer Memory to write. 2639 * @param off DMA position. 2640 * @param cbBlock Block size. 2641 * @param pcbWritten Where to store the number of bytes which was 2642 * written. optional. 2624 2643 * @thread EMT 2625 2644 */ … … 2630 2649 * 2631 2650 * @returns VBox status code. 2632 * @param pDevIns Device instance.2633 * @param uChannel Channel number.2634 * @param uLevel Level of the line.2651 * @param pDevIns Device instance. 2652 * @param uChannel Channel number. 2653 * @param uLevel Level of the line. 2635 2654 * @thread EMT 2636 2655 */ … … 2641 2660 * 2642 2661 * @returns Channel mode. See specs. 2643 * @param pDevIns Device instance.2644 * @param uChannel Channel number.2662 * @param pDevIns Device instance. 2663 * @param uChannel Channel number. 2645 2664 * @thread EMT 2646 2665 */ … … 2650 2669 * Schedule DMA execution. 2651 2670 * 2652 * @param pDevIns Device instance.2671 * @param pDevIns Device instance. 2653 2672 * @thread Any thread. 2654 2673 */ … … 2659 2678 * 2660 2679 * @returns VBox status code. 2661 * @param pDevIns Device instance.2662 * @param iReg The CMOS register index.2663 * @param u8Value The CMOS register value.2680 * @param pDevIns Device instance. 2681 * @param iReg The CMOS register index. 2682 * @param u8Value The CMOS register value. 2664 2683 * @thread EMT 2665 2684 */ … … 2670 2689 * 2671 2690 * @returns VBox status code. 2672 * @param pDevIns Device instance.2673 * @param iReg The CMOS register index.2674 * @param pu8Value Where to store the CMOS register value.2691 * @param pDevIns Device instance. 2692 * @param iReg The CMOS register index. 2693 * @param pu8Value Where to store the CMOS register value. 2675 2694 * @thread EMT 2676 2695 */ … … 2680 2699 * Get CPUID. 2681 2700 * 2682 * @param pDevIns Device instance.2683 * @param iLeaf The CPUID leaf to get.2684 * @param pEax Where to store the EAX value.2685 * @param pEbx Where to store the EBX value.2686 * @param pEcx Where to store the ECX value.2687 * @param pEdx Where to store the EDX value.2701 * @param pDevIns Device instance. 2702 * @param iLeaf The CPUID leaf to get. 2703 * @param pEax Where to store the EAX value. 2704 * @param pEbx Where to store the EBX value. 2705 * @param pEcx Where to store the ECX value. 2706 * @param pEdx Where to store the EDX value. 2688 2707 */ 2689 2708 DECLR3CALLBACKMEMBER(void, pfnGetCpuId,(PPDMDEVINS pDevIns, uint32_t iLeaf, uint32_t *pEax, uint32_t *pEbx, uint32_t *pEcx, uint32_t *pEdx)); … … 2695 2714 * change the protection of shadowed ROM code after init and on reset. 2696 2715 * 2697 * @param pDevIns Device instance.2698 * @param GCPhysStart Where the mapping starts.2699 * @param cbRange The size of the mapping.2700 * @param enmProt The new protection type.2716 * @param pDevIns Device instance. 2717 * @param GCPhysStart Where the mapping starts. 2718 * @param cbRange The size of the mapping. 2719 * @param enmProt The new protection type. 2701 2720 */ 2702 2721 DECLR3CALLBACKMEMBER(int, pfnROMProtectShadow,(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTUINT cbRange, PGMROMPROT enmProt)); … … 2710 2729 * 2711 2730 * @returns VBox status. 2712 * @param pDevIns The device instance. 2713 * @param iRegion The region number. Use the PCI region number as 2714 * this must be known to the PCI bus device too. If it's not associated 2715 * with the PCI device, then any number up to UINT8_MAX is fine. 2716 * @param cb The size (in bytes) of the region. 2717 * @param fFlags Reserved for future use, must be zero. 2718 * @param ppv Where to store the address of the ring-3 mapping of the memory. 2719 * @param pszDesc Pointer to description string. This must not be freed. 2731 * @param pDevIns The device instance. 2732 * @param iRegion The region number. Use the PCI region number as 2733 * this must be known to the PCI bus device too. If 2734 * it's not associated with the PCI device, then 2735 * any number up to UINT8_MAX is fine. 2736 * @param cb The size (in bytes) of the region. 2737 * @param fFlags Reserved for future use, must be zero. 2738 * @param ppv Where to store the address of the ring-3 mapping 2739 * of the memory. 2740 * @param pszDesc Pointer to description string. This must not be 2741 * freed. 2720 2742 * @thread EMT. 2721 2743 */ … … 2729 2751 * 2730 2752 * @returns VBox status code. 2731 * @param pDevIns The device instance.2732 * @param iRegion The region number used during registration.2753 * @param pDevIns The device instance. 2754 * @param iRegion The region number used during registration. 2733 2755 * @thread EMT. 2734 2756 */ … … 2746 2768 * 2747 2769 * @returns VBox status code. 2748 * @param pDevIns The device instance.2749 * @param iRegion The region number used during registration.2750 * @param GCPhys The physical address to map it at.2770 * @param pDevIns The device instance. 2771 * @param iRegion The region number used during registration. 2772 * @param GCPhys The physical address to map it at. 2751 2773 * @thread EMT. 2752 2774 */ … … 2757 2779 * 2758 2780 * @returns VBox status code. 2759 * @param pDevIns The device instance.2760 * @param iRegion The region number used during registration.2761 * @param GCPhys The physical address it's currently mapped at.2781 * @param pDevIns The device instance. 2782 * @param iRegion The region number used during registration. 2783 * @param GCPhys The physical address it's currently mapped at. 2762 2784 * @thread EMT. 2763 2785 */ … … 2771 2793 * 2772 2794 * @return VBox status code. 2773 * @param pDevIns The device owning the MMIO2 memory. 2774 * @param iRegion The region. 2775 * @param off The offset into the region. Will be rounded down to closest page boundrary. 2776 * @param cb The number of bytes to map. Will be rounded up to the closest page boundrary. 2777 * @param pszDesc Mapping description. 2778 * @param pRCPtr Where to store the RC address. 2795 * @param pDevIns The device owning the MMIO2 memory. 2796 * @param iRegion The region. 2797 * @param off The offset into the region. Will be rounded down 2798 * to closest page boundrary. 2799 * @param cb The number of bytes to map. Will be rounded up 2800 * to the closest page boundrary. 2801 * @param pszDesc Mapping description. 2802 * @param pRCPtr Where to store the RC address. 2779 2803 */ 2780 2804 DECLR3CALLBACKMEMBER(int, pfnMMHyperMapMMIO2,(PPDMDEVINS pDevIns, uint32_t iRegion, RTGCPHYS off, RTGCPHYS cb, … … 2788 2812 * 2789 2813 * @return VBox status code. 2790 * @param pDevIns The device owning the MMIO2 memory. 2791 * @param iRegion The region. 2792 * @param off The offset into the region. Must be page aligned. 2793 * @param cb The number of bytes to map. Must be page aligned. 2794 * @param pszDesc Mapping description. 2795 * @param pR0Ptr Where to store the R0 address. 2814 * @param pDevIns The device owning the MMIO2 memory. 2815 * @param iRegion The region. 2816 * @param off The offset into the region. Must be page 2817 * aligned. 2818 * @param cb The number of bytes to map. Must be page 2819 * aligned. 2820 * @param pszDesc Mapping description. 2821 * @param pR0Ptr Where to store the R0 address. 2796 2822 */ 2797 2823 DECLR3CALLBACKMEMBER(int, pfnMMIO2MapKernel,(PPDMDEVINS pDevIns, uint32_t iRegion, RTGCPHYS off, RTGCPHYS cb, … … 2802 2828 * 2803 2829 * @returns VBox status code. 2804 * @param pDevIns The device instance.2805 * @param GCPhys The physical address.2806 * @param pvHeap Ring 3 heap pointer.2807 * @param cbSize Size of the heap.2830 * @param pDevIns The device instance. 2831 * @param GCPhys The physical address. 2832 * @param pvHeap Ring 3 heap pointer. 2833 * @param cbSize Size of the heap. 2808 2834 * @thread EMT. 2809 2835 */ … … 2814 2840 * 2815 2841 * @returns VBox status code. 2816 * @param pDevIns The device instance.2817 * @param GCPhys The physical address.2842 * @param pDevIns The device instance. 2843 * @param GCPhys The physical address. 2818 2844 * @thread EMT. 2819 2845 */ … … 3329 3355 * @copydoc PDMDEVHLPR3::pfnROMRegister 3330 3356 */ 3331 DECLINLINE(int) PDMDevHlpROMRegister(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTUINT cbRange, const void *pvBinary, bool fShadow, const char *pszDesc)3332 { 3333 return pDevIns->pDevHlpR3->pfnROMRegister(pDevIns, GCPhysStart, cbRange, pvBinary, f Shadow, pszDesc);3357 DECLINLINE(int) PDMDevHlpROMRegister(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTUINT cbRange, const void *pvBinary, uint32_t fFlags, const char *pszDesc) 3358 { 3359 return pDevIns->pDevHlpR3->pfnROMRegister(pDevIns, GCPhysStart, cbRange, pvBinary, fFlags, pszDesc); 3334 3360 } 3335 3361 /** -
trunk/include/VBox/pgm.h
r18101 r18143 496 496 * @{ */ 497 497 /** Inidicates that ROM shadowing should be enabled. */ 498 #define PGMPHYS_ROM_FLAG _SHADOWEDRT_BIT_32(0)498 #define PGMPHYS_ROM_FLAGS_SHADOWED RT_BIT_32(0) 499 499 /** Indicates that what pvBinary points to won't go away 500 500 * and can be used for strictness checks. */ 501 #define PGMPHYS_ROM_FLAG _PERMANENT_BINARYRT_BIT_32(1)501 #define PGMPHYS_ROM_FLAGS_PERMANENT_BINARY RT_BIT_32(1) 502 502 /** @} */ 503 503
Note:
See TracChangeset
for help on using the changeset viewer.