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