intr_control.cc (8232:b28d06a175be) | intr_control.cc (8739:925f15f96322) |
---|---|
1/* 2 * Copyright (c) 2002-2005 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; --- 34 unchanged lines hidden (view full) --- 43 44IntrControl::IntrControl(const Params *p) 45 : SimObject(p), sys(p->sys) 46{} 47 48void 49IntrControl::post(int cpu_id, int int_num, int index) 50{ | 1/* 2 * Copyright (c) 2002-2005 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; --- 34 unchanged lines hidden (view full) --- 43 44IntrControl::IntrControl(const Params *p) 45 : SimObject(p), sys(p->sys) 46{} 47 48void 49IntrControl::post(int cpu_id, int int_num, int index) 50{ |
51#if FULL_SYSTEM |
|
51 DPRINTF(IntrControl, "post %d:%d (cpu %d)\n", int_num, index, cpu_id); 52 std::vector<ThreadContext *> &tcvec = sys->threadContexts; 53 BaseCPU *cpu = tcvec[cpu_id]->getCpuPtr(); 54 cpu->postInterrupt(int_num, index); | 52 DPRINTF(IntrControl, "post %d:%d (cpu %d)\n", int_num, index, cpu_id); 53 std::vector<ThreadContext *> &tcvec = sys->threadContexts; 54 BaseCPU *cpu = tcvec[cpu_id]->getCpuPtr(); 55 cpu->postInterrupt(int_num, index); |
56#else 57 panic("Called IntrControl::post in SE mode.\n"); 58#endif |
|
55} 56 57void 58IntrControl::clear(int cpu_id, int int_num, int index) 59{ | 59} 60 61void 62IntrControl::clear(int cpu_id, int int_num, int index) 63{ |
64#if FULL_SYSTEM |
|
60 DPRINTF(IntrControl, "clear %d:%d (cpu %d)\n", int_num, index, cpu_id); 61 std::vector<ThreadContext *> &tcvec = sys->threadContexts; 62 BaseCPU *cpu = tcvec[cpu_id]->getCpuPtr(); 63 cpu->clearInterrupt(int_num, index); | 65 DPRINTF(IntrControl, "clear %d:%d (cpu %d)\n", int_num, index, cpu_id); 66 std::vector<ThreadContext *> &tcvec = sys->threadContexts; 67 BaseCPU *cpu = tcvec[cpu_id]->getCpuPtr(); 68 cpu->clearInterrupt(int_num, index); |
69#else 70 panic("Called IntrControl::clear in SE mode.\n"); 71#endif |
|
64} 65 66IntrControl * 67IntrControlParams::create() 68{ 69 return new IntrControl(this); 70} | 72} 73 74IntrControl * 75IntrControlParams::create() 76{ 77 return new IntrControl(this); 78} |