Changeset 17136 in vbox
- Timestamp:
- Feb 25, 2009 4:10:32 PM (16 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/types.h
r12632 r17136 446 446 447 447 /** 448 * Task Segment 448 * 32-bit Task Segment used in raw mode. 449 * @todo Move this to SELM! Use X86TSS32 instead. 449 450 */ 450 451 #pragma pack(1) 451 452 typedef struct VBOXTSS 452 453 { 453 /** Back link to previous task. (static) */454 /** 0x00 - Back link to previous task. (static) */ 454 455 RTSEL selPrev; 455 456 uint16_t padding1; 456 /** Ring-0 stack pointer. (static) */457 /** 0x04 - Ring-0 stack pointer. (static) */ 457 458 uint32_t esp0; 458 /** Ring-0 stack segment. (static) */459 /** 0x08 - Ring-0 stack segment. (static) */ 459 460 RTSEL ss0; 460 461 uint16_t padding_ss0; 461 /** Ring-1 stack pointer. (static) */462 /** 0x0c - Ring-1 stack pointer. (static) */ 462 463 uint32_t esp1; 463 /** Ring-1 stack segment. (static) */464 /** 0x10 - Ring-1 stack segment. (static) */ 464 465 RTSEL ss1; 465 466 uint16_t padding_ss1; 466 /** Ring-2 stack pointer. (static) */467 /** 0x14 - Ring-2 stack pointer. (static) */ 467 468 uint32_t esp2; 468 /** Ring-2 stack segment. (static) */469 /** 0x18 - Ring-2 stack segment. (static) */ 469 470 RTSEL ss2; 470 471 uint16_t padding_ss2; 471 /** Page directory for the task. (static) */472 /** 0x1c - Page directory for the task. (static) */ 472 473 uint32_t cr3; 473 /** EIP before task switch. */474 /** 0x20 - EIP before task switch. */ 474 475 uint32_t eip; 475 /** EFLAGS before task switch. */476 /** 0x24 - EFLAGS before task switch. */ 476 477 uint32_t eflags; 477 /** EAX before task switch. */478 /** 0x28 - EAX before task switch. */ 478 479 uint32_t eax; 479 /** ECX before task switch. */480 /** 0x2c - ECX before task switch. */ 480 481 uint32_t ecx; 481 /** EDX before task switch. */482 /** 0x30 - EDX before task switch. */ 482 483 uint32_t edx; 483 /** EBX before task switch. */484 /** 0x34 - EBX before task switch. */ 484 485 uint32_t ebx; 485 /** ESP before task switch. */486 /** 0x38 - ESP before task switch. */ 486 487 uint32_t esp; 487 /** EBP before task switch. */488 /** 0x3c - EBP before task switch. */ 488 489 uint32_t ebp; 489 /** ESI before task switch. */490 /** 0x40 - ESI before task switch. */ 490 491 uint32_t esi; 491 /** EDI before task switch. */492 /** 0x44 - EDI before task switch. */ 492 493 uint32_t edi; 493 /** ES before task switch. */494 /** 0x48 - ES before task switch. */ 494 495 RTSEL es; 495 496 uint16_t padding_es; 496 /** CS before task switch. */497 /** 0x4c - CS before task switch. */ 497 498 RTSEL cs; 498 499 uint16_t padding_cs; 499 /** SS before task switch. */500 /** 0x50 - SS before task switch. */ 500 501 RTSEL ss; 501 502 uint16_t padding_ss; 502 /** DS before task switch. */503 /** 0x54 - DS before task switch. */ 503 504 RTSEL ds; 504 505 uint16_t padding_ds; 505 /** FS before task switch. */506 /** 0x58 - FS before task switch. */ 506 507 RTSEL fs; 507 508 uint16_t padding_fs; 508 /** GS before task switch. */509 /** 0x5c - GS before task switch. */ 509 510 RTSEL gs; 510 511 uint16_t padding_gs; 511 /** LDTR before task switch. */512 /** 0x60 - LDTR before task switch. */ 512 513 RTSEL selLdt; 513 514 uint16_t padding_ldt; 514 /** Debug trap flag */515 /** 0x64 - Debug trap flag */ 515 516 uint16_t fDebugTrap; 516 /** Offset relative to the TSS of the start of the I/O Bitmap517 /** 0x66 - Offset relative to the TSS of the start of the I/O Bitmap 517 518 * and the end of the interrupt redirection bitmap. */ 518 519 uint16_t offIoBitmap; 519 /** 32 bytes for the virtual interrupt redirection bitmap. (VME) */520 /** 0x68 - 32 bytes for the virtual interrupt redirection bitmap. (VME) */ 520 521 uint8_t IntRedirBitmap[32]; 521 522 } VBOXTSS; -
trunk/src/VBox/VMM/VMMAll/IOMAll.cpp
r14075 r17136 736 736 737 737 if ( !fCanHaveIOBitmap 738 || cbTss <= sizeof(VBOXTSS)) 738 || cbTss <= sizeof(VBOXTSS)) /** @todo r=bird: Should this really include the interrupt redirection bitmap? */ 739 739 { 740 740 Log(("iomInterpretCheckPortIOAccess: Port=%RTiop cb=%d cbTss=%#x fCanHaveIOBitmap=%RTbool -> #GP(0)\n",
Note:
See TracChangeset
for help on using the changeset viewer.