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
--- 219 unchanged lines hidden (view full) ---
228}};
229
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,
237 SegSSCheck, SegIretCheck, SegIntCSCheck
238 };
239}};
240
241output decoder {{
242 void
243 divide(uint64_t dividend, uint64_t divisor,
244 uint64_t "ient, uint64_t &remainder)
--- 791 unchanged lines hidden (view full) ---
1036 break;
1037 case SegCSCheck:
1038 panic("CS checks for far calls/jumps not implemented.\\n");
1039 break;
1040 case SegCallGateCheck:
1041 panic("CS checks for far calls/jumps through call gates"
1042 "not implemented.\\n");
1043 break;
1044 case SegSSCheck:
1045 if (selector.si || selector.ti) {
1046 if (!desc.p) {
1047 //FIXME This needs to also push the selector.
1048 return new StackFault;
1049 }
1050 } else {
1051 if ((m5reg.submode != SixtyFourBitMode ||
--- 95 unchanged lines hidden ---
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
--- 219 unchanged lines hidden (view full) ---
228}};
229
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,
237 SegSSCheck, SegIretCheck, SegIntCSCheck
238 };
239}};
240
241output decoder {{
242 void
243 divide(uint64_t dividend, uint64_t divisor,
244 uint64_t "ient, uint64_t &remainder)
--- 791 unchanged lines hidden (view full) ---
1036 break;
1037 case SegCSCheck:
1038 panic("CS checks for far calls/jumps not implemented.\\n");
1039 break;
1040 case SegCallGateCheck:
1041 panic("CS checks for far calls/jumps through call gates"
1042 "not implemented.\\n");
1043 break;
1044 case SegSSCheck:
1045 if (selector.si || selector.ti) {
1046 if (!desc.p) {
1047 //FIXME This needs to also push the selector.
1048 return new StackFault;
1049 }
1050 } else {
1051 if ((m5reg.submode != SixtyFourBitMode ||
--- 95 unchanged lines hidden ---