misc.hh (9470:68f7e0bcf4aa) | misc.hh (10554:fe2e2f06a7c8) |
---|---|
1/* 2 * Copyright (c) 2007-2008 The Hewlett-Packard Development Company 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 599 unchanged lines hidden (view full) --- 608 // Base Address 609 Bitfield<31, 5> paePdtb; // PAE Addressing Page-Directory-Table 610 // Base Address 611 Bitfield<4> pcd; // Page-Level Cache Disable 612 Bitfield<3> pwt; // Page-Level Writethrough 613 EndBitUnion(CR3) 614 615 BitUnion64(CR4) | 1/* 2 * Copyright (c) 2007-2008 The Hewlett-Packard Development Company 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 599 unchanged lines hidden (view full) --- 608 // Base Address 609 Bitfield<31, 5> paePdtb; // PAE Addressing Page-Directory-Table 610 // Base Address 611 Bitfield<4> pcd; // Page-Level Cache Disable 612 Bitfield<3> pwt; // Page-Level Writethrough 613 EndBitUnion(CR3) 614 615 BitUnion64(CR4) |
616 Bitfield<18> osxsave; // Enable XSAVE and Proc Extended States 617 Bitfield<16> fsgsbase; // Enable RDFSBASE, RDGSBASE, WRFSBASE, 618 // WRGSBASE instructions |
|
616 Bitfield<10> osxmmexcpt; // Operating System Unmasked 617 // Exception Support 618 Bitfield<9> osfxsr; // Operating System FXSave/FSRSTOR Support 619 Bitfield<8> pce; // Performance-Monitoring Counter Enable 620 Bitfield<7> pge; // Page-Global Enable 621 Bitfield<6> mce; // Machine Check Enable 622 Bitfield<5> pae; // Physical-Address Extension 623 Bitfield<4> pse; // Page Size Extensions --- 256 unchanged lines hidden (view full) --- 880 Bitfield<42> e; // Expand-Down 881 Bitfield<41> w; // Writable 882 883 // This is used for both code and data segments. 884 Bitfield<40> a; // Accessed 885 EndSubBitUnion(type) 886 EndBitUnion(SegDescriptor) 887 | 619 Bitfield<10> osxmmexcpt; // Operating System Unmasked 620 // Exception Support 621 Bitfield<9> osfxsr; // Operating System FXSave/FSRSTOR Support 622 Bitfield<8> pce; // Performance-Monitoring Counter Enable 623 Bitfield<7> pge; // Page-Global Enable 624 Bitfield<6> mce; // Machine Check Enable 625 Bitfield<5> pae; // Physical-Address Extension 626 Bitfield<4> pse; // Page Size Extensions --- 256 unchanged lines hidden (view full) --- 883 Bitfield<42> e; // Expand-Down 884 Bitfield<41> w; // Writable 885 886 // This is used for both code and data segments. 887 Bitfield<40> a; // Accessed 888 EndSubBitUnion(type) 889 EndBitUnion(SegDescriptor) 890 |
891 /** 892 * TSS Descriptor (long mode - 128 bits) 893 * the lower 64 bits 894 */ 895 BitUnion64(TSSlow) 896 Bitfield<63, 56> baseHigh; 897 Bitfield<39, 16> baseLow; 898 Bitfield<55> g; // Granularity 899 Bitfield<52> avl; // Available To Software 900 Bitfield<51, 48> limitHigh; 901 Bitfield<15, 0> limitLow; 902 Bitfield<47> p; // Present 903 Bitfield<46, 45> dpl; // Descriptor Privilege-Level 904 SubBitUnion(type, 43, 40) 905 // Specifies whether this descriptor is for code or data. 906 Bitfield<43> codeOrData; 907 908 // These bit fields are for code segments 909 Bitfield<42> c; // Conforming 910 Bitfield<41> r; // Readable 911 912 // These bit fields are for data segments 913 Bitfield<42> e; // Expand-Down 914 Bitfield<41> w; // Writable 915 916 // This is used for both code and data segments. 917 Bitfield<40> a; // Accessed 918 EndSubBitUnion(type) 919 EndBitUnion(TSSlow) 920 921 /** 922 * TSS Descriptor (long mode - 128 bits) 923 * the upper 64 bits 924 */ 925 BitUnion64(TSShigh) 926 Bitfield<31, 0> base; 927 EndBitUnion(TSShigh) 928 |
|
888 BitUnion64(SegAttr) 889 Bitfield<1, 0> dpl; 890 Bitfield<2> unusable; 891 Bitfield<3> defaultSize; 892 Bitfield<4> longMode; 893 Bitfield<5> avl; 894 Bitfield<6> granularity; 895 Bitfield<7> present; --- 10 unchanged lines hidden (view full) --- 906 Bitfield<31, 16> selector; // Target Code-Segment Selector 907 Bitfield<47> p; // Present 908 Bitfield<46, 45> dpl; // Descriptor Privilege-Level 909 Bitfield<43, 40> type; 910 Bitfield<36, 32> count; // Parameter Count 911 EndBitUnion(GateDescriptor) 912 913 /** | 929 BitUnion64(SegAttr) 930 Bitfield<1, 0> dpl; 931 Bitfield<2> unusable; 932 Bitfield<3> defaultSize; 933 Bitfield<4> longMode; 934 Bitfield<5> avl; 935 Bitfield<6> granularity; 936 Bitfield<7> present; --- 10 unchanged lines hidden (view full) --- 947 Bitfield<31, 16> selector; // Target Code-Segment Selector 948 Bitfield<47> p; // Present 949 Bitfield<46, 45> dpl; // Descriptor Privilege-Level 950 Bitfield<43, 40> type; 951 Bitfield<36, 32> count; // Parameter Count 952 EndBitUnion(GateDescriptor) 953 954 /** |
955 * Long Mode Gate Descriptor 956 */ 957 BitUnion64(GateDescriptorLow) 958 Bitfield<63, 48> offsetHigh; // Target Code-Segment Offset 959 Bitfield<47> p; // Present 960 Bitfield<46, 45> dpl; // Descriptor Privilege-Level 961 Bitfield<43, 40> type; 962 Bitfield<35, 32> IST; // IST pointer to TSS -- new stack for exception handling 963 Bitfield<31, 16> selector; // Target Code-Segment Selector 964 Bitfield<15, 0> offsetLow; // Target Code-Segment Offset 965 EndBitUnion(GateDescriptorLow) 966 967 BitUnion64(GateDescriptorHigh) 968 Bitfield<31, 0> offset; // Target Code-Segment Offset 969 EndBitUnion(GateDescriptorHigh) 970 971 /** |
|
914 * Descriptor-Table Registers 915 */ 916 BitUnion64(GDTR) 917 EndBitUnion(GDTR) 918 919 BitUnion64(IDTR) 920 EndBitUnion(IDTR) 921 --- 21 unchanged lines hidden --- | 972 * Descriptor-Table Registers 973 */ 974 BitUnion64(GDTR) 975 EndBitUnion(GDTR) 976 977 BitUnion64(IDTR) 978 EndBitUnion(IDTR) 979 --- 21 unchanged lines hidden --- |