- Timestamp:
- Apr 16, 2007 4:01:54 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/CPUM.cpp
r2094 r2107 458 458 pVM->cpum.s.fUseFlags = fUseFlags; 459 459 460 pCtx->cr0 = X86_CR0_CD | X86_CR0_NW | X86_CR0_ET; //0x60000010 461 pCtx->eip = 0x0000fff0; 462 pCtx->edx = 0x00000600; /* P6 processor */ 463 pCtx->eflags.Bits.u1Reserved0 = 1; 464 465 pCtx->cs = 0xf000; 466 pCtx->csHid.u32Base = 0xffff0000; 467 pCtx->csHid.u32Limit = 0x0000ffff; 468 pCtx->dsHid.u32Limit = 0x0000ffff; 469 pCtx->esHid.u32Limit = 0x0000ffff; 470 pCtx->fsHid.u32Limit = 0x0000ffff; 471 pCtx->gsHid.u32Limit = 0x0000ffff; 472 pCtx->ssHid.u32Limit = 0x0000ffff; 473 pCtx->idtr.cbIdt = 0xffff; 474 pCtx->gdtr.cbGdt = 0xffff; 475 pCtx->ldtrHid.u32Limit = 0xffff; 476 pCtx->ldtrHid.Attr.u = X86_DESC_P; 477 pCtx->trHid.u32Limit = 0xffff; 478 pCtx->trHid.Attr.u = X86_DESC_P; 479 480 pCtx->fpu.FTW = 0xff; /* All tags are set, i.e. the regs are empty. */ 481 pCtx->fpu.FCW = 0x37f; 460 pCtx->cr0 = X86_CR0_CD | X86_CR0_NW | X86_CR0_ET; //0x60000010 461 pCtx->eip = 0x0000fff0; 462 pCtx->edx = 0x00000600; /* P6 processor */ 463 pCtx->eflags.Bits.u1Reserved0 = 1; 464 465 pCtx->cs = 0xf000; 466 pCtx->csHid.u32Base = 0xffff0000; 467 pCtx->csHid.u32Limit = 0x0000ffff; 468 pCtx->csHid.Attr.n.u1DescType = 1; /* code/data segment */ 469 pCtx->csHid.Attr.n.u1Present = 1; 470 pCtx->csHid.Attr.n.u4Type = X86_SEL_TYPE_READ | X86_SEL_TYPE_CODE; 471 472 pCtx->dsHid.u32Limit = 0x0000ffff; 473 pCtx->dsHid.Attr.n.u1DescType = 1; /* code/data segment */ 474 pCtx->dsHid.Attr.n.u1Present = 1; 475 pCtx->dsHid.Attr.n.u4Type = X86_SEL_TYPE_RW; 476 477 pCtx->esHid.u32Limit = 0x0000ffff; 478 pCtx->esHid.Attr.n.u1DescType = 1; /* code/data segment */ 479 pCtx->esHid.Attr.n.u1Present = 1; 480 pCtx->esHid.Attr.n.u4Type = X86_SEL_TYPE_RW; 481 482 pCtx->fsHid.u32Limit = 0x0000ffff; 483 pCtx->fsHid.Attr.n.u1DescType = 1; /* code/data segment */ 484 pCtx->fsHid.Attr.n.u1Present = 1; 485 pCtx->fsHid.Attr.n.u4Type = X86_SEL_TYPE_RW; 486 487 pCtx->gsHid.u32Limit = 0x0000ffff; 488 pCtx->gsHid.Attr.n.u1DescType = 1; /* code/data segment */ 489 pCtx->gsHid.Attr.n.u1Present = 1; 490 pCtx->gsHid.Attr.n.u4Type = X86_SEL_TYPE_RW; 491 492 pCtx->ssHid.u32Limit = 0x0000ffff; 493 pCtx->ssHid.Attr.n.u1Present = 1; 494 pCtx->ssHid.Attr.n.u1DescType = 1; /* code/data segment */ 495 pCtx->ssHid.Attr.n.u4Type = X86_SEL_TYPE_RW; 496 497 pCtx->idtr.cbIdt = 0xffff; 498 pCtx->gdtr.cbGdt = 0xffff; 499 500 pCtx->ldtrHid.u32Limit = 0xffff; 501 pCtx->ldtrHid.Attr.n.u1Present = 1; 502 pCtx->ldtrHid.Attr.n.u4Type = X86_SEL_TYPE_SYS_LDT; 503 504 pCtx->trHid.u32Limit = 0xffff; 505 pCtx->trHid.Attr.n.u1Present = 1; 506 pCtx->trHid.Attr.n.u4Type = X86_SEL_TYPE_SYS_286_TSS_BUSY; 507 508 pCtx->dr6 = 0xFFFF0FF0; 509 pCtx->dr7 = 0x400; 510 511 pCtx->fpu.FTW = 0xff; /* All tags are set, i.e. the regs are empty. */ 512 pCtx->fpu.FCW = 0x37f; 482 513 } 483 514
Note:
See TracChangeset
for help on using the changeset viewer.