regop.isa (5899:b702f4fdf16c) | regop.isa (5900:6776001c9b92) |
---|---|
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 --- 221 unchanged lines hidden (view full) --- 230output header {{ 231 void 232 divide(uint64_t dividend, uint64_t divisor, 233 uint64_t "ient, uint64_t &remainder); 234 235 enum SegmentSelectorCheck { 236 SegNoCheck, SegCSCheck, SegCallGateCheck, SegIntGateCheck, 237 SegSoftIntGateCheck, SegSSCheck, SegIretCheck, SegIntCSCheck, | 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 --- 221 unchanged lines hidden (view full) --- 230output header {{ 231 void 232 divide(uint64_t dividend, uint64_t divisor, 233 uint64_t "ient, uint64_t &remainder); 234 235 enum SegmentSelectorCheck { 236 SegNoCheck, SegCSCheck, SegCallGateCheck, SegIntGateCheck, 237 SegSoftIntGateCheck, SegSSCheck, SegIretCheck, SegIntCSCheck, |
238 SegTRCheck | 238 SegTRCheck, SegTSSCheck |
239 }; 240 241 enum LongModeDescriptorType { 242 LDT64 = 2, 243 AvailableTSS64 = 9, 244 BusyTSS64 = 0xb, 245 CallGate64 = 0xc, 246 IntGate64 = 0xe, --- 872 unchanged lines hidden (view full) --- 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; | 239 }; 240 241 enum LongModeDescriptorType { 242 LDT64 = 2, 243 AvailableTSS64 = 9, 244 BusyTSS64 = 0xb, 245 CallGate64 = 0xc, 246 IntGate64 = 0xe, --- 872 unchanged lines hidden (view full) --- 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; |
1127 case SegTSSCheck: 1128 if (!desc.p) { 1129 fault = new SegmentNotPresent(selector); 1130 } else if (!(desc.type == 0x9 || 1131 (desc.type == 1 && 1132 m5reg.mode != LongMode))) { 1133 1134 } 1135 break; |
|
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 --- | 1136 default: 1137 panic("Undefined segment check type.\\n"); 1138 } 1139 ''' 1140 flag_code = ''' 1141 // Check for a NULL selector and set ZF,EZF appropriately. 1142 ccFlagBits = ccFlagBits & ~(ext & (ZFBit | EZFBit)); 1143 if (!selector.si && !selector.ti) --- 81 unchanged lines hidden --- |