aboutsummaryrefslogtreecommitdiffstats
path: root/fw/audits/xgmi.json
blob: 3bc26a03feeb7efecca5d370d0243a4dab3c5319 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
{
 "xgmi_cmd00": {
  "addr": "0x403144",
  "copies": [
   [
    "xgmi_cmd00",
    "_BYTE *a1, int *a2, int a3",
    "int a3"
   ],
   [
    "sub_403E80",
    "a1: 4, a2: \"XGMI nodes %d\", v12",
    "v12"
   ],
   [
    "sub_402ED2",
    "a1: v11, a2: a1, a3",
    "a3"
   ]
  ],
  "guards": [
   "if ( a2 == nullptr ) /*0x40315a*/",
   "if ( dword_406038 == 1 ) /*0x403168*/",
   "if ( dword_406018 != 0 ) /*0x40317a*/",
   "if ( *a1 != 0 && byte_406014 == 0 ) /*0x40318a*/",
   "if ( sub_403D42(a1: v11) != 0 ) /*0x4031a6*/",
   "if ( v12 > 0x40 ) /*0x4031b6*/"
  ],
  "lines": 70
 },
 "xgmi_cmd01": {
  "addr": "0x403058",
  "copies": [],
  "guards": [
   "if ( a2 == nullptr ) /*0x40305a*/",
   "if ( dword_406038 == 1 ) /*0x403068*/",
   "if ( *a1 == 0 ) /*0x403070*/"
  ],
  "lines": 12
 },
 "xgmi_cmd03": {
  "addr": "0x40311a",
  "copies": [
   [
    "xgmi_cmd03",
    "_BYTE *a1, int a2, int a3",
    "int a3"
   ]
  ],
  "guards": [
   "if ( a2 != 0 && a3 != 0 ) /*0x403120*/",
   "if ( dword_406038 == 1 ) /*0x40312e*/",
   "else if ( *a1 != 0 ) /*0x403136*/"
  ],
  "lines": 22
 },
 "xgmi_cmd04": {
  "addr": "0x4033d8",
  "copies": [],
  "guards": [
   "if ( a2 == 0 ) /*0x4033d8*/",
   "if ( dword_406038 == 1 ) /*0x4033e6*/",
   "if ( *a1 != 0 ) /*0x4033ee*/"
  ],
  "lines": 10
 },
 "xgmi_cmd05": {
  "addr": "0x4030a8",
  "copies": [],
  "guards": [
   "if ( a2 == nullptr ) /*0x4030b2*/",
   "if ( *a1 == 0 ) /*0x4030b6*/",
   "if ( sub_403D6C(a1: 1, a2: &v7) == 0 ) /*0x4030c2*/",
   "if ( (v4 & 0x10000) != 0 ) /*0x4030ce*/",
   "else if ( (v4 & 0x20000) != 0 ) /*0x4030d2*/",
   "else if ( (v4 & 0x40000) != 0 ) /*0x4030d6*/"
  ],
  "lines": 56
 },
 "xgmi_cmd06": {
  "addr": "0x403238",
  "copies": [],
  "guards": [
   "if ( a2 == nullptr ) /*0x403242*/",
   "if ( *a1 == 0 ) /*0x403246*/",
   "if ( sub_403D6C(a1: 1, a2: &v6) == 0 ) /*0x40325c*/",
   "if ( sub_403D6C(a1: 2, a2: &v6) != 0 ) /*0x40326a*/",
   "if ( sub_403D6C(a1: 3, a2: &v6) != 0 ) /*0x403284*/",
   "if ( sub_403D6C(a1: 4, a2: &v6) != 0 ) /*0x403296*/"
  ],
  "lines": 126
 },
 "xgmi_cmd07": {
  "addr": "0x4033fc",
  "copies": [],
  "guards": [
   "if ( a2 == nullptr ) /*0x4033fe*/",
   "if ( *a1 == 0 ) /*0x403402*/",
   "if ( *a2 <= 0xFFu ) /*0x403408*/"
  ],
  "lines": 10
 },
 "xgmi_cmd08": {
  "addr": "0x403364",
  "copies": [],
  "guards": [
   "if ( a2 == nullptr ) /*0x40336e*/",
   "if ( *a1 == 0 ) /*0x403372*/",
   "if ( sub_403D6C(a1: 9, a2: &v4) != 0 ) /*0x403382*/",
   "if ( sub_403D6C(a1: 10, a2: &v4) != 0 ) /*0x403390*/"
  ],
  "lines": 19
 },
 "xgmi_cmd09": {
  "addr": "0x4033a8",
  "copies": [],
  "guards": [
   "if ( a2 == 0 ) /*0x4033aa*/",
   "if ( *a1 == 0 ) /*0x4033ae*/",
   "if ( *(_DWORD *)a2 == 0 ) /*0x4033b2*/",
   "if ( v2 != 4 ) /*0x4033b8*/",
   "if ( result != 0 ) /*0x4033c6*/"
  ],
  "lines": 23
 },
 "xgmi_cmd0A": {
  "addr": "0x403426",
  "copies": [],
  "guards": [
   "if ( a2 == 0 ) /*0x403428*/",
   "if ( *a1 == 0 ) /*0x40342c*/",
   "if ( *(_DWORD *)a2 == 0 ) /*0x403430*/",
   "if ( v2 != 4 ) /*0x403436*/",
   "if ( result != 0 ) /*0x403444*/"
  ],
  "lines": 23
 },
 "xgmi_cmd0B": {
  "addr": "0x403034",
  "copies": [],
  "guards": [
   "if ( a2 == 0 ) /*0x403034*/",
   "if ( dword_406038 == 1 ) /*0x403042*/",
   "if ( *a1 != 0 ) /*0x40304a*/"
  ],
  "lines": 10
 }
}