faults.cc (11793:ef606668d247) | faults.cc (11877:5ea85692a53e) |
---|---|
1/* 2 * Copyright (c) 2010, 2012-2014, 2016 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 770 unchanged lines hidden (view full) --- 779 assert(!machInst.bigThumb); 780 uint32_t callNum; 781 CPSR cpsr = tc->readMiscReg(MISCREG_CPSR); 782 OperatingMode mode = (OperatingMode)(uint8_t)cpsr.mode; 783 if (opModeIs64(mode)) 784 callNum = tc->readIntReg(INTREG_X8); 785 else 786 callNum = tc->readIntReg(INTREG_R7); | 1/* 2 * Copyright (c) 2010, 2012-2014, 2016 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 770 unchanged lines hidden (view full) --- 779 assert(!machInst.bigThumb); 780 uint32_t callNum; 781 CPSR cpsr = tc->readMiscReg(MISCREG_CPSR); 782 OperatingMode mode = (OperatingMode)(uint8_t)cpsr.mode; 783 if (opModeIs64(mode)) 784 callNum = tc->readIntReg(INTREG_X8); 785 else 786 callNum = tc->readIntReg(INTREG_R7); |
787 tc->syscall(callNum); | 787 Fault fault; 788 tc->syscall(callNum, &fault); |
788 789 // Advance the PC since that won't happen automatically. 790 PCState pc = tc->pcState(); 791 assert(inst); 792 inst->advancePC(pc); 793 tc->pcState(pc); 794} 795 --- 661 unchanged lines hidden --- | 789 790 // Advance the PC since that won't happen automatically. 791 PCState pc = tc->pcState(); 792 assert(inst); 793 inst->advancePC(pc); 794 tc->pcState(pc); 795} 796 --- 661 unchanged lines hidden --- |