Changeset 76438 in vbox for trunk/include
- Timestamp:
- Dec 24, 2018 1:26:45 PM (6 years ago)
- Location:
- trunk/include/VBox/vmm
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/hm_svm.h
r76397 r76438 662 662 struct 663 663 { 664 uint64_tu12Reserved0 : 12;665 uint64_tu40Addr : 40;666 uint64_tu12Reserved1 : 12;664 RT_GCC_EXTENSION uint64_t u12Reserved0 : 12; 665 RT_GCC_EXTENSION uint64_t u40Addr : 40; 666 RT_GCC_EXTENSION uint64_t u12Reserved1 : 12; 667 667 } n; 668 668 uint64_t u; … … 677 677 struct 678 678 { 679 uint64_tu8LastGuestCoreId : 8;680 uint64_tu4Reserved : 4;681 uint64_tu40Addr : 40;682 uint64_tu12Reserved : 12;679 RT_GCC_EXTENSION uint64_t u8LastGuestCoreId : 8; 680 RT_GCC_EXTENSION uint64_t u4Reserved : 4; 681 RT_GCC_EXTENSION uint64_t u40Addr : 40; 682 RT_GCC_EXTENSION uint64_t u12Reserved : 12; 683 683 } n; 684 684 uint64_t u; -
trunk/include/VBox/vmm/hm_vmx.h
r76397 r76438 469 469 { 470 470 /** Present bit. */ 471 uint64_tu1Present : 1;471 RT_GCC_EXTENSION uint64_t u1Present : 1; 472 472 /** Writable bit. */ 473 uint64_tu1Write : 1;473 RT_GCC_EXTENSION uint64_t u1Write : 1; 474 474 /** Executable bit. */ 475 uint64_tu1Execute : 1;475 RT_GCC_EXTENSION uint64_t u1Execute : 1; 476 476 /** Reserved (must be 0). */ 477 uint64_tu5Reserved : 5;477 RT_GCC_EXTENSION uint64_t u5Reserved : 5; 478 478 /** Available for software. */ 479 uint64_tu4Available : 4;479 RT_GCC_EXTENSION uint64_t u4Available : 4; 480 480 /** Physical address of the next level (PD). Restricted by maximum physical address width of the cpu. */ 481 uint64_tu40PhysAddr : 40;481 RT_GCC_EXTENSION uint64_t u40PhysAddr : 40; 482 482 /** Available for software. */ 483 uint64_tu12Available : 12;483 RT_GCC_EXTENSION uint64_t u12Available : 12; 484 484 } EPTPML4EBITS; 485 485 AssertCompileSize(EPTPML4EBITS, 8); … … 531 531 { 532 532 /** Present bit. */ 533 uint64_tu1Present : 1;533 RT_GCC_EXTENSION uint64_t u1Present : 1; 534 534 /** Writable bit. */ 535 uint64_tu1Write : 1;535 RT_GCC_EXTENSION uint64_t u1Write : 1; 536 536 /** Executable bit. */ 537 uint64_tu1Execute : 1;537 RT_GCC_EXTENSION uint64_t u1Execute : 1; 538 538 /** Reserved (must be 0). */ 539 uint64_tu5Reserved : 5;539 RT_GCC_EXTENSION uint64_t u5Reserved : 5; 540 540 /** Available for software. */ 541 uint64_tu4Available : 4;541 RT_GCC_EXTENSION uint64_t u4Available : 4; 542 542 /** Physical address of the next level (PD). Restricted by maximum physical address width of the cpu. */ 543 uint64_tu40PhysAddr : 40;543 RT_GCC_EXTENSION uint64_t u40PhysAddr : 40; 544 544 /** Available for software. */ 545 uint64_tu12Available : 12;545 RT_GCC_EXTENSION uint64_t u12Available : 12; 546 546 } EPTPDPTEBITS; 547 547 AssertCompileSize(EPTPDPTEBITS, 8); … … 593 593 { 594 594 /** Present bit. */ 595 uint64_tu1Present : 1;595 RT_GCC_EXTENSION uint64_t u1Present : 1; 596 596 /** Writable bit. */ 597 uint64_tu1Write : 1;597 RT_GCC_EXTENSION uint64_t u1Write : 1; 598 598 /** Executable bit. */ 599 uint64_tu1Execute : 1;599 RT_GCC_EXTENSION uint64_t u1Execute : 1; 600 600 /** Reserved (must be 0). */ 601 uint64_tu4Reserved : 4;601 RT_GCC_EXTENSION uint64_t u4Reserved : 4; 602 602 /** Big page (must be 0 here). */ 603 uint64_tu1Size : 1;603 RT_GCC_EXTENSION uint64_t u1Size : 1; 604 604 /** Available for software. */ 605 uint64_tu4Available : 4;605 RT_GCC_EXTENSION uint64_t u4Available : 4; 606 606 /** Physical address of page table. Restricted by maximum physical address width of the cpu. */ 607 uint64_tu40PhysAddr : 40;607 RT_GCC_EXTENSION uint64_t u40PhysAddr : 40; 608 608 /** Available for software. */ 609 uint64_tu12Available : 12;609 RT_GCC_EXTENSION uint64_t u12Available : 12; 610 610 } EPTPDEBITS; 611 611 AssertCompileSize(EPTPDEBITS, 8); … … 624 624 { 625 625 /** Present bit. */ 626 uint64_tu1Present : 1;626 RT_GCC_EXTENSION uint64_t u1Present : 1; 627 627 /** Writable bit. */ 628 uint64_tu1Write : 1;628 RT_GCC_EXTENSION uint64_t u1Write : 1; 629 629 /** Executable bit. */ 630 uint64_tu1Execute : 1;630 RT_GCC_EXTENSION uint64_t u1Execute : 1; 631 631 /** EPT Table Memory Type. MBZ for non-leaf nodes. */ 632 uint64_tu3EMT : 3;632 RT_GCC_EXTENSION uint64_t u3EMT : 3; 633 633 /** Ignore PAT memory type */ 634 uint64_tu1IgnorePAT : 1;634 RT_GCC_EXTENSION uint64_t u1IgnorePAT : 1; 635 635 /** Big page (must be 1 here). */ 636 uint64_tu1Size : 1;636 RT_GCC_EXTENSION uint64_t u1Size : 1; 637 637 /** Available for software. */ 638 uint64_tu4Available : 4;638 RT_GCC_EXTENSION uint64_t u4Available : 4; 639 639 /** Reserved (must be 0). */ 640 uint64_tu9Reserved : 9;640 RT_GCC_EXTENSION uint64_t u9Reserved : 9; 641 641 /** Physical address of the 2MB page. Restricted by maximum physical address width of the cpu. */ 642 uint64_tu31PhysAddr : 31;642 RT_GCC_EXTENSION uint64_t u31PhysAddr : 31; 643 643 /** Available for software. */ 644 uint64_tu12Available : 12;644 RT_GCC_EXTENSION uint64_t u12Available : 12; 645 645 } EPTPDE2MBITS; 646 646 AssertCompileSize(EPTPDE2MBITS, 8); … … 694 694 * as present. Since all our valid entries will have this bit set, it can 695 695 * be used as a present indicator and allow some code sharing. */ 696 uint64_tu1Present : 1;696 RT_GCC_EXTENSION uint64_t u1Present : 1; 697 697 /** 1 - Writable bit. */ 698 uint64_tu1Write : 1;698 RT_GCC_EXTENSION uint64_t u1Write : 1; 699 699 /** 2 - Executable bit. */ 700 uint64_tu1Execute : 1;700 RT_GCC_EXTENSION uint64_t u1Execute : 1; 701 701 /** 5:3 - EPT Memory Type. MBZ for non-leaf nodes. */ 702 uint64_tu3EMT : 3;702 RT_GCC_EXTENSION uint64_t u3EMT : 3; 703 703 /** 6 - Ignore PAT memory type */ 704 uint64_tu1IgnorePAT : 1;704 RT_GCC_EXTENSION uint64_t u1IgnorePAT : 1; 705 705 /** 11:7 - Available for software. */ 706 uint64_tu5Available : 5;706 RT_GCC_EXTENSION uint64_t u5Available : 5; 707 707 /** 51:12 - Physical address of page. Restricted by maximum physical 708 708 * address width of the cpu. */ 709 uint64_tu40PhysAddr : 40;709 RT_GCC_EXTENSION uint64_t u40PhysAddr : 40; 710 710 /** 63:52 - Available for software. */ 711 uint64_tu12Available : 12;711 RT_GCC_EXTENSION uint64_t u12Available : 12; 712 712 } EPTPTEBITS; 713 713 AssertCompileSize(EPTPTEBITS, 8);
Note:
See TracChangeset
for help on using the changeset viewer.