blob: 4ba069dca2b8d99f07de0b51edc4072fdac27352 [file] [log] [blame]
Googlerb48fa912023-03-17 12:40:29 +05301/* Copyright (c) 2008-2020, The Linux Foundation. All rights reserved.
2 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 */
12
13#ifndef DIAGCHAR_SHARED
14#define DIAGCHAR_SHARED
15
16#define MSG_MASKS_TYPE 0x00000001
17#define LOG_MASKS_TYPE 0x00000002
18#define EVENT_MASKS_TYPE 0x00000004
19#define PKT_TYPE 0x00000008
20#define DEINIT_TYPE 0x00000010
21#define USER_SPACE_DATA_TYPE 0x00000020
22#define DCI_DATA_TYPE 0x00000040
23#define USER_SPACE_RAW_DATA_TYPE 0x00000080
24#define DCI_LOG_MASKS_TYPE 0x00000100
25#define DCI_EVENT_MASKS_TYPE 0x00000200
26#define DCI_PKT_TYPE 0x00000400
27#define HDLC_SUPPORT_TYPE 0x00001000
28
29#define USB_MODE 1
30#define MEMORY_DEVICE_MODE 2
31#define NO_LOGGING_MODE 3
32#define UART_MODE 4
33#define SOCKET_MODE 5
34#define CALLBACK_MODE 6
35#define PCIE_MODE 7
36
37/* different values that go in for diag_data_type */
38#define DATA_TYPE_EVENT 0
39#define DATA_TYPE_F3 1
40#define DATA_TYPE_LOG 2
41#define DATA_TYPE_RESPONSE 3
42#define DATA_TYPE_DELAYED_RESPONSE 4
43#define DATA_TYPE_DCI_LOG 0x00000100
44#define DATA_TYPE_DCI_EVENT 0x00000200
45
46/* Different IOCTL values */
47#define DIAG_IOCTL_COMMAND_REG 0
48#define DIAG_IOCTL_COMMAND_DEREG 1
49#define DIAG_IOCTL_SWITCH_LOGGING 7
50#define DIAG_IOCTL_GET_DELAYED_RSP_ID 8
51#define DIAG_IOCTL_LSM_DEINIT 9
52#define DIAG_IOCTL_DCI_INIT 20
53#define DIAG_IOCTL_DCI_DEINIT 21
54#define DIAG_IOCTL_DCI_SUPPORT 22
55#define DIAG_IOCTL_DCI_REG 23
56#define DIAG_IOCTL_DCI_STREAM_INIT 24
57#define DIAG_IOCTL_DCI_HEALTH_STATS 25
58#define DIAG_IOCTL_DCI_LOG_STATUS 26
59#define DIAG_IOCTL_DCI_EVENT_STATUS 27
60#define DIAG_IOCTL_DCI_CLEAR_LOGS 28
61#define DIAG_IOCTL_DCI_CLEAR_EVENTS 29
62#define DIAG_IOCTL_REMOTE_DEV 32
63#define DIAG_IOCTL_VOTE_REAL_TIME 33
64#define DIAG_IOCTL_GET_REAL_TIME 34
65#define DIAG_IOCTL_PERIPHERAL_BUF_CONFIG 35
66#define DIAG_IOCTL_PERIPHERAL_BUF_DRAIN 36
67#define DIAG_IOCTL_REGISTER_CALLBACK 37
68#define DIAG_IOCTL_HDLC_TOGGLE 38
69#define DIAG_IOCTL_QUERY_PD_LOGGING 39
70#define DIAG_IOCTL_QUERY_CON_ALL 40
71#define DIAG_IOCTL_QUERY_MD_PID 41
72
73/* PC Tools IDs */
74#define APQ8060_TOOLS_ID 4062
75#define AO8960_TOOLS_ID 4064
76#define APQ8064_TOOLS_ID 4072
77#define MSM8625_TOOLS_ID 4075
78#define MSM8930_TOOLS_ID 4076
79#define MSM8630_TOOLS_ID 4077
80#define MSM8230_TOOLS_ID 4078
81#define APQ8030_TOOLS_ID 4079
82#define MSM8627_TOOLS_ID 4080
83#define MSM8227_TOOLS_ID 4081
84#define MSM8974_TOOLS_ID 4083
85#define APQ8074_TOOLS_ID 4090
86#define MSM8916_TOOLS_ID 4094
87#define APQ8084_TOOLS_ID 4095
88#define MSM8994_TOOLS_ID 4097
89#define MSM8939_TOOLS_ID 4103
90#define APQ8026_TOOLS_ID 4104
91#define MSM8909_TOOLS_ID 4108
92#define MSM8992_TOOLS_ID 4111
93#define MSM8952_TOOLS_ID 4110
94#define MSM_8996_TOOLS_ID 4112
95
96#define MSG_MASK_0 (0x00000001)
97#define MSG_MASK_1 (0x00000002)
98#define MSG_MASK_2 (0x00000004)
99#define MSG_MASK_3 (0x00000008)
100#define MSG_MASK_4 (0x00000010)
101#define MSG_MASK_5 (0x00000020)
102#define MSG_MASK_6 (0x00000040)
103#define MSG_MASK_7 (0x00000080)
104#define MSG_MASK_8 (0x00000100)
105#define MSG_MASK_9 (0x00000200)
106#define MSG_MASK_10 (0x00000400)
107#define MSG_MASK_11 (0x00000800)
108#define MSG_MASK_12 (0x00001000)
109#define MSG_MASK_13 (0x00002000)
110#define MSG_MASK_14 (0x00004000)
111#define MSG_MASK_15 (0x00008000)
112#define MSG_MASK_16 (0x00010000)
113#define MSG_MASK_17 (0x00020000)
114#define MSG_MASK_18 (0x00040000)
115#define MSG_MASK_19 (0x00080000)
116#define MSG_MASK_20 (0x00100000)
117#define MSG_MASK_21 (0x00200000)
118#define MSG_MASK_22 (0x00400000)
119#define MSG_MASK_23 (0x00800000)
120#define MSG_MASK_24 (0x01000000)
121#define MSG_MASK_25 (0x02000000)
122#define MSG_MASK_26 (0x04000000)
123#define MSG_MASK_27 (0x08000000)
124#define MSG_MASK_28 (0x10000000)
125#define MSG_MASK_29 (0x20000000)
126#define MSG_MASK_30 (0x40000000)
127#define MSG_MASK_31 (0x80000000)
128
129/* These masks are to be used for support of all legacy messages in the sw.
130 * The user does not need to remember the names as they will be embedded in
131 * the appropriate macros.
132 */
133#define MSG_LEGACY_LOW MSG_MASK_0
134#define MSG_LEGACY_MED MSG_MASK_1
135#define MSG_LEGACY_HIGH MSG_MASK_2
136#define MSG_LEGACY_ERROR MSG_MASK_3
137#define MSG_LEGACY_FATAL MSG_MASK_4
138
139/* Legacy Message Priorities */
140#define MSG_LVL_FATAL (MSG_LEGACY_FATAL)
141#define MSG_LVL_ERROR (MSG_LEGACY_ERROR | MSG_LVL_FATAL)
142#define MSG_LVL_HIGH (MSG_LEGACY_HIGH | MSG_LVL_ERROR)
143#define MSG_LVL_MED (MSG_LEGACY_MED | MSG_LVL_HIGH)
144#define MSG_LVL_LOW (MSG_LEGACY_LOW | MSG_LVL_MED)
145
146#define MSG_LVL_NONE 0
147
148/* This needs to be modified manually now, when we add
149 * a new RANGE of SSIDs to the msg_mask_tbl.
150 */
151#define MSG_MASK_TBL_CNT 26
152#define APPS_EVENT_LAST_ID 0xCB9
153
154#define MSG_SSID_0 0
155#define MSG_SSID_0_LAST 132
156#define MSG_SSID_1 500
157#define MSG_SSID_1_LAST 506
158#define MSG_SSID_2 1000
159#define MSG_SSID_2_LAST 1007
160#define MSG_SSID_3 2000
161#define MSG_SSID_3_LAST 2008
162#define MSG_SSID_4 3000
163#define MSG_SSID_4_LAST 3014
164#define MSG_SSID_5 4000
165#define MSG_SSID_5_LAST 4010
166#define MSG_SSID_6 4500
167#define MSG_SSID_6_LAST 4584
168#define MSG_SSID_7 4600
169#define MSG_SSID_7_LAST 4616
170#define MSG_SSID_8 5000
171#define MSG_SSID_8_LAST 5036
172#define MSG_SSID_9 5500
173#define MSG_SSID_9_LAST 5517
174#define MSG_SSID_10 6000
175#define MSG_SSID_10_LAST 6081
176#define MSG_SSID_11 6500
177#define MSG_SSID_11_LAST 6521
178#define MSG_SSID_12 7000
179#define MSG_SSID_12_LAST 7003
180#define MSG_SSID_13 7100
181#define MSG_SSID_13_LAST 7111
182#define MSG_SSID_14 7200
183#define MSG_SSID_14_LAST 7201
184#define MSG_SSID_15 8000
185#define MSG_SSID_15_LAST 8000
186#define MSG_SSID_16 8500
187#define MSG_SSID_16_LAST 8532
188#define MSG_SSID_17 9000
189#define MSG_SSID_17_LAST 9008
190#define MSG_SSID_18 9500
191#define MSG_SSID_18_LAST 9521
192#define MSG_SSID_19 10200
193#define MSG_SSID_19_LAST 10210
194#define MSG_SSID_20 10251
195#define MSG_SSID_20_LAST 10255
196#define MSG_SSID_21 10300
197#define MSG_SSID_21_LAST 10300
198#define MSG_SSID_22 10350
199#define MSG_SSID_22_LAST 10377
200#define MSG_SSID_23 10400
201#define MSG_SSID_23_LAST 10416
202#define MSG_SSID_24 10500
203#define MSG_SSID_24_LAST 10505
204#define MSG_SSID_25 0xC000
205#define MSG_SSID_25_LAST 0xC063
206
207static const uint32_t msg_bld_masks_0[] = {
208 MSG_LVL_LOW,
209 MSG_LVL_MED,
210 MSG_LVL_LOW,
211 MSG_LVL_ERROR,
212 MSG_LVL_LOW,
213 MSG_LVL_LOW,
214 MSG_LVL_MED,
215 MSG_LVL_HIGH,
216 MSG_LVL_ERROR,
217 MSG_LVL_LOW,
218 MSG_LVL_LOW,
219 MSG_LVL_ERROR,
220 MSG_LVL_MED,
221 MSG_LVL_MED,
222 MSG_LVL_MED,
223 MSG_LVL_HIGH,
224 MSG_LVL_HIGH,
225 MSG_LVL_MED | MSG_MASK_5 | MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8,
226 MSG_LVL_LOW,
227 MSG_LVL_ERROR,
228 MSG_LVL_LOW,
229 MSG_LVL_MED,
230 MSG_LVL_MED,
231 MSG_LVL_LOW,
232 MSG_LVL_MED,
233 MSG_LVL_LOW,
234 MSG_LVL_MED,
235 MSG_LVL_MED,
236 MSG_LVL_MED,
237 MSG_LVL_MED,
238 MSG_LVL_MED | MSG_MASK_7 | MSG_MASK_8 | MSG_MASK_9 | MSG_MASK_10 |
239 MSG_MASK_11 | MSG_MASK_12 | MSG_MASK_13 | MSG_MASK_14 |
240 MSG_MASK_15 | MSG_MASK_16 | MSG_MASK_17 | MSG_MASK_18 |
241 MSG_MASK_19 | MSG_MASK_20 | MSG_MASK_21,
242 MSG_LVL_MED | MSG_MASK_5 | MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8 |
243 MSG_MASK_9 | MSG_MASK_10 | MSG_MASK_11 | MSG_MASK_12 |
244 MSG_MASK_13 | MSG_MASK_14 | MSG_MASK_15 | MSG_MASK_16 |
245 MSG_MASK_17,
246 MSG_LVL_LOW,
247 MSG_LVL_MED,
248 MSG_LVL_HIGH,
249 MSG_LVL_HIGH,
250 MSG_LVL_HIGH,
251 MSG_LVL_HIGH,
252 MSG_LVL_MED,
253 MSG_LVL_MED,
254 MSG_LVL_MED | MSG_MASK_5 | MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8,
255 MSG_LVL_LOW,
256 MSG_LVL_LOW,
257 MSG_LVL_HIGH,
258 MSG_LVL_HIGH,
259 MSG_LVL_HIGH,
260 MSG_LVL_MED,
261 MSG_LVL_MED | MSG_MASK_5 | MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8 |
262 MSG_MASK_9 | MSG_MASK_10 | MSG_MASK_11 | MSG_MASK_12 |
263 MSG_MASK_13 | MSG_MASK_14 | MSG_MASK_15 | MSG_MASK_16 |
264 MSG_MASK_17 | MSG_MASK_18 | MSG_MASK_19 | MSG_MASK_20 |
265 MSG_MASK_21 | MSG_MASK_22 | MSG_MASK_23 | MSG_MASK_24|
266 MSG_MASK_25,
267 MSG_LVL_MED | MSG_MASK_5 | MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8 |
268 MSG_MASK_9 | MSG_MASK_10,
269 MSG_LVL_MED,
270 MSG_LVL_LOW,
271 MSG_LVL_MED,
272 MSG_LVL_MED,
273 MSG_LVL_LOW,
274 MSG_LVL_LOW,
275 MSG_LVL_LOW,
276 MSG_LVL_HIGH,
277 MSG_LVL_LOW,
278 MSG_LVL_LOW,
279 MSG_LVL_LOW | MSG_MASK_5 | MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8,
280 MSG_LVL_LOW | MSG_MASK_5 | MSG_MASK_6,
281 MSG_LVL_MED,
282 MSG_LVL_MED,
283 MSG_LVL_LOW,
284 MSG_LVL_MED | MSG_MASK_5 | MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8 |
285 MSG_MASK_9 | MSG_MASK_10 | MSG_MASK_11 | MSG_MASK_12 |
286 MSG_MASK_13 | MSG_MASK_14 | MSG_MASK_15 | MSG_MASK_16 |
287 MSG_MASK_17 | MSG_MASK_18 | MSG_MASK_19 | MSG_MASK_20,
288 MSG_LVL_LOW,
289 MSG_LVL_MED,
290 MSG_LVL_LOW,
291 MSG_LVL_LOW,
292 MSG_LVL_LOW,
293 MSG_LVL_HIGH,
294 MSG_LVL_HIGH,
295 MSG_LVL_LOW,
296 MSG_LVL_LOW,
297 MSG_LVL_LOW,
298 MSG_LVL_LOW,
299 MSG_LVL_LOW,
300 MSG_LVL_HIGH | MSG_MASK_21,
301 MSG_LVL_HIGH,
302 MSG_LVL_LOW,
303 MSG_LVL_LOW,
304 MSG_LVL_LOW,
305 MSG_LVL_LOW,
306 MSG_LVL_LOW,
307 MSG_LVL_LOW,
308 MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
309 MSG_LVL_FATAL,
310 MSG_LVL_LOW,
311 MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
312 MSG_LVL_FATAL,
313 MSG_LVL_LOW,
314 MSG_LVL_MED,
315 MSG_LVL_LOW,
316 MSG_LVL_LOW,
317 MSG_LVL_LOW,
318 MSG_LVL_LOW,
319 MSG_LVL_LOW,
320 MSG_LVL_LOW,
321 MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
322 MSG_LVL_FATAL,
323 MSG_LVL_MED,
324 MSG_LVL_HIGH,
325 MSG_LVL_MED,
326 MSG_LVL_HIGH,
327 MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
328 MSG_LVL_FATAL,
329 MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR,
330 MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR,
331 MSG_LVL_MED | MSG_LVL_HIGH,
332 MSG_LVL_MED | MSG_LVL_HIGH,
333 MSG_LVL_LOW,
334 MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
335 MSG_LVL_FATAL,
336 MSG_LVL_HIGH,
337 MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
338 MSG_LVL_FATAL,
339 MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
340 MSG_LVL_FATAL,
341 MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
342 MSG_LVL_FATAL,
343 MSG_LVL_LOW,
344 MSG_LVL_MED,
345 MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
346 MSG_LVL_FATAL,
347 MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
348 MSG_LVL_FATAL,
349 MSG_LVL_MED,
350 MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
351 MSG_LVL_FATAL,
352 MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
353 MSG_LVL_FATAL,
354 MSG_LVL_MED,
355 MSG_LVL_MED,
356 MSG_LVL_HIGH,
357 MSG_LVL_LOW,
358 MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
359 MSG_LVL_FATAL,
360 MSG_LVL_HIGH,
361 MSG_LVL_LOW,
362 MSG_LVL_MED,
363 MSG_LVL_MED,
364 MSG_LVL_HIGH,
365 MSG_LVL_HIGH,
366 MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR,
367 MSG_LVL_HIGH
368};
369
370static const uint32_t msg_bld_masks_1[] = {
371 MSG_LVL_MED,
372 MSG_LVL_HIGH,
373 MSG_LVL_HIGH,
374 MSG_LVL_LOW,
375 MSG_LVL_HIGH,
376 MSG_LVL_HIGH,
377 MSG_LVL_HIGH
378};
379
380static const uint32_t msg_bld_masks_2[] = {
381 MSG_LVL_MED,
382 MSG_LVL_MED,
383 MSG_LVL_MED,
384 MSG_LVL_MED,
385 MSG_LVL_MED,
386 MSG_LVL_MED | MSG_MASK_5,
387 MSG_LVL_MED,
388 MSG_LVL_MED
389};
390
391static const uint32_t msg_bld_masks_3[] = {
392 MSG_LVL_MED,
393 MSG_LVL_MED,
394 MSG_LVL_MED,
395 MSG_LVL_MED,
396 MSG_LVL_MED,
397 MSG_LVL_MED | MSG_MASK_5 | MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8 |
398 MSG_MASK_9 | MSG_MASK_10,
399 MSG_LVL_MED,
400 MSG_LVL_MED,
401 MSG_LVL_MED
402};
403
404static const uint32_t msg_bld_masks_4[] = {
405 MSG_LVL_HIGH,
406 MSG_LVL_HIGH,
407 MSG_LVL_HIGH,
408 MSG_LVL_HIGH,
409 MSG_LVL_HIGH,
410 MSG_LVL_HIGH,
411 MSG_LVL_HIGH,
412 MSG_LVL_HIGH,
413 MSG_LVL_HIGH,
414 MSG_LVL_HIGH,
415 MSG_LVL_HIGH,
416 MSG_LVL_HIGH,
417 MSG_LVL_HIGH,
418 MSG_LVL_LOW,
419 MSG_LVL_LOW
420};
421
422static const uint32_t msg_bld_masks_5[] = {
423 MSG_LVL_HIGH,
424 MSG_LVL_MED,
425 MSG_LVL_HIGH,
426 MSG_LVL_MED,
427 MSG_LVL_MED,
428 MSG_LVL_MED,
429 MSG_LVL_MED,
430 MSG_LVL_MED,
431 MSG_LVL_MED,
432 MSG_LVL_MED | MSG_LVL_MED | MSG_MASK_5 | MSG_MASK_6 | MSG_MASK_7 |
433 MSG_MASK_8 | MSG_MASK_9,
434 MSG_LVL_MED
435};
436
437static const uint32_t msg_bld_masks_6[] = {
438 MSG_LVL_LOW | MSG_MASK_5,
439 MSG_LVL_LOW | MSG_MASK_5,
440 MSG_LVL_LOW | MSG_MASK_5,
441 MSG_LVL_LOW | MSG_MASK_5,
442 MSG_LVL_LOW | MSG_MASK_5,
443 MSG_LVL_LOW | MSG_MASK_5,
444 MSG_LVL_LOW | MSG_MASK_5,
445 MSG_LVL_LOW | MSG_MASK_5,
446 MSG_LVL_LOW | MSG_MASK_5,
447 MSG_LVL_LOW | MSG_MASK_5,
448 MSG_LVL_LOW | MSG_MASK_5,
449 MSG_LVL_LOW | MSG_MASK_5,
450 MSG_LVL_LOW | MSG_MASK_5,
451 MSG_LVL_LOW | MSG_MASK_5,
452 MSG_LVL_LOW | MSG_MASK_5,
453 MSG_LVL_LOW | MSG_MASK_5,
454 MSG_LVL_LOW | MSG_MASK_5,
455 MSG_LVL_LOW | MSG_MASK_5,
456 MSG_LVL_LOW | MSG_MASK_5,
457 MSG_LVL_LOW | MSG_MASK_5,
458 MSG_LVL_LOW | MSG_MASK_5,
459 MSG_LVL_LOW | MSG_MASK_5,
460 MSG_LVL_LOW | MSG_MASK_5,
461 MSG_LVL_LOW | MSG_MASK_5,
462 MSG_LVL_LOW | MSG_MASK_5,
463 MSG_LVL_LOW | MSG_MASK_5,
464 MSG_LVL_LOW | MSG_MASK_5,
465 MSG_LVL_LOW | MSG_MASK_5,
466 MSG_LVL_LOW | MSG_MASK_5,
467 MSG_LVL_LOW | MSG_MASK_5,
468 MSG_LVL_LOW | MSG_MASK_5,
469 MSG_LVL_LOW | MSG_MASK_5,
470 MSG_LVL_LOW | MSG_MASK_5,
471 MSG_LVL_LOW | MSG_MASK_5,
472 MSG_LVL_LOW | MSG_MASK_5,
473 MSG_LVL_LOW | MSG_MASK_5,
474 MSG_LVL_LOW | MSG_MASK_5,
475 MSG_LVL_LOW | MSG_MASK_5,
476 MSG_LVL_LOW | MSG_MASK_5,
477 MSG_LVL_LOW | MSG_MASK_5,
478 MSG_LVL_LOW | MSG_MASK_5,
479 MSG_LVL_LOW | MSG_MASK_5,
480 MSG_LVL_LOW | MSG_MASK_5,
481 MSG_LVL_LOW | MSG_MASK_5,
482 MSG_LVL_LOW | MSG_MASK_5,
483 MSG_LVL_LOW | MSG_MASK_5,
484 MSG_LVL_LOW | MSG_MASK_5,
485 MSG_LVL_LOW | MSG_MASK_5,
486 MSG_LVL_LOW | MSG_MASK_5,
487 MSG_LVL_LOW | MSG_MASK_5,
488 MSG_LVL_LOW | MSG_MASK_5,
489 MSG_LVL_LOW | MSG_MASK_5,
490 MSG_LVL_LOW | MSG_MASK_5,
491 MSG_LVL_LOW | MSG_MASK_5,
492 MSG_LVL_LOW | MSG_MASK_5,
493 MSG_LVL_LOW | MSG_MASK_5,
494 MSG_LVL_LOW | MSG_MASK_5,
495 MSG_LVL_LOW | MSG_MASK_5,
496 MSG_LVL_LOW | MSG_MASK_5,
497 MSG_LVL_LOW | MSG_MASK_5,
498 MSG_LVL_LOW | MSG_MASK_5,
499 MSG_LVL_LOW | MSG_MASK_5,
500 MSG_LVL_LOW | MSG_MASK_5,
501 MSG_LVL_LOW | MSG_MASK_5,
502 MSG_LVL_LOW | MSG_MASK_5,
503 MSG_LVL_LOW | MSG_MASK_5,
504 MSG_LVL_LOW | MSG_MASK_5,
505 MSG_LVL_LOW | MSG_MASK_5,
506 MSG_LVL_LOW | MSG_MASK_5,
507 MSG_LVL_LOW | MSG_MASK_5,
508 MSG_LVL_LOW | MSG_MASK_5,
509 MSG_LVL_LOW | MSG_MASK_5,
510 MSG_LVL_LOW | MSG_MASK_5,
511 MSG_LVL_LOW | MSG_MASK_5,
512 MSG_LVL_LOW | MSG_MASK_5,
513 MSG_LVL_LOW | MSG_MASK_5,
514 MSG_LVL_LOW | MSG_MASK_5,
515 MSG_LVL_LOW | MSG_MASK_5,
516 MSG_LVL_LOW | MSG_MASK_5,
517 MSG_LVL_LOW | MSG_MASK_5,
518 MSG_LVL_LOW | MSG_MASK_5,
519 MSG_LVL_LOW | MSG_MASK_5,
520 MSG_LVL_LOW | MSG_MASK_5,
521 MSG_LVL_LOW | MSG_MASK_5,
522 MSG_LVL_LOW | MSG_MASK_5,
523};
524
525static const uint32_t msg_bld_masks_7[] = {
526 MSG_LVL_MED,
527 MSG_LVL_MED,
528 MSG_LVL_MED,
529 MSG_LVL_MED,
530 MSG_LVL_MED,
531 MSG_LVL_MED,
532 MSG_LVL_MED,
533 MSG_LVL_MED,
534 MSG_LVL_MED,
535 MSG_LVL_MED,
536 MSG_LVL_MED,
537 MSG_LVL_MED,
538 MSG_LVL_LOW,
539 MSG_LVL_LOW,
540 MSG_LVL_LOW,
541 MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
542 MSG_LVL_FATAL,
543 MSG_LVL_LOW
544};
545
546static const uint32_t msg_bld_masks_8[] = {
547 MSG_LVL_MED,
548 MSG_LVL_MED,
549 MSG_LVL_MED,
550 MSG_LVL_MED,
551 MSG_LVL_MED,
552 MSG_LVL_MED,
553 MSG_LVL_MED,
554 MSG_LVL_MED,
555 MSG_LVL_MED,
556 MSG_LVL_MED,
557 MSG_LVL_MED,
558 MSG_LVL_MED,
559 MSG_LVL_MED,
560 MSG_LVL_MED,
561 MSG_LVL_MED,
562 MSG_LVL_MED,
563 MSG_LVL_MED,
564 MSG_LVL_MED,
565 MSG_LVL_MED,
566 MSG_LVL_MED,
567 MSG_LVL_MED,
568 MSG_LVL_MED,
569 MSG_LVL_MED,
570 MSG_LVL_MED,
571 MSG_LVL_MED,
572 MSG_LVL_MED,
573 MSG_LVL_MED,
574 MSG_LVL_MED,
575 MSG_LVL_MED,
576 MSG_LVL_MED,
577 MSG_LVL_MED,
578 MSG_LVL_MED,
579 MSG_LVL_MED,
580 MSG_LVL_MED,
581 MSG_LVL_MED,
582 MSG_LVL_MED,
583 MSG_LVL_HIGH
584};
585
586static const uint32_t msg_bld_masks_9[] = {
587 MSG_LVL_MED | MSG_MASK_5,
588 MSG_LVL_MED | MSG_MASK_5,
589 MSG_LVL_MED | MSG_MASK_5,
590 MSG_LVL_MED | MSG_MASK_5,
591 MSG_LVL_MED | MSG_MASK_5,
592 MSG_LVL_MED | MSG_MASK_5,
593 MSG_LVL_MED | MSG_MASK_5,
594 MSG_LVL_MED | MSG_MASK_5,
595 MSG_LVL_MED | MSG_MASK_5,
596 MSG_LVL_MED | MSG_MASK_5,
597 MSG_LVL_MED | MSG_MASK_5,
598 MSG_LVL_MED | MSG_MASK_5,
599 MSG_LVL_MED | MSG_MASK_5,
600 MSG_LVL_MED | MSG_MASK_5,
601 MSG_LVL_MED | MSG_MASK_5,
602 MSG_LVL_MED | MSG_MASK_5,
603 MSG_LVL_MED | MSG_MASK_5,
604 MSG_LVL_LOW
605};
606
607static const uint32_t msg_bld_masks_10[] = {
608 MSG_LVL_MED,
609 MSG_LVL_ERROR,
610 MSG_LVL_LOW,
611 MSG_LVL_LOW | MSG_MASK_5 | MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8 |
612 MSG_MASK_9 | MSG_MASK_10 | MSG_MASK_11 | MSG_MASK_12 |
613 MSG_MASK_13 | MSG_MASK_14 | MSG_MASK_15 | MSG_MASK_16 |
614 MSG_MASK_17 | MSG_MASK_18 | MSG_MASK_19 | MSG_MASK_20 |
615 MSG_MASK_21 | MSG_MASK_22,
616 MSG_LVL_LOW | MSG_MASK_5,
617 MSG_LVL_LOW,
618 MSG_LVL_LOW,
619 MSG_LVL_LOW,
620 MSG_LVL_LOW,
621 MSG_LVL_LOW,
622 MSG_LVL_LOW,
623 MSG_LVL_LOW,
624 MSG_LVL_LOW,
625 MSG_LVL_LOW | MSG_MASK_5,
626 MSG_LVL_LOW | MSG_MASK_5,
627 MSG_LVL_LOW | MSG_MASK_5,
628 MSG_LVL_LOW | MSG_MASK_5,
629 MSG_LVL_LOW | MSG_MASK_5,
630 MSG_LVL_LOW | MSG_MASK_5,
631 MSG_LVL_LOW | MSG_MASK_5,
632 MSG_LVL_LOW | MSG_MASK_5,
633 MSG_LVL_LOW | MSG_MASK_5,
634 MSG_LVL_LOW | MSG_MASK_5,
635 MSG_LVL_LOW | MSG_MASK_5,
636 MSG_LVL_LOW | MSG_MASK_5,
637 MSG_LVL_LOW | MSG_MASK_5,
638 MSG_LVL_LOW | MSG_MASK_5,
639 MSG_LVL_LOW | MSG_MASK_5,
640 MSG_LVL_LOW | MSG_MASK_5,
641 MSG_LVL_LOW | MSG_MASK_5,
642 MSG_LVL_LOW | MSG_MASK_5,
643 MSG_LVL_LOW | MSG_MASK_5,
644 MSG_LVL_LOW,
645 MSG_LVL_MED,
646 MSG_LVL_HIGH,
647 MSG_LVL_LOW,
648 MSG_LVL_LOW,
649 MSG_LVL_LOW | MSG_MASK_5,
650 MSG_LVL_LOW|MSG_MASK_0 | MSG_MASK_1 | MSG_MASK_2 | MSG_MASK_3 |
651 MSG_MASK_4 | MSG_MASK_5 | MSG_MASK_6,
652 MSG_LVL_HIGH,
653 MSG_LVL_LOW,
654 MSG_LVL_LOW,
655 MSG_LVL_LOW,
656 MSG_LVL_LOW,
657 MSG_LVL_LOW,
658 MSG_LVL_LOW,
659 MSG_LVL_LOW,
660 MSG_LVL_LOW,
661 MSG_LVL_LOW,
662 MSG_LVL_LOW,
663 MSG_LVL_LOW,
664 MSG_LVL_LOW,
665 MSG_LVL_MED,
666 MSG_LVL_MED,
667 MSG_LVL_MED,
668 MSG_LVL_MED,
669 MSG_LVL_MED,
670 MSG_LVL_MED,
671 MSG_LVL_MED,
672 MSG_LVL_MED,
673 MSG_LVL_MED,
674 MSG_LVL_MED,
675 MSG_LVL_MED,
676 MSG_LVL_MED,
677 MSG_LVL_MED,
678 MSG_LVL_MED,
679 MSG_LVL_MED,
680 MSG_LVL_MED,
681 MSG_LVL_MED,
682 MSG_LVL_MED,
683 MSG_LVL_MED,
684 MSG_LVL_MED,
685 MSG_LVL_LOW,
686 MSG_LVL_MED,
687 MSG_LVL_MED,
688 MSG_LVL_MED,
689 MSG_LVL_MED,
690 MSG_LVL_MED,
691 MSG_LVL_MED,
692 MSG_LVL_MED,
693 MSG_LVL_MED,
694 MSG_LVL_MED
695};
696
697static const uint32_t msg_bld_masks_11[] = {
698 MSG_LVL_LOW,
699 MSG_LVL_LOW,
700 MSG_LVL_LOW,
701 MSG_LVL_LOW,
702 MSG_LVL_LOW,
703 MSG_LVL_LOW,
704 MSG_LVL_LOW,
705 MSG_LVL_LOW,
706 MSG_LVL_LOW,
707 MSG_LVL_LOW,
708 MSG_LVL_LOW,
709 MSG_LVL_LOW,
710 MSG_LVL_LOW,
711 MSG_LVL_LOW,
712 MSG_LVL_LOW,
713 MSG_LVL_LOW,
714 MSG_LVL_LOW,
715 MSG_LVL_LOW,
716 MSG_LVL_LOW,
717 MSG_LVL_LOW,
718 MSG_LVL_LOW,
719 MSG_LVL_LOW,
720};
721
722static const uint32_t msg_bld_masks_12[] = {
723 MSG_LVL_MED,
724 MSG_LVL_MED,
725 MSG_LVL_MED,
726 MSG_LVL_MED,
727};
728
729static const uint32_t msg_bld_masks_13[] = {
730 MSG_LVL_MED,
731 MSG_LVL_MED,
732 MSG_LVL_MED,
733 MSG_LVL_MED,
734 MSG_LVL_MED,
735 MSG_LVL_MED,
736 MSG_LVL_MED,
737 MSG_LVL_MED,
738 MSG_LVL_MED,
739 MSG_LVL_MED,
740 MSG_LVL_MED,
741 MSG_LVL_MED,
742};
743
744static const uint32_t msg_bld_masks_14[] = {
745 MSG_LVL_MED,
746 MSG_LVL_MED,
747};
748
749static const uint32_t msg_bld_masks_15[] = {
750 MSG_LVL_MED
751};
752
753static const uint32_t msg_bld_masks_16[] = {
754 MSG_LVL_LOW,
755 MSG_LVL_LOW,
756 MSG_LVL_LOW,
757 MSG_LVL_LOW,
758 MSG_LVL_LOW,
759 MSG_LVL_LOW,
760 MSG_LVL_LOW,
761 MSG_LVL_LOW,
762 MSG_LVL_LOW,
763 MSG_LVL_LOW,
764 MSG_LVL_LOW,
765 MSG_LVL_LOW,
766 MSG_LVL_LOW,
767 MSG_LVL_LOW,
768 MSG_LVL_LOW,
769 MSG_LVL_LOW,
770 MSG_LVL_LOW,
771 MSG_LVL_LOW,
772 MSG_LVL_LOW,
773 MSG_LVL_LOW,
774 MSG_LVL_LOW,
775 MSG_LVL_LOW,
776 MSG_LVL_LOW,
777 MSG_LVL_LOW,
778 MSG_LVL_LOW,
779 MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
780 MSG_LVL_FATAL,
781 MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
782 MSG_LVL_FATAL,
783 MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
784 MSG_LVL_FATAL,
785 MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
786 MSG_LVL_FATAL,
787 MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
788 MSG_LVL_FATAL,
789 MSG_LVL_MED,
790 MSG_LVL_MED,
791 MSG_LVL_LOW
792};
793
794static const uint32_t msg_bld_masks_17[] = {
795 MSG_LVL_MED,
796 MSG_LVL_MED,
797 MSG_LVL_MED,
798 MSG_LVL_MED | MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8 | MSG_MASK_9,
799 MSG_LVL_MED | MSG_MASK_5 | MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8 |
800 MSG_MASK_9 | MSG_MASK_10 | MSG_MASK_11 | MSG_MASK_12 |
801 MSG_MASK_13 | MSG_MASK_14 | MSG_MASK_15 | MSG_MASK_16 |
802 MSG_MASK_17,
803 MSG_LVL_MED,
804 MSG_LVL_MED | MSG_MASK_5 | MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8 |
805 MSG_MASK_9 | MSG_MASK_10 | MSG_MASK_11 | MSG_MASK_12 |
806 MSG_MASK_13 | MSG_MASK_14 | MSG_MASK_15 | MSG_MASK_16 |
807 MSG_MASK_17 | MSG_MASK_18 | MSG_MASK_19 | MSG_MASK_20 |
808 MSG_MASK_21 | MSG_MASK_22,
809 MSG_LVL_MED,
810 MSG_LVL_MED,
811};
812
813static const uint32_t msg_bld_masks_18[] = {
814 MSG_LVL_LOW,
815 MSG_LVL_MED | MSG_MASK_8 | MSG_MASK_9 | MSG_MASK_10 | MSG_MASK_11 |
816 MSG_MASK_12 | MSG_MASK_13 | MSG_MASK_14 | MSG_MASK_15 |
817 MSG_MASK_16 | MSG_MASK_17 | MSG_MASK_18 | MSG_MASK_19 |
818 MSG_MASK_20,
819 MSG_LVL_MED | MSG_MASK_5 | MSG_MASK_6,
820 MSG_LVL_MED | MSG_MASK_5,
821 MSG_LVL_MED | MSG_MASK_5 | MSG_MASK_6,
822 MSG_LVL_LOW,
823 MSG_LVL_MED | MSG_MASK_5 | MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8 |
824 MSG_MASK_9,
825 MSG_LVL_LOW,
826 MSG_LVL_LOW,
827 MSG_LVL_MED | MSG_MASK_5 | MSG_MASK_6 | MSG_MASK_7 | MSG_MASK_8 |
828 MSG_MASK_9 | MSG_MASK_10 | MSG_MASK_11 | MSG_MASK_12 |
829 MSG_MASK_13 | MSG_MASK_14 | MSG_MASK_15 | MSG_MASK_16 |
830 MSG_MASK_20 | MSG_MASK_21 | MSG_MASK_22,
831 MSG_LVL_LOW
832};
833
834static const uint32_t msg_bld_masks_19[] = {
835 MSG_LVL_LOW,
836 MSG_LVL_LOW,
837 MSG_LVL_LOW,
838 MSG_LVL_LOW,
839 MSG_LVL_LOW,
840 MSG_LVL_LOW,
841 MSG_LVL_LOW,
842 MSG_LVL_LOW,
843 MSG_LVL_LOW,
844 MSG_LVL_LOW,
845 MSG_LVL_LOW
846};
847
848static const uint32_t msg_bld_masks_20[] = {
849 MSG_LVL_LOW | MSG_MASK_5 | MSG_MASK_6 | MSG_MASK_7 |
850 MSG_MASK_8 | MSG_MASK_9 | MSG_MASK_10 | MSG_MASK_11 |
851 MSG_MASK_12,
852 MSG_LVL_LOW,
853 MSG_LVL_LOW,
854 MSG_LVL_LOW,
855 MSG_LVL_LOW
856};
857
858static const uint32_t msg_bld_masks_21[] = {
859 MSG_LVL_HIGH
860};
861
862static const uint32_t msg_bld_masks_22[] = {
863 MSG_LVL_LOW,
864 MSG_LVL_LOW,
865 MSG_LVL_LOW,
866 MSG_LVL_LOW,
867 MSG_LVL_LOW,
868 MSG_LVL_LOW,
869 MSG_LVL_LOW,
870 MSG_LVL_LOW,
871 MSG_LVL_LOW,
872 MSG_LVL_LOW,
873 MSG_LVL_LOW,
874 MSG_LVL_LOW,
875 MSG_LVL_LOW,
876 MSG_LVL_LOW,
877 MSG_LVL_LOW,
878 MSG_LVL_LOW,
879 MSG_LVL_LOW,
880 MSG_LVL_LOW,
881 MSG_LVL_LOW,
882 MSG_LVL_LOW,
883 MSG_LVL_LOW,
884 MSG_LVL_LOW,
885 MSG_LVL_LOW,
886 MSG_LVL_LOW,
887 MSG_LVL_LOW,
888 MSG_LVL_LOW,
889 MSG_LVL_LOW,
890 MSG_LVL_LOW
891};
892
893static const uint32_t msg_bld_masks_23[] = {
894 MSG_LVL_LOW,
895 MSG_LVL_LOW,
896 MSG_LVL_LOW,
897 MSG_LVL_LOW,
898 MSG_LVL_LOW,
899 MSG_LVL_LOW,
900 MSG_LVL_LOW,
901 MSG_LVL_LOW,
902 MSG_LVL_LOW,
903 MSG_LVL_LOW,
904 MSG_LVL_LOW,
905 MSG_LVL_LOW,
906 MSG_LVL_LOW,
907 MSG_LVL_LOW,
908 MSG_LVL_LOW,
909 MSG_LVL_LOW,
910 MSG_LVL_LOW
911};
912
913static const uint32_t msg_bld_masks_24[] = {
914 MSG_LVL_HIGH,
915 MSG_LVL_HIGH,
916 MSG_LVL_HIGH,
917 MSG_LVL_HIGH,
918 MSG_LVL_HIGH,
919 MSG_LVL_HIGH
920};
921
922static const uint32_t msg_bld_masks_25[] = {
923 MSG_LVL_LOW
924};
925
926/* LOG CODES */
927static const uint32_t log_code_last_tbl[] = {
928 0x0, /* EQUIP ID 0 */
929 0x1CCA, /* EQUIP ID 1 */
930 0x0, /* EQUIP ID 2 */
931 0x0, /* EQUIP ID 3 */
932 0x4910, /* EQUIP ID 4 */
933 0x5420, /* EQUIP ID 5 */
934 0x0, /* EQUIP ID 6 */
935 0x74FF, /* EQUIP ID 7 */
936 0x0, /* EQUIP ID 8 */
937 0x0, /* EQUIP ID 9 */
938 0xA38A, /* EQUIP ID 10 */
939 0xB9FF, /* EQUIP ID 11 */
940 0x0, /* EQUIP ID 12 */
941 0xD1FF, /* EQUIP ID 13 */
942 0x0, /* EQUIP ID 14 */
943 0x0, /* EQUIP ID 15 */
944};
945
946#define LOG_GET_ITEM_NUM(xx_code) (xx_code & 0x0FFF)
947#define LOG_GET_EQUIP_ID(xx_code) ((xx_code & 0xF000) >> 12)
948#define LOG_ITEMS_TO_SIZE(num_items) ((num_items+7)/8)
949#define LOG_SIZE_TO_ITEMS(size) ((8*size) - 7)
950#define EVENT_COUNT_TO_BYTES(count) ((count/8) + 1)
951
952#endif