Changeset 13755 in vbox for trunk/src/VBox/VMM/VMReq.cpp
- Timestamp:
- Nov 3, 2008 3:49:06 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMReq.cpp
r12989 r13755 61 61 * 62 62 * @param pVM The VM handle. 63 * @param enmDest Destination of the request packet (global or per VCPU). 63 64 * @param ppReq Where to store the pointer to the request. 64 65 * This will be NULL or a valid request pointer not matter what happends. … … 71 72 * @param ... Function arguments. 72 73 */ 73 VMMR3DECL(int) VMR3ReqCall(PVM pVM, PVMREQ *ppReq, unsigned cMillies, PFNRT pfnFunction, unsigned cArgs, ...)74 VMMR3DECL(int) VMR3ReqCall(PVM pVM, VMREQDEST enmDest, PVMREQ *ppReq, unsigned cMillies, PFNRT pfnFunction, unsigned cArgs, ...) 74 75 { 75 76 va_list va; 76 77 va_start(va, cArgs); 77 int rc = VMR3ReqCallVU(pVM->pUVM, ppReq, cMillies, VMREQFLAGS_VBOX_STATUS, pfnFunction, cArgs, va);78 int rc = VMR3ReqCallVU(pVM->pUVM, enmDest, ppReq, cMillies, VMREQFLAGS_VBOX_STATUS, pfnFunction, cArgs, va); 78 79 va_end(va); 79 80 return rc; … … 94 95 * 95 96 * @param pUVM Pointer to the user mode VM structure. 97 * @param enmDest Destination of the request packet (global or per VCPU). 96 98 * @param ppReq Where to store the pointer to the request. 97 99 * This will be NULL or a valid request pointer not matter what happends. … … 104 106 * @param ... Function arguments. 105 107 */ 106 VMMR3DECL(int) VMR3ReqCallVoidU(PUVM pUVM, PVMREQ *ppReq, unsigned cMillies, PFNRT pfnFunction, unsigned cArgs, ...)108 VMMR3DECL(int) VMR3ReqCallVoidU(PUVM pUVM, VMREQDEST enmDest, PVMREQ *ppReq, unsigned cMillies, PFNRT pfnFunction, unsigned cArgs, ...) 107 109 { 108 110 va_list va; 109 111 va_start(va, cArgs); 110 int rc = VMR3ReqCallVU(pUVM, ppReq, cMillies, VMREQFLAGS_VOID, pfnFunction, cArgs, va);112 int rc = VMR3ReqCallVU(pUVM, enmDest, ppReq, cMillies, VMREQFLAGS_VOID, pfnFunction, cArgs, va); 111 113 va_end(va); 112 114 return rc; … … 127 129 * 128 130 * @param pVM The VM handle. 131 * @param enmDest Destination of the request packet (global or per VCPU). 129 132 * @param ppReq Where to store the pointer to the request. 130 133 * This will be NULL or a valid request pointer not matter what happends. … … 137 140 * @param ... Function arguments. 138 141 */ 139 VMMR3DECL(int) VMR3ReqCallVoid(PVM pVM, PVMREQ *ppReq, unsigned cMillies, PFNRT pfnFunction, unsigned cArgs, ...)142 VMMR3DECL(int) VMR3ReqCallVoid(PVM pVM, VMREQDEST enmDest, PVMREQ *ppReq, unsigned cMillies, PFNRT pfnFunction, unsigned cArgs, ...) 140 143 { 141 144 va_list va; 142 145 va_start(va, cArgs); 143 int rc = VMR3ReqCallVU(pVM->pUVM, ppReq, cMillies, VMREQFLAGS_VOID, pfnFunction, cArgs, va);146 int rc = VMR3ReqCallVU(pVM->pUVM, enmDest, ppReq, cMillies, VMREQFLAGS_VOID, pfnFunction, cArgs, va); 144 147 va_end(va); 145 148 return rc; … … 160 163 * 161 164 * @param pVM The VM handle. 165 * @param enmDest Destination of the request packet (global or per VCPU). 162 166 * @param ppReq Where to store the pointer to the request. 163 167 * This will be NULL or a valid request pointer not matter what happends, unless fFlags … … 172 176 * @param ... Function arguments. 173 177 */ 174 VMMR3DECL(int) VMR3ReqCallEx(PVM pVM, PVMREQ *ppReq, unsigned cMillies, unsigned fFlags, PFNRT pfnFunction, unsigned cArgs, ...)178 VMMR3DECL(int) VMR3ReqCallEx(PVM pVM, VMREQDEST enmDest, PVMREQ *ppReq, unsigned cMillies, unsigned fFlags, PFNRT pfnFunction, unsigned cArgs, ...) 175 179 { 176 180 va_list va; 177 181 va_start(va, cArgs); 178 int rc = VMR3ReqCallVU(pVM->pUVM, ppReq, cMillies, fFlags, pfnFunction, cArgs, va);182 int rc = VMR3ReqCallVU(pVM->pUVM, enmDest, ppReq, cMillies, fFlags, pfnFunction, cArgs, va); 179 183 va_end(va); 180 184 return rc; … … 195 199 * 196 200 * @param pUVM Pointer to the user mode VM structure. 201 * @param enmDest Destination of the request packet (global or per VCPU). 197 202 * @param ppReq Where to store the pointer to the request. 198 203 * This will be NULL or a valid request pointer not matter what happends, unless fFlags … … 207 212 * @param ... Function arguments. 208 213 */ 209 VMMR3DECL(int) VMR3ReqCallU(PUVM pUVM, PVMREQ *ppReq, unsigned cMillies, unsigned fFlags, PFNRT pfnFunction, unsigned cArgs, ...)214 VMMR3DECL(int) VMR3ReqCallU(PUVM pUVM, VMREQDEST enmDest, PVMREQ *ppReq, unsigned cMillies, unsigned fFlags, PFNRT pfnFunction, unsigned cArgs, ...) 210 215 { 211 216 va_list va; 212 217 va_start(va, cArgs); 213 int rc = VMR3ReqCallVU(pUVM, ppReq, cMillies, fFlags, pfnFunction, cArgs, va);218 int rc = VMR3ReqCallVU(pUVM, enmDest, ppReq, cMillies, fFlags, pfnFunction, cArgs, va); 214 219 va_end(va); 215 220 return rc; … … 230 235 * 231 236 * @param pUVM Pointer to the user mode VM structure. 237 * @param enmDest Destination of the request packet (global or per VCPU). 232 238 * @param ppReq Where to store the pointer to the request. 233 239 * This will be NULL or a valid request pointer not matter what happends, unless fFlags … … 242 248 * @param Args Argument vector. 243 249 */ 244 VMMR3DECL(int) VMR3ReqCallVU(PUVM pUVM, PVMREQ *ppReq, unsigned cMillies, unsigned fFlags, PFNRT pfnFunction, unsigned cArgs, va_list Args)250 VMMR3DECL(int) VMR3ReqCallVU(PUVM pUVM, VMREQDEST enmDest, PVMREQ *ppReq, unsigned cMillies, unsigned fFlags, PFNRT pfnFunction, unsigned cArgs, va_list Args) 245 251 { 246 252 LogFlow(("VMR3ReqCallV: cMillies=%d fFlags=%#x pfnFunction=%p cArgs=%d\n", cMillies, fFlags, pfnFunction, cArgs)); … … 265 271 * Allocate request 266 272 */ 267 int rc = VMR3ReqAllocU(pUVM, &pReq, VMREQTYPE_INTERNAL );273 int rc = VMR3ReqAllocU(pUVM, &pReq, VMREQTYPE_INTERNAL, enmDest); 268 274 if (VBOX_FAILURE(rc)) 269 275 return rc; … … 364 370 * @param ppReq Where to store the pointer to the allocated packet. 365 371 * @param enmType Package type. 366 */ 367 VMMR3DECL(int) VMR3ReqAlloc(PVM pVM, PVMREQ *ppReq, VMREQTYPE enmType) 368 { 369 return VMR3ReqAllocU(pVM->pUVM, ppReq, enmType); 372 * @param enmDest Destination of the request packet (global or per VCPU). 373 */ 374 VMMR3DECL(int) VMR3ReqAlloc(PVM pVM, PVMREQ *ppReq, VMREQTYPE enmType, VMREQDEST enmDest) 375 { 376 return VMR3ReqAllocU(pVM->pUVM, ppReq, enmType, enmDest); 370 377 } 371 378 … … 382 389 * @param ppReq Where to store the pointer to the allocated packet. 383 390 * @param enmType Package type. 384 */ 385 VMMR3DECL(int) VMR3ReqAllocU(PUVM pUVM, PVMREQ *ppReq, VMREQTYPE enmType) 391 * @param enmDest Destination of the request packet (global or per VCPU). 392 */ 393 VMMR3DECL(int) VMR3ReqAllocU(PUVM pUVM, PVMREQ *ppReq, VMREQTYPE enmType, VMREQDEST enmDest) 386 394 { 387 395 /* … … 463 471 pReq->fFlags = VMREQFLAGS_VBOX_STATUS; 464 472 pReq->enmType = enmType; 473 pReq->enmDest = enmDest; 465 474 466 475 *ppReq = pReq; … … 499 508 pReq->fFlags = VMREQFLAGS_VBOX_STATUS; 500 509 pReq->enmType = enmType; 510 pReq->enmDest = enmDest; 501 511 502 512 *ppReq = pReq;
Note:
See TracChangeset
for help on using the changeset viewer.