regop.isa (5674:4a4f20dfbc60) regop.isa (5675:7828ee363019)
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

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

1071 (!desc.type.c && desc.dpl != selector.rpl) ||
1072 (desc.type.c && desc.dpl > selector.rpl))
1073 return new GeneralProtection(psrc1 & 0xFFFF);
1074 if (!desc.p)
1075 return new SegmentNotPresent;
1076 break;
1077 }
1078 case 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

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

1071 (!desc.type.c && desc.dpl != selector.rpl) ||
1072 (desc.type.c && desc.dpl > selector.rpl))
1073 return new GeneralProtection(psrc1 & 0xFFFF);
1074 if (!desc.p)
1075 return new SegmentNotPresent;
1076 break;
1077 }
1078 case SegIntCSCheck:
1079 panic("CS selector checks for interrupts and exceptions"
1080 "not implemented.\\n");
1079 if (m5reg.mode == LongMode) {
1080 if (desc.l != 1 || desc.d != 0) {
1081 return new GeneralProtection(selector);
1082 }
1083 } else {
1084 panic("Interrupt CS checks not implemented "
1085 "in legacy mode.\\n");
1086 }
1081 break;
1082 default:
1083 panic("Undefined segment check type.\\n");
1084 }
1085 '''
1086 flag_code = '''
1087 // Check for a NULL selector and set ZF,EZF appropriately.
1088 ccFlagBits = ccFlagBits & ~(ext & (ZFBit | EZFBit));

--- 63 unchanged lines hidden ---
1087 break;
1088 default:
1089 panic("Undefined segment check type.\\n");
1090 }
1091 '''
1092 flag_code = '''
1093 // Check for a NULL selector and set ZF,EZF appropriately.
1094 ccFlagBits = ccFlagBits & ~(ext & (ZFBit | EZFBit));

--- 63 unchanged lines hidden ---