VirtualBox

Changeset 2504 in vbox for trunk/include


Ignore:
Timestamp:
May 4, 2007 6:12:30 PM (18 years ago)
Author:
vboxsync
Message:

Documented port I/O status code and fixed places where we didn't handle them correctly. (part 1)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/iom.h

    r2268 r2504  
    262262 * Reads an I/O port register.
    263263 *
    264  * @returns VBox status code.
     264 * @returns Strict VBox status code. Informational status codes other than the one documented
     265 *          here are to be treated as internal failure.
     266 * @retval  VINF_SUCCESS                Success.
     267 * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success but schedulinging information needs to be passed onto EM.
     268 * @retval  VINF_IOM_HC_IOPORT_READ     Defer the read to ring-3. (R0/GC only)
    265269 *
    266270 * @param   pVM         VM handle.
     
    274278 * Writes to an I/O port register.
    275279 *
    276  * @returns VBox status code.
     280 * @returns Strict VBox status code. Informational status codes other than the one documented
     281 *          here are to be treated as internal failure.
     282 * @retval  VINF_SUCCESS                Success.
     283 * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success but schedulinging information needs to be passed onto EM.
     284 * @retval  VINF_IOM_HC_IOPORT_WRITE    Defer the write to ring-3. (R0/GC only)
    277285 *
    278286 * @param   pVM         VM handle.
     
    286294 * OUT <DX|imm16>, <AL|AX|EAX>
    287295 *
    288  * @returns VBox status code.
     296 * @returns Strict VBox status code. Informational status codes other than the one documented
     297 *          here are to be treated as internal failure.
     298 * @retval  VINF_SUCCESS                Success.
     299 * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success but schedulinging information needs to be passed onto EM.
     300 * @retval  VINF_IOM_HC_IOPORT_WRITE    Defer the write to ring-3. (R0/GC only)
     301 * @retval  VINF_EM_RAW_GUEST_TRAP      The exception was left pending. (TRPMRaiseXcptErr)
     302 * @retval  VINF_TRPM_XCPT_DISPATCHED   The exception was raised and dispatched for raw-mode execution. (TRPMRaiseXcptErr)
     303 * @retval  VINF_EM_RESCHEDULE_REM      The exception was dispatched and cannot be executed in raw-mode. (TRPMRaiseXcptErr)
    289304 *
    290305 * @param   pVM         The virtual machine (GC pointer ofcourse).
     
    297312 * IN <AL|AX|EAX>, <DX|imm16>
    298313 *
    299  * @returns VBox status code.
     314 * @returns Strict VBox status code. Informational status codes other than the one documented
     315 *          here are to be treated as internal failure.
     316 * @retval  VINF_SUCCESS                Success.
     317 * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success but schedulinging information needs to be passed onto EM.
     318 * @retval  VINF_IOM_HC_IOPORT_READ     Defer the read to ring-3. (R0/GC only)
     319 * @retval  VINF_EM_RAW_GUEST_TRAP      The exception was left pending. (TRPMRaiseXcptErr)
     320 * @retval  VINF_TRPM_XCPT_DISPATCHED   The exception was raised and dispatched for raw-mode execution. (TRPMRaiseXcptErr)
     321 * @retval  VINF_EM_RESCHEDULE_REM      The exception was dispatched and cannot be executed in raw-mode. (TRPMRaiseXcptErr)
    300322 *
    301323 * @param   pVM         The virtual machine (GC pointer ofcourse).
     
    309331 * Reads the string buffer of an I/O port register.
    310332 *
    311  * @returns VBox status code.
     333 * @returns Strict VBox status code. Informational status codes other than the one documented
     334 *          here are to be treated as internal failure.
     335 * @retval  VINF_SUCCESS                Success.
     336 * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success but schedulinging information needs to be passed onto EM.
     337 * @retval  VINF_IOM_HC_IOPORT_READ     Defer the read to ring-3. (R0/GC only)
    312338 *
    313339 * @param   pVM         VM handle.
     
    322348 * Writes the string buffer of an I/O port register.
    323349 *
    324  * @returns VBox status code.
    325  *
     350 * @returns Strict VBox status code. Informational status codes other than the one documented
     351 *          here are to be treated as internal failure.
     352 * @retval  VINF_SUCCESS                Success.
     353 * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success but schedulinging information needs to be passed onto EM.
     354 * @retval  VINF_IOM_HC_IOPORT_WRITE    Defer the write to ring-3. (R0/GC only)
     355 *
    326356 * @param   pVM         VM handle.
    327357 * @param   Port        The port to write.
     
    336366 * ES:EDI,DX[,ECX]
    337367 *
    338  * @returns VBox status code.
     368 * @returns Strict VBox status code. Informational status codes other than the one documented
     369 *          here are to be treated as internal failure.
     370 * @retval  VINF_SUCCESS                Success.
     371 * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success but schedulinging information needs to be passed onto EM.
     372 * @retval  VINF_IOM_HC_IOPORT_READ     Defer the read to ring-3. (R0/GC only)
     373 * @retval  VINF_EM_RAW_GUEST_TRAP      The exception was left pending. (TRPMRaiseXcptErr)
     374 * @retval  VINF_TRPM_XCPT_DISPATCHED   The exception was raised and dispatched for raw-mode execution. (TRPMRaiseXcptErr)
     375 * @retval  VINF_EM_RESCHEDULE_REM      The exception was dispatched and cannot be executed in raw-mode. (TRPMRaiseXcptErr)
    339376 *
    340377 * @param   pVM         The virtual machine (GC pointer ofcourse).
     
    348385 * ES:EDI,DX[,ECX]
    349386 *
    350  * @note Assumes caller checked the access privileges (IOMInterpretCheckPortIOAccess)
    351  *
    352  * @returns VBox status code.
     387 * @remark Assumes caller checked the access privileges (IOMInterpretCheckPortIOAccess)
     388 *
     389 * @returns Strict VBox status code. Informational status codes other than the one documented
     390 *          here are to be treated as internal failure.
     391 * @retval  VINF_SUCCESS                Success.
     392 * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success but schedulinging information needs to be passed onto EM.
     393 * @retval  VINF_IOM_HC_IOPORT_READ     Defer the read to ring-3. (R0/GC only)
     394 * @retval  VINF_EM_RAW_GUEST_TRAP      The exception was left pending. (TRPMRaiseXcptErr)
     395 * @retval  VINF_TRPM_XCPT_DISPATCHED   The exception was raised and dispatched for raw-mode execution. (TRPMRaiseXcptErr)
     396 * @retval  VINF_EM_RESCHEDULE_REM      The exception was dispatched and cannot be executed in raw-mode. (TRPMRaiseXcptErr)
    353397 *
    354398 * @param   pVM             The virtual machine (GC pointer ofcourse).
     
    364408 * DS:ESI,DX[,ECX]
    365409 *
    366  * @returns VBox status code.
     410 * @returns Strict VBox status code. Informational status codes other than the one documented
     411 *          here are to be treated as internal failure.
     412 * @retval  VINF_SUCCESS                Success.
     413 * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success but schedulinging information needs to be passed onto EM.
     414 * @retval  VINF_IOM_HC_IOPORT_WRITE    Defer the write to ring-3. (R0/GC only)
     415 * @retval  VINF_EM_RAW_GUEST_TRAP      The exception was left pending. (TRPMRaiseXcptErr)
     416 * @retval  VINF_TRPM_XCPT_DISPATCHED   The exception was raised and dispatched for raw-mode execution. (TRPMRaiseXcptErr)
     417 * @retval  VINF_EM_RESCHEDULE_REM      The exception was dispatched and cannot be executed in raw-mode. (TRPMRaiseXcptErr)
    367418 *
    368419 * @param   pVM         The virtual machine (GC pointer ofcourse).
     
    376427 * DS:ESI,DX[,ECX]
    377428 *
    378  * @note Assumes caller checked the access privileges (IOMInterpretCheckPortIOAccess)
    379  *
    380  * @returns VBox status code.
     429 * @remark  Assumes caller checked the access privileges (IOMInterpretCheckPortIOAccess)
     430 *
     431 * @returns Strict VBox status code. Informational status codes other than the one documented
     432 *          here are to be treated as internal failure.
     433 * @retval  VINF_SUCCESS                Success.
     434 * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success but schedulinging information needs to be passed onto EM.
     435 * @retval  VINF_IOM_HC_IOPORT_WRITE    Defer the write to ring-3. (R0/GC only)
     436 * @retval  VINF_EM_RAW_GUEST_TRAP      The exception was left pending. (TRPMRaiseXcptErr)
     437 * @retval  VINF_TRPM_XCPT_DISPATCHED   The exception was raised and dispatched for raw-mode execution. (TRPMRaiseXcptErr)
     438 * @retval  VINF_EM_RESCHEDULE_REM      The exception was dispatched and cannot be executed in raw-mode. (TRPMRaiseXcptErr)
    381439 *
    382440 * @param   pVM             The virtual machine (GC pointer ofcourse).
     
    424482 * level and I/O bitmap.
    425483 *
    426  * @returns VBox status code.
    427  *          If not VINF_SUCCESS a \#GP(0) was raised or an error occured.
     484 * @returns Strict VBox status code. Informational status codes other than the one documented
     485 *          here are to be treated as internal failure.
     486 * @retval  VINF_SUCCESS                Success.
     487 * @retval  VINF_EM_RAW_GUEST_TRAP      The exception was left pending. (TRPMRaiseXcptErr)
     488 * @retval  VINF_TRPM_XCPT_DISPATCHED   The exception was raised and dispatched for raw-mode execution. (TRPMRaiseXcptErr)
     489 * @retval  VINF_EM_RESCHEDULE_REM      The exception was dispatched and cannot be executed in raw-mode. (TRPMRaiseXcptErr)
    428490 *
    429491 * @param   pVM         VM handle.
     
    445507 *
    446508 * The \#GP trap handler in GC will call this function if the opcode causing the
    447  * trap is a in or out type instruction.
    448  *
    449  * @returns VBox status code.
     509 * trap is a in or out type instruction. (Call it indirectly via EM that is.)
     510 *
     511 * @returns Strict VBox status code. Informational status codes other than the one documented
     512 *          here are to be treated as internal failure.
     513 * @retval  VINF_SUCCESS                Success.
     514 * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success but schedulinging information needs to be passed onto EM.
     515 * @retval  VINF_IOM_HC_IOPORT_READ     Defer the read to ring-3. (R0/GC only)
     516 * @retval  VINF_EM_RAW_GUEST_TRAP      The exception was left pending. (TRPMRaiseXcptErr)
     517 * @retval  VINF_TRPM_XCPT_DISPATCHED   The exception was raised and dispatched for raw-mode execution. (TRPMRaiseXcptErr)
     518 * @retval  VINF_EM_RESCHEDULE_REM      The exception was dispatched and cannot be executed in raw-mode. (TRPMRaiseXcptErr)
    450519 *
    451520 * @param   pVM         The virtual machine (GC pointer ofcourse).
Note: See TracChangeset for help on using the changeset viewer.

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