interrupts.hh (6069:cb5b778785a6) interrupts.hh (6101:860df2c586a3)
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * Redistribution and use of this software in source and binary forms,
6 * with or without modification, are permitted provided that the
7 * following conditions are met:
8 *

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

167 updateISRV()
168 {
169 ISRV = findRegArrayMSB(APIC_IN_SERVICE_BASE);
170 }
171
172 void
173 setRegArrayBit(ApicRegIndex base, uint8_t vector)
174 {
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * Redistribution and use of this software in source and binary forms,
6 * with or without modification, are permitted provided that the
7 * following conditions are met:
8 *

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

167 updateISRV()
168 {
169 ISRV = findRegArrayMSB(APIC_IN_SERVICE_BASE);
170 }
171
172 void
173 setRegArrayBit(ApicRegIndex base, uint8_t vector)
174 {
175 regs[base + (vector % 32)] |= (1 << (vector >> 5));
175 regs[base + (vector / 32)] |= (1 << (vector % 32));
176 }
177
178 void
179 clearRegArrayBit(ApicRegIndex base, uint8_t vector)
180 {
176 }
177
178 void
179 clearRegArrayBit(ApicRegIndex base, uint8_t vector)
180 {
181 regs[base + (vector % 32)] &= ~(1 << (vector >> 5));
181 regs[base + (vector / 32)] &= ~(1 << (vector % 32));
182 }
183
184 bool
185 getRegArrayBit(ApicRegIndex base, uint8_t vector)
186 {
182 }
183
184 bool
185 getRegArrayBit(ApicRegIndex base, uint8_t vector)
186 {
187 return bits(regs[base + (vector % 32)], vector >> 5);
187 return bits(regs[base + (vector / 32)], vector % 5);
188 }
189
190 void requestInterrupt(uint8_t vector, uint8_t deliveryMode, bool level);
191
192 BaseCPU *cpu;
193
194 public:
195 /*

--- 113 unchanged lines hidden ---
188 }
189
190 void requestInterrupt(uint8_t vector, uint8_t deliveryMode, bool level);
191
192 BaseCPU *cpu;
193
194 public:
195 /*

--- 113 unchanged lines hidden ---