Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1029 serge 1
/*
2
 * Copyright 2006-2007 Advanced Micro Devices, Inc.
3
 *
4
 * Permission is hereby granted, free of charge, to any person obtaining a
5
 * copy of this software and associated documentation files (the "Software"),
6
 * to deal in the Software without restriction, including without limitation
7
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8
 * and/or sell copies of the Software, and to permit persons to whom the
9
 * Software is furnished to do so, subject to the following conditions:
10
 *
11
 * The above copyright notice and this permission notice shall be included in
12
 * all copies or substantial portions of the Software.
13
 *
14
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
17
 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
18
 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20
 * OTHER DEALINGS IN THE SOFTWARE.
21
 */
22
 
23
/*++
24
 
25
Module Name:
26
 
27
CD_OPCODEs.h
28
 
29
Abstract:
30
 
31
Defines Command Decoder OPCODEs
32
 
33
Revision History:
34
 
35
NEG:24.09.2002	Initiated.
36
--*/
37
#ifndef _CD_OPCODES_H_
38
#define _CD_OPCODES_H_
39
 
40
typedef enum _OPCODE {
41
    Reserved_00= 0,				//	0	= 0x00
42
    // MOVE_ group
43
    MOVE_REG_OPCODE,			//	1	= 0x01
44
    FirstValidCommand=MOVE_REG_OPCODE,
45
    MOVE_PS_OPCODE,				//	2	= 0x02
46
    MOVE_WS_OPCODE,				//	3	= 0x03
47
    MOVE_FB_OPCODE,				//	4	= 0x04
48
    MOVE_PLL_OPCODE,			//	5	= 0x05
49
    MOVE_MC_OPCODE,				//	6	= 0x06
50
    // Logic group
51
    AND_REG_OPCODE,				//	7	= 0x07
52
    AND_PS_OPCODE,				//	8	= 0x08
53
    AND_WS_OPCODE,				//	9	= 0x09
54
    AND_FB_OPCODE,				//	10	= 0x0A
55
    AND_PLL_OPCODE,				//	11	= 0x0B
56
    AND_MC_OPCODE,				//	12	= 0x0C
57
    OR_REG_OPCODE,				//	13	= 0x0D
58
    OR_PS_OPCODE,				//	14	= 0x0E
59
    OR_WS_OPCODE,				//	15	= 0x0F
60
    OR_FB_OPCODE,				//	16	= 0x10
61
    OR_PLL_OPCODE,				//	17	= 0x11
62
    OR_MC_OPCODE,				//	18	= 0x12
63
    SHIFT_LEFT_REG_OPCODE,		//	19	= 0x13
64
    SHIFT_LEFT_PS_OPCODE,		//	20	= 0x14
65
    SHIFT_LEFT_WS_OPCODE,		//	21	= 0x15
66
    SHIFT_LEFT_FB_OPCODE,		//	22	= 0x16
67
    SHIFT_LEFT_PLL_OPCODE,		//	23	= 0x17
68
    SHIFT_LEFT_MC_OPCODE,		//	24	= 0x18
69
    SHIFT_RIGHT_REG_OPCODE,		//	25	= 0x19
70
    SHIFT_RIGHT_PS_OPCODE,		//	26	= 0x1A
71
    SHIFT_RIGHT_WS_OPCODE,		//	27	= 0x1B
72
    SHIFT_RIGHT_FB_OPCODE,		//	28	= 0x1C
73
    SHIFT_RIGHT_PLL_OPCODE,		//	29	= 0x1D
74
    SHIFT_RIGHT_MC_OPCODE,		//	30	= 0x1E
75
    // Arithmetic group
76
    MUL_REG_OPCODE,				//	31	= 0x1F
77
    MUL_PS_OPCODE,				//	32	= 0x20
78
    MUL_WS_OPCODE,				//	33	= 0x21
79
    MUL_FB_OPCODE,				//	34	= 0x22
80
    MUL_PLL_OPCODE,				//	35	= 0x23
81
    MUL_MC_OPCODE,				//	36	= 0x24
82
    DIV_REG_OPCODE,				//	37	= 0x25
83
    DIV_PS_OPCODE,				//	38	= 0x26
84
    DIV_WS_OPCODE,				//	39	= 0x27
85
    DIV_FB_OPCODE,				//	40	= 0x28
86
    DIV_PLL_OPCODE,				//	41	= 0x29
87
    DIV_MC_OPCODE,				//	42	= 0x2A
88
    ADD_REG_OPCODE,				//	43	= 0x2B
89
    ADD_PS_OPCODE,				//	44	= 0x2C
90
    ADD_WS_OPCODE,				//	45	= 0x2D
91
    ADD_FB_OPCODE,				//	46	= 0x2E
92
    ADD_PLL_OPCODE,				//	47	= 0x2F
93
    ADD_MC_OPCODE,				//	48	= 0x30
94
    SUB_REG_OPCODE,				//	49	= 0x31
95
    SUB_PS_OPCODE,				//	50	= 0x32
96
    SUB_WS_OPCODE,				//	51	= 0x33
97
    SUB_FB_OPCODE,				//	52	= 0x34
98
    SUB_PLL_OPCODE,				//	53	= 0x35
99
    SUB_MC_OPCODE,				//	54	= 0x36
100
    // Control grouop
101
    SET_ATI_PORT_OPCODE,		//	55	= 0x37
102
    SET_PCI_PORT_OPCODE,		//	56	= 0x38
103
    SET_SYS_IO_PORT_OPCODE,		//	57	= 0x39
104
    SET_REG_BLOCK_OPCODE,		//	58	= 0x3A
105
    SET_FB_BASE_OPCODE,			//	59	= 0x3B
106
    COMPARE_REG_OPCODE,			//	60	= 0x3C
107
    COMPARE_PS_OPCODE,			//	61	= 0x3D
108
    COMPARE_WS_OPCODE,			//	62	= 0x3E
109
    COMPARE_FB_OPCODE,			//	63	= 0x3F
110
    COMPARE_PLL_OPCODE,			//	64	= 0x40
111
    COMPARE_MC_OPCODE,			//	65	= 0x41
112
    SWITCH_OPCODE,				//	66	= 0x42
113
    JUMP__OPCODE,				//	67	= 0x43
114
    JUMP_EQUAL_OPCODE,			//	68	= 0x44
115
    JUMP_BELOW_OPCODE,			//	69	= 0x45
116
    JUMP_ABOVE_OPCODE,			//	70	= 0x46
117
    JUMP_BELOW_OR_EQUAL_OPCODE,	//	71	= 0x47
118
    JUMP_ABOVE_OR_EQUAL_OPCODE,	//	72	= 0x48
119
    JUMP_NOT_EQUAL_OPCODE,		//	73	= 0x49
120
    TEST_REG_OPCODE,			//	74	= 0x4A
121
    TEST_PS_OPCODE,				//	75	= 0x4B
122
    TEST_WS_OPCODE,				//	76	= 0x4C
123
    TEST_FB_OPCODE,				//	77	= 0x4D
124
    TEST_PLL_OPCODE,			//	78	= 0x4E
125
    TEST_MC_OPCODE,				//	79	= 0x4F
126
    DELAY_MILLISEC_OPCODE,		//	80	= 0x50
127
    DELAY_MICROSEC_OPCODE,		//	81	= 0x51
128
    CALL_TABLE_OPCODE,			//	82	= 0x52
129
    REPEAT_OPCODE,				//	83	= 0x53
130
    //	Miscellaneous	group
131
    CLEAR_REG_OPCODE,			//	84	= 0x54
132
    CLEAR_PS_OPCODE,			//	85	= 0x55
133
    CLEAR_WS_OPCODE,			//	86	= 0x56
134
    CLEAR_FB_OPCODE,			//	87	= 0x57
135
    CLEAR_PLL_OPCODE,			//	88	= 0x58
136
    CLEAR_MC_OPCODE,			//	89	= 0x59
137
    NOP_OPCODE,					//	90	= 0x5A
138
    EOT_OPCODE,					//	91	= 0x5B
139
    MASK_REG_OPCODE,			//	92	= 0x5C
140
    MASK_PS_OPCODE,				//	93	= 0x5D
141
    MASK_WS_OPCODE,				//	94	= 0x5E
142
    MASK_FB_OPCODE,				//	95	= 0x5F
143
    MASK_PLL_OPCODE,			//	96	= 0x60
144
    MASK_MC_OPCODE,				//	97	= 0x61
145
    // BIOS dedicated group
146
    POST_CARD_OPCODE,			//	98	= 0x62
147
    BEEP_OPCODE,				//	99	= 0x63
148
    SAVE_REG_OPCODE,			//	100 = 0x64
149
    RESTORE_REG_OPCODE,			//	101	= 0x65
150
    SET_DATA_BLOCK_OPCODE,			//	102     = 0x66
151
 
152
    XOR_REG_OPCODE,				//	103	= 0x67
153
    XOR_PS_OPCODE,				//	104	= 0x68
154
    XOR_WS_OPCODE,				//	105	= 0x69
155
    XOR_FB_OPCODE,				//	106	= 0x6a
156
    XOR_PLL_OPCODE,				//	107	= 0x6b
157
    XOR_MC_OPCODE,				//	108	= 0x6c
158
 
159
    SHL_REG_OPCODE,				//	109	= 0x6d
160
    SHL_PS_OPCODE,				//	110	= 0x6e
161
    SHL_WS_OPCODE,				//	111	= 0x6f
162
    SHL_FB_OPCODE,				//	112	= 0x70
163
    SHL_PLL_OPCODE,				//	113	= 0x71
164
    SHL_MC_OPCODE,				//	114	= 0x72
165
 
166
    SHR_REG_OPCODE,				//	115	= 0x73
167
    SHR_PS_OPCODE,				//	116	= 0x74
168
    SHR_WS_OPCODE,				//	117	= 0x75
169
    SHR_FB_OPCODE,				//	118	= 0x76
170
    SHR_PLL_OPCODE,				//	119	= 0x77
171
    SHR_MC_OPCODE,				//	120	= 0x78
172
 
173
    DEBUG_OPCODE,                           //	121	= 0x79
174
    CTB_DS_OPCODE,                          //	122	= 0x7A
175
 
176
    LastValidCommand = CTB_DS_OPCODE,
177
    //	Extension specificaTOR
178
    Extension	= 0x80,			//	128 = 0x80	// Next byte is an OPCODE as well
179
    Reserved_FF = 255			//	255 = 0xFF
180
}OPCODE;
181
#endif		// _CD_OPCODES_H_