OSDN Git Service

* public snapshot of sid simulator
[pf3gnuchains/pf3gnuchains3x.git] / sid / component / interrupt / arm.h
1 // arm.h - Class declaration for the ARM reference interrupt
2 // controller.  -*- C++ -*-
3
4 // Copyright (C) 1999, 2000 Red Hat.
5 // This file is part of SID and is licensed under the GPL.
6 // See the file COPYING.SID for conditions for redistribution.
7
8 #ifndef INTERRUPT_ARM_H
9 #define INTERRUPT_ARM_H
10
11 #if SIDTARGET_ARM
12
13 class armIntController: public IntController<little_int_4>
14 {
15 public:
16   armIntController():
17     IntController<little_int_4>(32, 1, (RSTPIN|FIQREGS|FIQBUS)) { }
18   ~armIntController() { }
19
20 private:
21
22   // required virtual methods
23   sid::bus::status irq_read_word(host_int_4 addr, little_int_4 mask,
24                                  little_int_4& data);
25   sid::bus::status irq_write_word(host_int_4 addr, little_int_4 mask,
26                                   little_int_4 data);
27   void irq_src_driven(host_int_4 driven_val, host_int_4 bit_num);
28
29   // override (empty) virtual methods
30   sid::bus::status fiq_read_word(host_int_4 addr, little_int_4 mask,
31                                  little_int_4& data);
32   sid::bus::status fiq_write_word(host_int_4 addr, little_int_4 mask,
33                                   little_int_4 data);
34   void fiq_src_driven(host_int_4 driven_val, host_int_4 bit_num);
35
36   // use generic reset();
37 };
38
39 #endif // SIGTARGET_ARM 
40
41 #endif // INTERRUPT_ARM_H