regop.isa (5861:8c1aa74572e4) regop.isa (5899:b702f4fdf16c)
1// Copyright (c) 2007-2008 The Hewlett-Packard Development Company
2// All rights reserved.
3//
4// Redistribution and use of this software in source and binary forms,
5// with or without modification, are permitted provided that the
6// following conditions are met:
7//
8// The software must be used only for Non-Commercial Use which means any

--- 220 unchanged lines hidden (view full) ---

229
230output header {{
231 void
232 divide(uint64_t dividend, uint64_t divisor,
233 uint64_t &quotient, uint64_t &remainder);
234
235 enum SegmentSelectorCheck {
236 SegNoCheck, SegCSCheck, SegCallGateCheck, SegIntGateCheck,
1// Copyright (c) 2007-2008 The Hewlett-Packard Development Company
2// All rights reserved.
3//
4// Redistribution and use of this software in source and binary forms,
5// with or without modification, are permitted provided that the
6// following conditions are met:
7//
8// The software must be used only for Non-Commercial Use which means any

--- 220 unchanged lines hidden (view full) ---

229
230output header {{
231 void
232 divide(uint64_t dividend, uint64_t divisor,
233 uint64_t &quotient, uint64_t &remainder);
234
235 enum SegmentSelectorCheck {
236 SegNoCheck, SegCSCheck, SegCallGateCheck, SegIntGateCheck,
237 SegSoftIntGateCheck, SegSSCheck, SegIretCheck, SegIntCSCheck
237 SegSoftIntGateCheck, SegSSCheck, SegIretCheck, SegIntCSCheck,
238 SegTRCheck
238 };
239
240 enum LongModeDescriptorType {
241 LDT64 = 2,
242 AvailableTSS64 = 9,
243 BusyTSS64 = 0xb,
244 CallGate64 = 0xc,
245 IntGate64 = 0xe,

--- 867 unchanged lines hidden (view full) ---

1113 if (desc.l != 1 || desc.d != 0) {
1114 fault = new GeneralProtection(selector);
1115 }
1116 } else {
1117 panic("Interrupt CS checks not implemented "
1118 "in legacy mode.\\n");
1119 }
1120 break;
239 };
240
241 enum LongModeDescriptorType {
242 LDT64 = 2,
243 AvailableTSS64 = 9,
244 BusyTSS64 = 0xb,
245 CallGate64 = 0xc,
246 IntGate64 = 0xe,

--- 867 unchanged lines hidden (view full) ---

1114 if (desc.l != 1 || desc.d != 0) {
1115 fault = new GeneralProtection(selector);
1116 }
1117 } else {
1118 panic("Interrupt CS checks not implemented "
1119 "in legacy mode.\\n");
1120 }
1121 break;
1122 case SegTRCheck:
1123 if (!selector.si || selector.ti) {
1124 fault = new GeneralProtection(selector);
1125 }
1126 break;
1121 default:
1122 panic("Undefined segment check type.\\n");
1123 }
1124 '''
1125 flag_code = '''
1126 // Check for a NULL selector and set ZF,EZF appropriately.
1127 ccFlagBits = ccFlagBits & ~(ext & (ZFBit | EZFBit));
1128 if (!selector.si && !selector.ti)

--- 81 unchanged lines hidden ---
1127 default:
1128 panic("Undefined segment check type.\\n");
1129 }
1130 '''
1131 flag_code = '''
1132 // Check for a NULL selector and set ZF,EZF appropriately.
1133 ccFlagBits = ccFlagBits & ~(ext & (ZFBit | EZFBit));
1134 if (!selector.si && !selector.ti)

--- 81 unchanged lines hidden ---