interrupts.hh (4103:785279436bdd) interrupts.hh (4172:141705d83494)
1/*
2 * Copyright (c) 2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

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

97
98 bool check_interrupts(ThreadContext * tc) const
99 {
100 return intStatus;
101 }
102
103 Fault getInterrupt(ThreadContext * tc)
104 {
1/*
2 * Copyright (c) 2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

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

97
98 bool check_interrupts(ThreadContext * tc) const
99 {
100 return intStatus;
101 }
102
103 Fault getInterrupt(ThreadContext * tc)
104 {
105 int hpstate = tc->readMiscReg(MISCREG_HPSTATE);
106 int pstate = tc->readMiscReg(MISCREG_PSTATE);
105 int hpstate = tc->readMiscRegNoEffect(MISCREG_HPSTATE);
106 int pstate = tc->readMiscRegNoEffect(MISCREG_PSTATE);
107 bool ie = pstate & PSTATE::ie;
108
109 // THESE ARE IN ORDER OF PRIORITY
110 // since there are early returns, and the highest
111 // priority interrupts should get serviced,
112 // it is v. important that new interrupts are inserted
113 // in the right order of processing
114 if (hpstate & HPSTATE::hpriv) {

--- 69 unchanged lines hidden ---
107 bool ie = pstate & PSTATE::ie;
108
109 // THESE ARE IN ORDER OF PRIORITY
110 // since there are early returns, and the highest
111 // priority interrupts should get serviced,
112 // it is v. important that new interrupts are inserted
113 // in the right order of processing
114 if (hpstate & HPSTATE::hpriv) {

--- 69 unchanged lines hidden ---