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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [newlib-1.17.0/] [libgloss/] [hp74x/] [hppa-defs.h] - Blame information for rev 179

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 148 jeremybenn
/*
2
 * PDC support
3
 */
4
#define OPT_PDC_CACHE           5
5
#define OPT_PDC_ADD_VALID       12
6
#define OPT_PDC_CHASSIS         2       /* LED's */
7
#define OPT_PDC_IODC            8       /* console I/O */
8
#define IODC_CONSOLE_OUT        3       /* bytes out serial port */
9
#define IODC_CONSOLE_IN         2       /* bytes in serial port */
10
 
11
#define PGZ_MEM_PDC             0x0388  /* location of PDC_ENTRY in memory */
12
#define PGZ_CONSOLE_STRUCT      0x3A0   /* console config info */
13
#define CALL_PDC                (*(int (*)())((int *)(*((int *)PGZ_MEM_PDC))))
14
 
15
#define putDebugChar outbyte
16
#define getDebugChar inbyte
17
 
18
/*
19
 * IODC support
20
 */
21
#define MAX_BUS_CONVERTERS      6
22
#define MAX_LAYERS              6
23
#define IO_CONSOLE_INPUT        2
24
#define IO_CONSOLE_OUTPUT       3
25
 
26
struct _dev {
27
        unsigned char   flags;                  /* auto-search and auto-boot  */
28
        unsigned char   bus_convert[MAX_BUS_CONVERTERS];
29
        unsigned char   pm;                     /* fixed field of HPA         */
30
        unsigned int    layer[MAX_LAYERS];      /* device dependent layers    */
31
        unsigned int    hpa;                    /* device HPA                 */
32
        unsigned int    spa;                    /* device SPA                 */
33
        unsigned int    *iodc_io;               /* address of ENTRY_IO in mem */
34
        unsigned int    class;                  /* device class               */
35
};
36
 
37
/*
38
 * Register defintions
39
 */
40
#define gr0     %r0                     /* always ZERO */
41
#define gr1     %r1                     /* ADDIL results only */
42
#define gr2     %r2                     /* return address */
43
#define gr3     %r3                     /* scratch registers */
44
#define gr4     %r4
45
#define gr5     %r5
46
#define gr6     %r6
47
#define gr7     %r7
48
#define gr8     %r8
49
#define gr9     %r9
50
#define gr10    %r10
51
#define gr11    %r11
52
#define gr12    %r12
53
#define gr13    %r13
54
#define gr14    %r14
55
#define gr15    %r15
56
#define gr16    %r16
57
#define gr17    %r17
58
#define gr18    %r18
59
#define gr19    %r19                    /* 4th temp register */
60
#define gr20    %r20                    /* 3rd temp register */
61
#define gr21    %r21                    /* 2rd temp register */
62
#define gr22    %r22                    /* 1rd temp register */
63
#define gr23    %r23                    /* argument 3 */
64
#define gr24    %r24                    /* argument 2 */
65
#define gr25    %r25                    /* argument 1 */
66
#define gr26    %r26                    /* argument 0 */
67
#define gr27    %r27                    /* global data pointer */
68
#define gr28    %r28                    /* return value */
69
#define gr29    %r29                    /* return value, static link */
70
#define gr30    %r30                    /* stack pointer */
71
#define gr31    %r31                    /* millicode return pointer */
72
 
73
/*
74
 * extra definitions, calling conventions
75
 */
76
#define rp              gr2             /* return address */
77
#define sp              gr30            /* stack pointer */
78
#define dp              gr27            /* global data area pointer */
79
 
80
/*
81
 * extra definitions, argument passing
82
 */
83
#define Arg0            gr26            /* pdc function to perform */
84
#define Arg1            gr25            /* args to the pdc function */
85
#define Arg2            gr24
86
#define Arg3            gr23
87
 
88
/*
89
 * Special Processor Registers
90
 */
91
#define SAR             %cr11           /* shift amount register */
92
#define IVA             %cr14           /* Interruption Vector Address */
93
#define EIEM            %cr15           /* EIEM reg */
94
#define EIR             %cr23           /* EIR reg */
95
#define TIMER           %cr16           /* interval timer */
96
#define CCR             %cr10           /* coprocessor control reg. */
97
 
98
/*
99
 * ASCII escape code
100
 */
101
#define NULL    0x00    /* <break>      soft-reset      (input only) */
102
#define DELP    0x03    /* <ctrl>C      del-collapse    (input only, non-std) */
103
#define DELE    0x04    /* <ctrl>D      del-to_eol      (input only, non-std) */
104
#define BELL    0x07    /* <ctrl>G      bell - audio */
105
#define BS      0x08    /* <ctrl>H      back space      (left arrow) */
106
#define HT      0x09    /* <ctrl>I      horizontal tab */
107
#define LF      0x0a    /* <ctrl>J      line feed       (down arrow) */
108
#define VT      0x0b    /* <ctrl>K      vertical tab    (up arrow) */
109
#define FF      0x0c    /* <ctrl>L      form feed       (right arrow) */
110
#define RTN     0x0d    /* <ctrl>M      carrage return */
111
#define CR      0x0d    /* <ctrl>M      carrage return */
112
 
113
#define INSC    0x0e    /* <ctrl>N      insert char     (input only, non-std) */
114
#define XON     0x11    /* <ctrl>Q      DC1 - continue */
115
#define BT      0x12    /* <ctrl>R      reverse tab     (input only, non-std) */
116
#define XOFF    0x13    /* <ctrl>S      DC3 - wait */
117
#define INSE    0x16    /* <ctrl>V      insert-expand   (input only, non-std) */
118
#define DELC    0x18    /* <ctrl>X      delete char     (input only, non-std) */
119
#define CLRH    0x1a    /* <ctrl>Z      clear/home      (input only) */
120
#define ESC     0x1b    /* <ctrl>[      escape          (must call key again) */
121
#define ENDL    0x1c    /* <ctrl>\      cursor-to-eol   (input only, non-std) */
122
#define HOME    0x1e    /* <ctrl>^      cursor home     (input only) */
123
#define DEL     0x7f    /* <shift>BS    destructive backspace */

powered by: WebSVN 2.1.0

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