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 ---