OpenCores
URL https://opencores.org/ocsvn/thor/thor/trunk

Subversion Repositories thor

[/] [thor/] [trunk/] [software/] [FMTK/] [source/] [kernel/] [PIC.c] - Blame information for rev 23

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 23 robfinch
 
2
#define PIC               0xFFDC0FC0
3
#define PIC_IE            0xFFDC0FC8
4
#define PIC_ES            0xFFDC0FE0
5
#define PIC_RSTE          0xFFDC0FE8
6
 
7
// ----------------------------------------------------------------------------
8
// Get the vector base register
9
// ----------------------------------------------------------------------------
10
 
11
unsigned int *GetVBR()
12
{
13
    asm {
14
        mfspr r1,c12
15
    }
16
}
17
 
18
 
19
// ----------------------------------------------------------------------------
20
// Set an IRQ vector
21
// ----------------------------------------------------------------------------
22
 
23
pascal void set_vector(unsigned int vecno, unsigned int rout)
24
{
25
     if (vecno > 255) return;
26
     if (rout == 0) return;
27
         asm __leafs {
28
                        lw              r2,32[bp]
29
                        lw              r1,40[bp]
30
                        jsr             set_vector
31
         }
32
//     GetVBR()[vecno] = rout;
33
}
34
 
35
// ----------------------------------------------------------------------------
36
// 0 is highest priority, 15 is lowest
37
// 0    NMI (parity error)
38
// 1    1024 Hz timer interrupt
39
// 2    30Hz timer interrupt
40
// 3    Keyboard interrupt
41
// ...
42
// 15
43
// 
44
// ----------------------------------------------------------------------------
45
void InitPIC()
46
{
47
     outh(PIC_ES, 0x0007);  // nmi,timer interrupt(s) are edge sensitive
48
     outh(PIC_IE, 0x000F);  //enable keyboard reset, timer interrupts
49
}
50
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.