5 template< unsigned long Hw_regs_base >
10 RSRR = Hw_regs_base + 0x030000,
12 /* interrupt controller */
13 ICIP = Hw_regs_base + 0x050000,
14 ICMR = Hw_regs_base + 0x050004,
15 ICLR = Hw_regs_base + 0x050008,
16 ICCR = Hw_regs_base + 0x05000c,
17 ICFP = Hw_regs_base + 0x050010,
18 ICPR = Hw_regs_base + 0x050020,
21 OSMR0 = Hw_regs_base + 0x000000,
22 OSMR1 = Hw_regs_base + 0x000004,
23 OSMR2 = Hw_regs_base + 0x000008,
24 OSMR3 = Hw_regs_base + 0x00000c,
25 OSCR = Hw_regs_base + 0x000010,
26 OSSR = Hw_regs_base + 0x000014,
27 OWER = Hw_regs_base + 0x000018,
28 OIER = Hw_regs_base + 0x00001c,
33 static inline void hw_reg( Mword value, Mword reg );
34 static inline Mword hw_reg( Mword reg );
37 //---------------------------------------------------------------------------
38 IMPLEMENTATION [sa1100]:
41 template< unsigned long Hw_regs_base >
42 void Sa1100_generic<Hw_regs_base>::hw_reg( Mword value, Mword reg )
44 *(Mword volatile*)reg = value;
48 template< unsigned long Hw_regs_base >
49 Mword Sa1100_generic<Hw_regs_base>::hw_reg( Mword reg )
51 return *(Mword volatile*)reg;