regop.isa (12236:126ac9da6050) regop.isa (12392:e0dbdf30a2a5)
1// Copyright (c) 2007-2008 The Hewlett-Packard Development Company
2// All rights reserved.
3//
4// The license below extends only to copyright in the software and shall
5// not be construed as granting a license to any other intellectual
6// property including but not limited to intellectual property relating
7// to a hardware implementation of the functionality of the software
8// licensed hereunder. You may use the software subject to the license

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

1422 fault = std::make_shared<GeneralProtection>(0);
1423 }
1424 break;
1425 case 8:
1426 {
1427 if (bits(newVal, 63, 4))
1428 fault = std::make_shared<GeneralProtection>(0);
1429 }
1// Copyright (c) 2007-2008 The Hewlett-Packard Development Company
2// All rights reserved.
3//
4// The license below extends only to copyright in the software and shall
5// not be construed as granting a license to any other intellectual
6// property including but not limited to intellectual property relating
7// to a hardware implementation of the functionality of the software
8// licensed hereunder. You may use the software subject to the license

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

1422 fault = std::make_shared<GeneralProtection>(0);
1423 }
1424 break;
1425 case 8:
1426 {
1427 if (bits(newVal, 63, 4))
1428 fault = std::make_shared<GeneralProtection>(0);
1429 }
1430 break;
1430 default:
1431 fault = std::make_shared<GenericISA::M5PanicFault>(
1432 "Unrecognized control register %d.\\n", dest);
1433 }
1434 ControlDest = newVal;
1435 }
1436 '''
1437

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

1523 "calls/jumps through call gates not implemented.\\n");
1524 break;
1525 case SegSoftIntGateCheck:
1526 // Check permissions.
1527 if (desc.dpl < m5reg.cpl) {
1528 fault = std::make_shared<GeneralProtection>(selector);
1529 break;
1530 }
1431 default:
1432 fault = std::make_shared<GenericISA::M5PanicFault>(
1433 "Unrecognized control register %d.\\n", dest);
1434 }
1435 ControlDest = newVal;
1436 }
1437 '''
1438

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

1524 "calls/jumps through call gates not implemented.\\n");
1525 break;
1526 case SegSoftIntGateCheck:
1527 // Check permissions.
1528 if (desc.dpl < m5reg.cpl) {
1529 fault = std::make_shared<GeneralProtection>(selector);
1530 break;
1531 }
1531 // Fall through on purpose
1532 M5_FALLTHROUGH;
1532 case SegIntGateCheck:
1533 // Make sure the gate's the right type.
1534 if ((m5reg.mode == LongMode && (desc.type & 0xe) != 0xe) ||
1535 ((desc.type & 0x6) != 0x6)) {
1536 fault = std::make_shared<GeneralProtection>(0);
1537 }
1538 break;
1539 case SegSSCheck:

--- 195 unchanged lines hidden ---
1533 case SegIntGateCheck:
1534 // Make sure the gate's the right type.
1535 if ((m5reg.mode == LongMode && (desc.type & 0xe) != 0xe) ||
1536 ((desc.type & 0x6) != 0x6)) {
1537 fault = std::make_shared<GeneralProtection>(0);
1538 }
1539 break;
1540 case SegSSCheck:

--- 195 unchanged lines hidden ---