interrupts.hh (5646:0a488a147fb8) interrupts.hh (5647:b06b49498c79)
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;

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

30 */
31
32#ifndef __ARCH_ALPHA_INTERRUPT_HH__
33#define __ARCH_ALPHA_INTERRUPT_HH__
34
35#include "arch/alpha/faults.hh"
36#include "arch/alpha/isa_traits.hh"
37#include "base/compiler.hh"
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;

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

30 */
31
32#ifndef __ARCH_ALPHA_INTERRUPT_HH__
33#define __ARCH_ALPHA_INTERRUPT_HH__
34
35#include "arch/alpha/faults.hh"
36#include "arch/alpha/isa_traits.hh"
37#include "base/compiler.hh"
38#include "base/trace.hh"
38#include "cpu/thread_context.hh"
39#include "cpu/thread_context.hh"
40#include "params/AlphaInterrupts.hh"
41#include "sim/sim_object.hh"
39
40namespace AlphaISA {
41
42
43namespace AlphaISA {
44
42class Interrupts
45class Interrupts : public SimObject
43{
44 private:
45 bool newInfoSet;
46 int newIpl;
47 int newSummary;
48
49 protected:
50 uint64_t interrupts[NumInterruptLevels];
51 uint64_t intstatus;
52
53 public:
46{
47 private:
48 bool newInfoSet;
49 int newIpl;
50 int newSummary;
51
52 protected:
53 uint64_t interrupts[NumInterruptLevels];
54 uint64_t intstatus;
55
56 public:
54 Interrupts()
57 typedef AlphaInterruptsParams Params;
58
59 const Params *
60 params() const
55 {
61 {
62 return dynamic_cast<const Params *>(_params);
63 }
64
65 Interrupts(Params * p) : SimObject(p)
66 {
56 memset(interrupts, 0, sizeof(interrupts));
57 intstatus = 0;
58 newInfoSet = false;
59 }
60
61 void
62 post(int int_num, int index)
63 {

--- 116 unchanged lines hidden ---
67 memset(interrupts, 0, sizeof(interrupts));
68 intstatus = 0;
69 newInfoSet = false;
70 }
71
72 void
73 post(int int_num, int index)
74 {

--- 116 unchanged lines hidden ---