interrupts.hh (5647:b06b49498c79) interrupts.hh (5704:98224505352a)
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;

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

96 panic("int_num out of bounds\n");
97
98 interrupts[int_num] &= ~(1 << index);
99 if (interrupts[int_num] == 0)
100 intstatus &= ~(ULL(1) << int_num);
101 }
102
103 void
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;

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

96 panic("int_num out of bounds\n");
97
98 interrupts[int_num] &= ~(1 << index);
99 if (interrupts[int_num] == 0)
100 intstatus &= ~(ULL(1) << int_num);
101 }
102
103 void
104 clear_all()
104 clearAll()
105 {
106 DPRINTF(Interrupt, "Interrupts all cleared\n");
107
108 memset(interrupts, 0, sizeof(interrupts));
109 intstatus = 0;
110 }
111
112 void

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

119 void
120 unserialize(Checkpoint *cp, const std::string &section)
121 {
122 UNSERIALIZE_ARRAY(interrupts, NumInterruptLevels);
123 UNSERIALIZE_SCALAR(intstatus);
124 }
125
126 bool
105 {
106 DPRINTF(Interrupt, "Interrupts all cleared\n");
107
108 memset(interrupts, 0, sizeof(interrupts));
109 intstatus = 0;
110 }
111
112 void

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

119 void
120 unserialize(Checkpoint *cp, const std::string &section)
121 {
122 UNSERIALIZE_ARRAY(interrupts, NumInterruptLevels);
123 UNSERIALIZE_SCALAR(intstatus);
124 }
125
126 bool
127 check_interrupts(ThreadContext *tc) const
127 checkInterrupts(ThreadContext *tc) const
128 {
129 return (intstatus != 0) && !(tc->readPC() & 0x3);
130 }
131
132 Fault
133 getInterrupt(ThreadContext *tc)
134 {
135 int ipl = 0;

--- 55 unchanged lines hidden ---
128 {
129 return (intstatus != 0) && !(tc->readPC() & 0x3);
130 }
131
132 Fault
133 getInterrupt(ThreadContext *tc)
134 {
135 int ipl = 0;

--- 55 unchanged lines hidden ---