diff options
author | Igor Skochinsky <skochinsky@gmail.com> | 2017-04-03 15:13:46 +0200 |
---|---|---|
committer | Amaury Pouly <amaury.pouly@gmail.com> | 2017-04-25 11:24:24 +1000 |
commit | 03dd4b92be7dcd5c8ab06da3810887060e06abd5 (patch) | |
tree | d18b5e7748a08f75891e832e1687154490fd5b36 /utils | |
parent | f1c8d63a762acdcb29f30d17617e531fdb555af4 (diff) | |
download | rockbox-03dd4b92be7dcd5c8ab06da3810887060e06abd5.tar.gz rockbox-03dd4b92be7dcd5c8ab06da3810887060e06abd5.zip |
nwztools/database: misc improvements
* make gen_db.py work on Windows/Python 2
- use hashlib module instead of md5sum, also don't rely on / for file path
matching
- don't use 'file' for a variable name
* fix parse_nvp_header.sh for older kernels
pre-emmc kernel sources use a slightly different #define format; adjust
regexp to catch it.
* add nwz-x1000 series NVP layout (from icx1087_nvp.h)
some new tags have no description, alas the driver doesn't have
them :/
* minor fixes to nvp/README
fixed typos/wording
Change-Id: I77d8c2704be2f2316e32aadcfd362df7102360d4
Diffstat (limited to 'utils')
-rwxr-xr-x | utils/nwztools/database/gen_db.py | 13 | ||||
-rw-r--r-- | utils/nwztools/database/nvp/README | 39 | ||||
-rw-r--r-- | utils/nwztools/database/nvp/nwz-x1000.txt | 82 | ||||
-rwxr-xr-x | utils/nwztools/database/nvp/parse_nvp_header.sh | 7 | ||||
-rwxr-xr-x | utils/nwztools/database/nvp/parse_nvp_nodes.sh | 5 | ||||
-rw-r--r-- | utils/nwztools/database/nwz_db.c | 188 | ||||
-rw-r--r-- | utils/nwztools/database/nwz_db.h | 9 |
7 files changed, 314 insertions, 29 deletions
diff --git a/utils/nwztools/database/gen_db.py b/utils/nwztools/database/gen_db.py index 8b7d1cbaaf..de78d05cab 100755 --- a/utils/nwztools/database/gen_db.py +++ b/utils/nwztools/database/gen_db.py | |||
@@ -3,6 +3,7 @@ import glob | |||
3 | import os | 3 | import os |
4 | import re | 4 | import re |
5 | import subprocess | 5 | import subprocess |
6 | import hashlib | ||
6 | 7 | ||
7 | # parse models.txt | 8 | # parse models.txt |
8 | g_models = [] | 9 | g_models = [] |
@@ -35,14 +36,14 @@ g_hash_nvp = dict() # hash -> nvp | |||
35 | g_nvp_hash = dict() # codename -> hash | 36 | g_nvp_hash = dict() # codename -> hash |
36 | HASH_SIZE=6 | 37 | HASH_SIZE=6 |
37 | map_files = glob.glob('nvp/nw*.txt') | 38 | map_files = glob.glob('nvp/nw*.txt') |
38 | for line in subprocess.run(["md5sum"] + map_files, stdout = subprocess.PIPE).stdout.decode("utf-8").split("\n"): | 39 | for f in map_files: |
39 | if len(line.rstrip()) == 0: | 40 | h = hashlib.md5() |
40 | continue | 41 | h.update(open(f, "rb").read()) |
41 | hash, file = line.rstrip().split() | 42 | hash = h.hexdigest() |
42 | codename = re.search('nvp/(.*)\.txt', file).group(1) | 43 | codename = re.search('(nw.*)\.txt', f).group(1) |
43 | # sanity check | 44 | # sanity check |
44 | if not (codename in g_series_codename): | 45 | if not (codename in g_series_codename): |
45 | print("Warning: file %s does not have a match series in series.txt" % file) | 46 | print("Warning: file %s does not have a match series in series.txt" % f) |
46 | hash = hash[:HASH_SIZE] | 47 | hash = hash[:HASH_SIZE] |
47 | # only keep one file | 48 | # only keep one file |
48 | if not (hash in g_hash_nvp): | 49 | if not (hash in g_hash_nvp): |
diff --git a/utils/nwztools/database/nvp/README b/utils/nwztools/database/nvp/README index cb403291c8..5ff18513d7 100644 --- a/utils/nwztools/database/nvp/README +++ b/utils/nwztools/database/nvp/README | |||
@@ -1,38 +1,39 @@ | |||
1 | The NVP map varies a lot from players to players, it is inconceivable to build | 1 | The NVP map varies a lot from players to players, it is inconceivable to build |
2 | it by hand. The approach taken is to extract it from the kernel of each player. | 2 | it by hand. The approach taken is to extract it from the kernel of each player. |
3 | Since Sony provides the kernel of all players, it is 'only' a matter of | 3 | Since Sony provides the kernel of all players, it is 'only' a matter of |
4 | downloading all of them. A bit of back story on the NVP: it is non-volatile | 4 | downloading all of them. A bit of background on the NVP: it is non-volatile |
5 | area of the flash that is divided in regions and then "sectors" (unrelated to | 5 | partition of the flash that is divided in regions and then "zones". |
6 | hard drive sectors). Each "sector" stores the data of a "node". The ABI | 6 | Each "zone" stores the data of a "node". The ABI |
7 | between the NVP driver and the userspace is an index: the userspace gives the | 7 | between the NVP driver and the userspace is an index: the userspace gives the |
8 | index of a node, and then drives looksup its table to see where it is and what | 8 | index of a node, and then drives looks up its table to see where it is and what |
9 | is its size. The index map changes over time so Sony introduces standard "names" | 9 | is its size. The index map changes over time so Sony introduces standard "names" |
10 | for its entries, those are 3-letters acronym (for example "fup" or "bti" or "shp") | 10 | for its entries, those are 3-letters acronym (for example "fup" or "bti" or "shp") |
11 | that have a corresponding index. For some reason, the driver also contains a | 11 | that have a corresponding index. Sometimes the driver also contains a |
12 | description of the nodes, in english (so "bti" stands for "boot image"). | 12 | description of the nodes, in English (e.g. "bti" stands for "boot image"). |
13 | 13 | ||
14 | parse_nvp_header.sh | 14 | parse_nvp_header.sh |
15 | =================== | 15 | =================== |
16 | 16 | ||
17 | This script is given a file name, a kernel directory or a kernel tgz and it will | 17 | This script takes a header filename, a kernel directory or a kernel tgz and will |
18 | try to extract the mapping automatically. It produces a list of pairs | 18 | try to extract the mapping automatically. It produces a list of pairs |
19 | <node>,<name> | 19 | <node>,<name> |
20 | where <node> is the index of the node (that's the only thing that is usable on | 20 | where <node> is the index of the node (that's the only thing that is usable on |
21 | a running device) and <name> is the standard name of the node. Note that is | 21 | a running device) and <name> is the standard name of the node. The output should |
22 | some kind of acronym (like 'fup') and the description needs to be generated | 22 | be written to <series name>.txt |
23 | separatly (see other section). | 23 | Note that <name> is an acronym (like 'fup') and the description needs to be generated |
24 | separately (see nvprool section). | ||
24 | 25 | ||
25 | parse_all_nvp_headers.sh | 26 | parse_all_nvp_headers.sh |
26 | ======================== | 27 | ======================== |
27 | 28 | ||
28 | This scripts expects a directory to have the following structure: | 29 | This script expects a directory to have the following structure: |
29 | dir/ | 30 | dir/ |
30 | nwz-a10/ | 31 | nwz-a10/ |
31 | linux-kernel-*.tgz | 32 | linux-kernel-*.tgz |
32 | nwz-e460/ | 33 | nwz-e460/ |
33 | linxu-kernel-*.tgz | 34 | linux-kernel-*.tgz |
34 | ... | 35 | ... |
35 | Each sudirectory must the series name (as used in ../series.txt) and the kernel | 36 | Each sudirectory must be the series name (as used in ../series.txt) and the kernel |
36 | must be a tgz (end in .tgz and not .tar.gz) of the form linux-kernel-*.tgz. Usually | 37 | must be a tgz (end in .tgz and not .tar.gz) of the form linux-kernel-*.tgz. Usually |
37 | the variable bit will be the version but some kernels have unknown versions. It | 38 | the variable bit will be the version but some kernels have unknown versions. It |
38 | will then run parse_nvp_header.sh on each of them and store the result in a | 39 | will then run parse_nvp_header.sh on each of them and store the result in a |
@@ -43,24 +44,24 @@ NOTE: the kernel can be symlinks to other files | |||
43 | nvptool | 44 | nvptool |
44 | ======= | 45 | ======= |
45 | 46 | ||
46 | The kernel headers do no contain the description of the nvp node names. | 47 | The kernel headers do not contain descriptions of the nvp node names. |
47 | This one can be extract from the icx_nvp[_emmc].ko driver on target using complicated | 48 | They can be extracted from the icx_nvp[_emmc].ko driver on target using complicated |
48 | elf parsing done by nvptool. Technically nvptoo can find much more information | 49 | elf parsing done by nvptool. Technically nvptool can discover much more information |
49 | like the node -> humanname mapping as well and the actual sector on the disk but | 50 | like the node -> human name mapping as well and the actual zone in the flash but |
50 | since we can already extract it easily from the headers, we only extract description | 51 | since we can already extract it easily from the headers, we only extract description |
51 | names from it. | 52 | names from it. |
52 | 53 | ||
53 | parse_all_nvp_nodes.sh | 54 | parse_all_nvp_nodes.sh |
54 | ====================== | 55 | ====================== |
55 | 56 | ||
56 | This scripts expects a directory to have the following structure: | 57 | This script expects a directory to have the following structure: |
57 | dir/ | 58 | dir/ |
58 | nwz-a10/ | 59 | nwz-a10/ |
59 | rootfs.tgz | 60 | rootfs.tgz |
60 | nwz-e460/ | 61 | nwz-e460/ |
61 | rootfs.tgz | 62 | rootfs.tgz |
62 | ... | 63 | ... |
63 | Each sudirectory must the series name (as used in ../series.txt) and the rootfs | 64 | Each sudirectory must be the series name (as used in ../series.txt) and the rootfs |
64 | must be a tar. It will then extract the relevant icx_nvp driver from it and run | 65 | must be a tar. It will then extract the relevant icx_nvp driver from it and run |
65 | nvptool on it to produce a file called nodes-<series name>.txt | 66 | nvptool on it to produce a file called nodes-<series name>.txt |
66 | 67 | ||
diff --git a/utils/nwztools/database/nvp/nwz-x1000.txt b/utils/nwztools/database/nvp/nwz-x1000.txt new file mode 100644 index 0000000000..ab0f7fb872 --- /dev/null +++ b/utils/nwztools/database/nvp/nwz-x1000.txt | |||
@@ -0,0 +1,82 @@ | |||
1 | app,0 | ||
2 | bti,1 | ||
3 | hdi,2 | ||
4 | cng,3 | ||
5 | ser,4 | ||
6 | dg0,5 | ||
7 | dg1,6 | ||
8 | dcc,7 | ||
9 | mdl,8 | ||
10 | fup,9 | ||
11 | bok,10 | ||
12 | shp,11 | ||
13 | dba,12 | ||
14 | dbv,13 | ||
15 | tr0,14 | ||
16 | tr1,15 | ||
17 | mid,16 | ||
18 | tst,17 | ||
19 | gty,18 | ||
20 | fui,19 | ||
21 | lbi,20 | ||
22 | dor,21 | ||
23 | edw,22 | ||
24 | ubp,23 | ||
25 | syi,24 | ||
26 | var,25 | ||
27 | pcd,26 | ||
28 | dbs,27 | ||
29 | rnd,28 | ||
30 | ufn,29 | ||
31 | sdp,30 | ||
32 | ncp,31 | ||
33 | kas,32 | ||
34 | pnc,33 | ||
35 | rtc,34 | ||
36 | bpr,35 | ||
37 | e00,36 | ||
38 | e01,37 | ||
39 | e02,38 | ||
40 | e03,39 | ||
41 | e04,40 | ||
42 | e05,41 | ||
43 | e06,42 | ||
44 | e07,43 | ||
45 | e08,44 | ||
46 | e09,45 | ||
47 | e10,46 | ||
48 | e11,47 | ||
49 | e12,48 | ||
50 | e13,49 | ||
51 | e14,50 | ||
52 | e15,51 | ||
53 | e16,52 | ||
54 | e17,53 | ||
55 | e18,54 | ||
56 | e19,55 | ||
57 | e20,56 | ||
58 | e21,57 | ||
59 | e22,58 | ||
60 | e23,59 | ||
61 | e24,60 | ||
62 | e25,61 | ||
63 | e26,62 | ||
64 | e27,63 | ||
65 | e28,64 | ||
66 | e29,65 | ||
67 | e30,66 | ||
68 | e31,67 | ||
69 | clv,68 | ||
70 | slp,69 | ||
71 | ipt,70 | ||
72 | ep0,71 | ||
73 | ep1,72 | ||
74 | ep2,73 | ||
75 | ep3,74 | ||
76 | pts,75 | ||
77 | skt,76 | ||
78 | mac,77 | ||
79 | apd,78 | ||
80 | blf,79 | ||
81 | hld,80 | ||
82 | skd,81 | ||
diff --git a/utils/nwztools/database/nvp/parse_nvp_header.sh b/utils/nwztools/database/nvp/parse_nvp_header.sh index 8baab3c9eb..ee2be93516 100755 --- a/utils/nwztools/database/nvp/parse_nvp_header.sh +++ b/utils/nwztools/database/nvp/parse_nvp_header.sh | |||
@@ -66,13 +66,16 @@ else | |||
66 | >&2 echo "Analyzing $FILE" | 66 | >&2 echo "Analyzing $FILE" |
67 | fi | 67 | fi |
68 | 68 | ||
69 | # old format: #define ICX1087_NVP_NODE_APP "/dev/icx1087_nvp/0" | ||
70 | # new format: #define ICX_NVP_NODE_APP ICX_NVP_NODE_BASE "0" | ||
71 | |||
69 | cat "$FILE" | awk ' \ | 72 | cat "$FILE" | awk ' \ |
70 | BEGIN { \ | 73 | BEGIN { \ |
71 | expr = "#define[[:space:]]+ICX_NVP_NODE_([[:alnum:]]+)[[:space:]]+ICX_NVP_NODE_BASE[[:space:]]*\"([[:digit:]]+)\""; \ | 74 | expr = "#define[[:space:]]+ICX[[:digit:]]*_NVP_NODE_([[:alnum:]]+)[[:space:]]+(ICX_NVP_NODE_BASE[[:space:]]*\"|\"/dev.*_nvp/)([[:digit:]]+)\""; |
72 | } \ | 75 | } \ |
73 | { \ | 76 | { \ |
74 | if($0 ~ expr) \ | 77 | if($0 ~ expr) \ |
75 | { \ | 78 | { \ |
76 | print(tolower(gensub(expr, "\\1,\\2", "g", $0))); | 79 | print(tolower(gensub(expr, "\\1,\\3", "g", $0))); |
77 | } \ | 80 | } \ |
78 | }' | 81 | }' |
diff --git a/utils/nwztools/database/nvp/parse_nvp_nodes.sh b/utils/nwztools/database/nvp/parse_nvp_nodes.sh index 456a707e5d..8fc4367a8f 100755 --- a/utils/nwztools/database/nvp/parse_nvp_nodes.sh +++ b/utils/nwztools/database/nvp/parse_nvp_nodes.sh | |||
@@ -4,6 +4,9 @@ | |||
4 | # parse_nodes.sh /path/to/rootfs/dir output_file | 4 | # parse_nodes.sh /path/to/rootfs/dir output_file |
5 | # parse_nodes.sh /path/to/rootfs.tgz output_file | 5 | # parse_nodes.sh /path/to/rootfs.tgz output_file |
6 | # | 6 | # |
7 | if [ -z "$NVP_LOG" ]; then | ||
8 | NVP_LOG=/dev/null | ||
9 | fi | ||
7 | if [ "$#" -lt 2 ]; then | 10 | if [ "$#" -lt 2 ]; then |
8 | >&2 echo "usage: parse_header.sh /path/to/icx_nvp.ko|/path/to/rootfs/dir|/path/to/rootfs.tgz output_file" | 11 | >&2 echo "usage: parse_header.sh /path/to/icx_nvp.ko|/path/to/rootfs/dir|/path/to/rootfs.tgz output_file" |
9 | exit 1 | 12 | exit 1 |
@@ -56,4 +59,4 @@ else | |||
56 | >&2 echo "Analyzing $FILE" | 59 | >&2 echo "Analyzing $FILE" |
57 | fi | 60 | fi |
58 | 61 | ||
59 | ./nvptool -x "$FILE" -o "$OUTPUT" >/dev/null | 62 | ./nvptool -x "$FILE" -o "$OUTPUT" >"$NVP_LOG" |
diff --git a/utils/nwztools/database/nwz_db.c b/utils/nwztools/database/nwz_db.c index d5c226203b..e77b86e729 100644 --- a/utils/nwztools/database/nwz_db.c +++ b/utils/nwztools/database/nwz_db.c | |||
@@ -228,8 +228,11 @@ static int nvp_index_0ac81d[NWZ_NVP_COUNT] = | |||
228 | [NWZ_NVP_DBA] = 12, | 228 | [NWZ_NVP_DBA] = 12, |
229 | [NWZ_NVP_DBG] = 0, | 229 | [NWZ_NVP_DBG] = 0, |
230 | [NWZ_NVP_DBI] = NWZ_NVP_INVALID, | 230 | [NWZ_NVP_DBI] = NWZ_NVP_INVALID, |
231 | [NWZ_NVP_DBS] = NWZ_NVP_INVALID, | ||
231 | [NWZ_NVP_DBV] = 13, | 232 | [NWZ_NVP_DBV] = 13, |
232 | [NWZ_NVP_DCC] = 7, | 233 | [NWZ_NVP_DCC] = 7, |
234 | [NWZ_NVP_DG0] = NWZ_NVP_INVALID, | ||
235 | [NWZ_NVP_DG1] = NWZ_NVP_INVALID, | ||
233 | [NWZ_NVP_DOR] = 21, | 236 | [NWZ_NVP_DOR] = 21, |
234 | [NWZ_NVP_E00] = 36, | 237 | [NWZ_NVP_E00] = 36, |
235 | [NWZ_NVP_E01] = 37, | 238 | [NWZ_NVP_E01] = 37, |
@@ -264,6 +267,10 @@ static int nvp_index_0ac81d[NWZ_NVP_COUNT] = | |||
264 | [NWZ_NVP_E30] = 66, | 267 | [NWZ_NVP_E30] = 66, |
265 | [NWZ_NVP_E31] = 67, | 268 | [NWZ_NVP_E31] = 67, |
266 | [NWZ_NVP_EDW] = 22, | 269 | [NWZ_NVP_EDW] = 22, |
270 | [NWZ_NVP_EP0] = NWZ_NVP_INVALID, | ||
271 | [NWZ_NVP_EP1] = NWZ_NVP_INVALID, | ||
272 | [NWZ_NVP_EP2] = NWZ_NVP_INVALID, | ||
273 | [NWZ_NVP_EP3] = NWZ_NVP_INVALID, | ||
267 | [NWZ_NVP_ERI] = 6, | 274 | [NWZ_NVP_ERI] = 6, |
268 | [NWZ_NVP_EXM] = 25, | 275 | [NWZ_NVP_EXM] = 25, |
269 | [NWZ_NVP_FMP] = 82, | 276 | [NWZ_NVP_FMP] = 82, |
@@ -295,6 +302,7 @@ static int nvp_index_0ac81d[NWZ_NVP_COUNT] = | |||
295 | [NWZ_NVP_NVR] = NWZ_NVP_INVALID, | 302 | [NWZ_NVP_NVR] = NWZ_NVP_INVALID, |
296 | [NWZ_NVP_PCD] = 26, | 303 | [NWZ_NVP_PCD] = 26, |
297 | [NWZ_NVP_PCI] = NWZ_NVP_INVALID, | 304 | [NWZ_NVP_PCI] = NWZ_NVP_INVALID, |
305 | [NWZ_NVP_PNC] = NWZ_NVP_INVALID, | ||
298 | [NWZ_NVP_PRK] = NWZ_NVP_INVALID, | 306 | [NWZ_NVP_PRK] = NWZ_NVP_INVALID, |
299 | [NWZ_NVP_PSK] = NWZ_NVP_INVALID, | 307 | [NWZ_NVP_PSK] = NWZ_NVP_INVALID, |
300 | [NWZ_NVP_PTS] = 75, | 308 | [NWZ_NVP_PTS] = 75, |
@@ -321,6 +329,7 @@ static int nvp_index_0ac81d[NWZ_NVP_COUNT] = | |||
321 | [NWZ_NVP_UFN] = 29, | 329 | [NWZ_NVP_UFN] = 29, |
322 | [NWZ_NVP_UMS] = NWZ_NVP_INVALID, | 330 | [NWZ_NVP_UMS] = NWZ_NVP_INVALID, |
323 | [NWZ_NVP_UPS] = NWZ_NVP_INVALID, | 331 | [NWZ_NVP_UPS] = NWZ_NVP_INVALID, |
332 | [NWZ_NVP_VAR] = NWZ_NVP_INVALID, | ||
324 | [NWZ_NVP_VRT] = NWZ_NVP_INVALID, | 333 | [NWZ_NVP_VRT] = NWZ_NVP_INVALID, |
325 | }; | 334 | }; |
326 | 335 | ||
@@ -342,8 +351,11 @@ static int nvp_index_28dc2c[NWZ_NVP_COUNT] = | |||
342 | [NWZ_NVP_DBA] = 24, | 351 | [NWZ_NVP_DBA] = 24, |
343 | [NWZ_NVP_DBG] = 0, | 352 | [NWZ_NVP_DBG] = 0, |
344 | [NWZ_NVP_DBI] = NWZ_NVP_INVALID, | 353 | [NWZ_NVP_DBI] = NWZ_NVP_INVALID, |
354 | [NWZ_NVP_DBS] = NWZ_NVP_INVALID, | ||
345 | [NWZ_NVP_DBV] = 25, | 355 | [NWZ_NVP_DBV] = 25, |
346 | [NWZ_NVP_DCC] = 31, | 356 | [NWZ_NVP_DCC] = 31, |
357 | [NWZ_NVP_DG0] = NWZ_NVP_INVALID, | ||
358 | [NWZ_NVP_DG1] = NWZ_NVP_INVALID, | ||
347 | [NWZ_NVP_DOR] = 26, | 359 | [NWZ_NVP_DOR] = 26, |
348 | [NWZ_NVP_E00] = 36, | 360 | [NWZ_NVP_E00] = 36, |
349 | [NWZ_NVP_E01] = 37, | 361 | [NWZ_NVP_E01] = 37, |
@@ -378,6 +390,10 @@ static int nvp_index_28dc2c[NWZ_NVP_COUNT] = | |||
378 | [NWZ_NVP_E30] = 66, | 390 | [NWZ_NVP_E30] = 66, |
379 | [NWZ_NVP_E31] = 67, | 391 | [NWZ_NVP_E31] = 67, |
380 | [NWZ_NVP_EDW] = 71, | 392 | [NWZ_NVP_EDW] = 71, |
393 | [NWZ_NVP_EP0] = NWZ_NVP_INVALID, | ||
394 | [NWZ_NVP_EP1] = NWZ_NVP_INVALID, | ||
395 | [NWZ_NVP_EP2] = NWZ_NVP_INVALID, | ||
396 | [NWZ_NVP_EP3] = NWZ_NVP_INVALID, | ||
381 | [NWZ_NVP_ERI] = 76, | 397 | [NWZ_NVP_ERI] = 76, |
382 | [NWZ_NVP_EXM] = NWZ_NVP_INVALID, | 398 | [NWZ_NVP_EXM] = NWZ_NVP_INVALID, |
383 | [NWZ_NVP_FMP] = 15, | 399 | [NWZ_NVP_FMP] = 15, |
@@ -409,6 +425,7 @@ static int nvp_index_28dc2c[NWZ_NVP_COUNT] = | |||
409 | [NWZ_NVP_NVR] = NWZ_NVP_INVALID, | 425 | [NWZ_NVP_NVR] = NWZ_NVP_INVALID, |
410 | [NWZ_NVP_PCD] = 8, | 426 | [NWZ_NVP_PCD] = 8, |
411 | [NWZ_NVP_PCI] = NWZ_NVP_INVALID, | 427 | [NWZ_NVP_PCI] = NWZ_NVP_INVALID, |
428 | [NWZ_NVP_PNC] = NWZ_NVP_INVALID, | ||
412 | [NWZ_NVP_PRK] = NWZ_NVP_INVALID, | 429 | [NWZ_NVP_PRK] = NWZ_NVP_INVALID, |
413 | [NWZ_NVP_PSK] = 18, | 430 | [NWZ_NVP_PSK] = 18, |
414 | [NWZ_NVP_PTS] = 77, | 431 | [NWZ_NVP_PTS] = 77, |
@@ -435,6 +452,7 @@ static int nvp_index_28dc2c[NWZ_NVP_COUNT] = | |||
435 | [NWZ_NVP_UFN] = 10, | 452 | [NWZ_NVP_UFN] = 10, |
436 | [NWZ_NVP_UMS] = NWZ_NVP_INVALID, | 453 | [NWZ_NVP_UMS] = NWZ_NVP_INVALID, |
437 | [NWZ_NVP_UPS] = NWZ_NVP_INVALID, | 454 | [NWZ_NVP_UPS] = NWZ_NVP_INVALID, |
455 | [NWZ_NVP_VAR] = NWZ_NVP_INVALID, | ||
438 | [NWZ_NVP_VRT] = 81, | 456 | [NWZ_NVP_VRT] = 81, |
439 | }; | 457 | }; |
440 | 458 | ||
@@ -456,8 +474,11 @@ static int nvp_index_398250[NWZ_NVP_COUNT] = | |||
456 | [NWZ_NVP_DBA] = NWZ_NVP_INVALID, | 474 | [NWZ_NVP_DBA] = NWZ_NVP_INVALID, |
457 | [NWZ_NVP_DBG] = 0, | 475 | [NWZ_NVP_DBG] = 0, |
458 | [NWZ_NVP_DBI] = 88, | 476 | [NWZ_NVP_DBI] = 88, |
477 | [NWZ_NVP_DBS] = NWZ_NVP_INVALID, | ||
459 | [NWZ_NVP_DBV] = 25, | 478 | [NWZ_NVP_DBV] = 25, |
460 | [NWZ_NVP_DCC] = NWZ_NVP_INVALID, | 479 | [NWZ_NVP_DCC] = NWZ_NVP_INVALID, |
480 | [NWZ_NVP_DG0] = NWZ_NVP_INVALID, | ||
481 | [NWZ_NVP_DG1] = NWZ_NVP_INVALID, | ||
461 | [NWZ_NVP_DOR] = NWZ_NVP_INVALID, | 482 | [NWZ_NVP_DOR] = NWZ_NVP_INVALID, |
462 | [NWZ_NVP_E00] = 36, | 483 | [NWZ_NVP_E00] = 36, |
463 | [NWZ_NVP_E01] = 37, | 484 | [NWZ_NVP_E01] = 37, |
@@ -492,6 +513,10 @@ static int nvp_index_398250[NWZ_NVP_COUNT] = | |||
492 | [NWZ_NVP_E30] = 66, | 513 | [NWZ_NVP_E30] = 66, |
493 | [NWZ_NVP_E31] = 67, | 514 | [NWZ_NVP_E31] = 67, |
494 | [NWZ_NVP_EDW] = 71, | 515 | [NWZ_NVP_EDW] = 71, |
516 | [NWZ_NVP_EP0] = NWZ_NVP_INVALID, | ||
517 | [NWZ_NVP_EP1] = NWZ_NVP_INVALID, | ||
518 | [NWZ_NVP_EP2] = NWZ_NVP_INVALID, | ||
519 | [NWZ_NVP_EP3] = NWZ_NVP_INVALID, | ||
495 | [NWZ_NVP_ERI] = 76, | 520 | [NWZ_NVP_ERI] = 76, |
496 | [NWZ_NVP_EXM] = NWZ_NVP_INVALID, | 521 | [NWZ_NVP_EXM] = NWZ_NVP_INVALID, |
497 | [NWZ_NVP_FMP] = 15, | 522 | [NWZ_NVP_FMP] = 15, |
@@ -523,6 +548,7 @@ static int nvp_index_398250[NWZ_NVP_COUNT] = | |||
523 | [NWZ_NVP_NVR] = 77, | 548 | [NWZ_NVP_NVR] = 77, |
524 | [NWZ_NVP_PCD] = 8, | 549 | [NWZ_NVP_PCD] = 8, |
525 | [NWZ_NVP_PCI] = 87, | 550 | [NWZ_NVP_PCI] = 87, |
551 | [NWZ_NVP_PNC] = NWZ_NVP_INVALID, | ||
526 | [NWZ_NVP_PRK] = 4, | 552 | [NWZ_NVP_PRK] = 4, |
527 | [NWZ_NVP_PSK] = 18, | 553 | [NWZ_NVP_PSK] = 18, |
528 | [NWZ_NVP_PTS] = NWZ_NVP_INVALID, | 554 | [NWZ_NVP_PTS] = NWZ_NVP_INVALID, |
@@ -549,9 +575,133 @@ static int nvp_index_398250[NWZ_NVP_COUNT] = | |||
549 | [NWZ_NVP_UFN] = 10, | 575 | [NWZ_NVP_UFN] = 10, |
550 | [NWZ_NVP_UMS] = 27, | 576 | [NWZ_NVP_UMS] = 27, |
551 | [NWZ_NVP_UPS] = 29, | 577 | [NWZ_NVP_UPS] = 29, |
578 | [NWZ_NVP_VAR] = NWZ_NVP_INVALID, | ||
552 | [NWZ_NVP_VRT] = 81, | 579 | [NWZ_NVP_VRT] = 81, |
553 | }; | 580 | }; |
554 | 581 | ||
582 | static int nvp_index_4edba7[NWZ_NVP_COUNT] = | ||
583 | { | ||
584 | [NWZ_NVP_APD] = 78, | ||
585 | [NWZ_NVP_APP] = 0, | ||
586 | [NWZ_NVP_BFD] = NWZ_NVP_INVALID, | ||
587 | [NWZ_NVP_BFP] = NWZ_NVP_INVALID, | ||
588 | [NWZ_NVP_BLF] = 79, | ||
589 | [NWZ_NVP_BML] = NWZ_NVP_INVALID, | ||
590 | [NWZ_NVP_BOK] = 10, | ||
591 | [NWZ_NVP_BPR] = 35, | ||
592 | [NWZ_NVP_BTC] = NWZ_NVP_INVALID, | ||
593 | [NWZ_NVP_BTI] = 1, | ||
594 | [NWZ_NVP_CLV] = 68, | ||
595 | [NWZ_NVP_CNG] = 3, | ||
596 | [NWZ_NVP_CTR] = NWZ_NVP_INVALID, | ||
597 | [NWZ_NVP_DBA] = 12, | ||
598 | [NWZ_NVP_DBG] = NWZ_NVP_INVALID, | ||
599 | [NWZ_NVP_DBI] = NWZ_NVP_INVALID, | ||
600 | [NWZ_NVP_DBS] = 27, | ||
601 | [NWZ_NVP_DBV] = 13, | ||
602 | [NWZ_NVP_DCC] = 7, | ||
603 | [NWZ_NVP_DG0] = 5, | ||
604 | [NWZ_NVP_DG1] = 6, | ||
605 | [NWZ_NVP_DOR] = 21, | ||
606 | [NWZ_NVP_E00] = 36, | ||
607 | [NWZ_NVP_E01] = 37, | ||
608 | [NWZ_NVP_E02] = 38, | ||
609 | [NWZ_NVP_E03] = 39, | ||
610 | [NWZ_NVP_E04] = 40, | ||
611 | [NWZ_NVP_E05] = 41, | ||
612 | [NWZ_NVP_E06] = 42, | ||
613 | [NWZ_NVP_E07] = 43, | ||
614 | [NWZ_NVP_E08] = 44, | ||
615 | [NWZ_NVP_E09] = 45, | ||
616 | [NWZ_NVP_E10] = 46, | ||
617 | [NWZ_NVP_E11] = 47, | ||
618 | [NWZ_NVP_E12] = 48, | ||
619 | [NWZ_NVP_E13] = 49, | ||
620 | [NWZ_NVP_E14] = 50, | ||
621 | [NWZ_NVP_E15] = 51, | ||
622 | [NWZ_NVP_E16] = 52, | ||
623 | [NWZ_NVP_E17] = 53, | ||
624 | [NWZ_NVP_E18] = 54, | ||
625 | [NWZ_NVP_E19] = 55, | ||
626 | [NWZ_NVP_E20] = 56, | ||
627 | [NWZ_NVP_E21] = 57, | ||
628 | [NWZ_NVP_E22] = 58, | ||
629 | [NWZ_NVP_E23] = 59, | ||
630 | [NWZ_NVP_E24] = 60, | ||
631 | [NWZ_NVP_E25] = 61, | ||
632 | [NWZ_NVP_E26] = 62, | ||
633 | [NWZ_NVP_E27] = 63, | ||
634 | [NWZ_NVP_E28] = 64, | ||
635 | [NWZ_NVP_E29] = 65, | ||
636 | [NWZ_NVP_E30] = 66, | ||
637 | [NWZ_NVP_E31] = 67, | ||
638 | [NWZ_NVP_EDW] = 22, | ||
639 | [NWZ_NVP_EP0] = 71, | ||
640 | [NWZ_NVP_EP1] = 72, | ||
641 | [NWZ_NVP_EP2] = 73, | ||
642 | [NWZ_NVP_EP3] = 74, | ||
643 | [NWZ_NVP_ERI] = NWZ_NVP_INVALID, | ||
644 | [NWZ_NVP_EXM] = NWZ_NVP_INVALID, | ||
645 | [NWZ_NVP_FMP] = NWZ_NVP_INVALID, | ||
646 | [NWZ_NVP_FNI] = NWZ_NVP_INVALID, | ||
647 | [NWZ_NVP_FPI] = NWZ_NVP_INVALID, | ||
648 | [NWZ_NVP_FUI] = 19, | ||
649 | [NWZ_NVP_FUP] = 9, | ||
650 | [NWZ_NVP_FUR] = NWZ_NVP_INVALID, | ||
651 | [NWZ_NVP_FVI] = NWZ_NVP_INVALID, | ||
652 | [NWZ_NVP_GTY] = 18, | ||
653 | [NWZ_NVP_HDI] = 2, | ||
654 | [NWZ_NVP_HLD] = 80, | ||
655 | [NWZ_NVP_INS] = NWZ_NVP_INVALID, | ||
656 | [NWZ_NVP_IPT] = 70, | ||
657 | [NWZ_NVP_KAS] = 32, | ||
658 | [NWZ_NVP_LBI] = 20, | ||
659 | [NWZ_NVP_LYR] = NWZ_NVP_INVALID, | ||
660 | [NWZ_NVP_MAC] = 77, | ||
661 | [NWZ_NVP_MCR] = NWZ_NVP_INVALID, | ||
662 | [NWZ_NVP_MDK] = NWZ_NVP_INVALID, | ||
663 | [NWZ_NVP_MDL] = 8, | ||
664 | [NWZ_NVP_MID] = 16, | ||
665 | [NWZ_NVP_MLK] = NWZ_NVP_INVALID, | ||
666 | [NWZ_NVP_MSC] = NWZ_NVP_INVALID, | ||
667 | [NWZ_NVP_MSO] = NWZ_NVP_INVALID, | ||
668 | [NWZ_NVP_MTM] = NWZ_NVP_INVALID, | ||
669 | [NWZ_NVP_MUK] = NWZ_NVP_INVALID, | ||
670 | [NWZ_NVP_NCP] = 31, | ||
671 | [NWZ_NVP_NVR] = NWZ_NVP_INVALID, | ||
672 | [NWZ_NVP_PCD] = 26, | ||
673 | [NWZ_NVP_PCI] = NWZ_NVP_INVALID, | ||
674 | [NWZ_NVP_PNC] = 33, | ||
675 | [NWZ_NVP_PRK] = NWZ_NVP_INVALID, | ||
676 | [NWZ_NVP_PSK] = NWZ_NVP_INVALID, | ||
677 | [NWZ_NVP_PTS] = 75, | ||
678 | [NWZ_NVP_RBT] = NWZ_NVP_INVALID, | ||
679 | [NWZ_NVP_RND] = 28, | ||
680 | [NWZ_NVP_RTC] = 34, | ||
681 | [NWZ_NVP_SDC] = NWZ_NVP_INVALID, | ||
682 | [NWZ_NVP_SDP] = 30, | ||
683 | [NWZ_NVP_SER] = 4, | ||
684 | [NWZ_NVP_SFI] = NWZ_NVP_INVALID, | ||
685 | [NWZ_NVP_SHE] = NWZ_NVP_INVALID, | ||
686 | [NWZ_NVP_SHP] = 11, | ||
687 | [NWZ_NVP_SID] = NWZ_NVP_INVALID, | ||
688 | [NWZ_NVP_SKD] = 81, | ||
689 | [NWZ_NVP_SKT] = 76, | ||
690 | [NWZ_NVP_SKU] = NWZ_NVP_INVALID, | ||
691 | [NWZ_NVP_SLP] = 69, | ||
692 | [NWZ_NVP_SPS] = NWZ_NVP_INVALID, | ||
693 | [NWZ_NVP_SYI] = 24, | ||
694 | [NWZ_NVP_TR0] = 14, | ||
695 | [NWZ_NVP_TR1] = 15, | ||
696 | [NWZ_NVP_TST] = 17, | ||
697 | [NWZ_NVP_UBP] = 23, | ||
698 | [NWZ_NVP_UFN] = 29, | ||
699 | [NWZ_NVP_UMS] = NWZ_NVP_INVALID, | ||
700 | [NWZ_NVP_UPS] = NWZ_NVP_INVALID, | ||
701 | [NWZ_NVP_VAR] = 25, | ||
702 | [NWZ_NVP_VRT] = NWZ_NVP_INVALID, | ||
703 | }; | ||
704 | |||
555 | static int nvp_index_6485c8[NWZ_NVP_COUNT] = | 705 | static int nvp_index_6485c8[NWZ_NVP_COUNT] = |
556 | { | 706 | { |
557 | [NWZ_NVP_APD] = 78, | 707 | [NWZ_NVP_APD] = 78, |
@@ -570,8 +720,11 @@ static int nvp_index_6485c8[NWZ_NVP_COUNT] = | |||
570 | [NWZ_NVP_DBA] = 24, | 720 | [NWZ_NVP_DBA] = 24, |
571 | [NWZ_NVP_DBG] = 0, | 721 | [NWZ_NVP_DBG] = 0, |
572 | [NWZ_NVP_DBI] = 88, | 722 | [NWZ_NVP_DBI] = 88, |
723 | [NWZ_NVP_DBS] = NWZ_NVP_INVALID, | ||
573 | [NWZ_NVP_DBV] = 25, | 724 | [NWZ_NVP_DBV] = 25, |
574 | [NWZ_NVP_DCC] = 31, | 725 | [NWZ_NVP_DCC] = 31, |
726 | [NWZ_NVP_DG0] = NWZ_NVP_INVALID, | ||
727 | [NWZ_NVP_DG1] = NWZ_NVP_INVALID, | ||
575 | [NWZ_NVP_DOR] = 26, | 728 | [NWZ_NVP_DOR] = 26, |
576 | [NWZ_NVP_E00] = 36, | 729 | [NWZ_NVP_E00] = 36, |
577 | [NWZ_NVP_E01] = 37, | 730 | [NWZ_NVP_E01] = 37, |
@@ -606,6 +759,10 @@ static int nvp_index_6485c8[NWZ_NVP_COUNT] = | |||
606 | [NWZ_NVP_E30] = 66, | 759 | [NWZ_NVP_E30] = 66, |
607 | [NWZ_NVP_E31] = 67, | 760 | [NWZ_NVP_E31] = 67, |
608 | [NWZ_NVP_EDW] = 71, | 761 | [NWZ_NVP_EDW] = 71, |
762 | [NWZ_NVP_EP0] = NWZ_NVP_INVALID, | ||
763 | [NWZ_NVP_EP1] = NWZ_NVP_INVALID, | ||
764 | [NWZ_NVP_EP2] = NWZ_NVP_INVALID, | ||
765 | [NWZ_NVP_EP3] = NWZ_NVP_INVALID, | ||
609 | [NWZ_NVP_ERI] = 76, | 766 | [NWZ_NVP_ERI] = 76, |
610 | [NWZ_NVP_EXM] = NWZ_NVP_INVALID, | 767 | [NWZ_NVP_EXM] = NWZ_NVP_INVALID, |
611 | [NWZ_NVP_FMP] = 15, | 768 | [NWZ_NVP_FMP] = 15, |
@@ -637,6 +794,7 @@ static int nvp_index_6485c8[NWZ_NVP_COUNT] = | |||
637 | [NWZ_NVP_NVR] = NWZ_NVP_INVALID, | 794 | [NWZ_NVP_NVR] = NWZ_NVP_INVALID, |
638 | [NWZ_NVP_PCD] = 8, | 795 | [NWZ_NVP_PCD] = 8, |
639 | [NWZ_NVP_PCI] = 87, | 796 | [NWZ_NVP_PCI] = 87, |
797 | [NWZ_NVP_PNC] = NWZ_NVP_INVALID, | ||
640 | [NWZ_NVP_PRK] = NWZ_NVP_INVALID, | 798 | [NWZ_NVP_PRK] = NWZ_NVP_INVALID, |
641 | [NWZ_NVP_PSK] = 18, | 799 | [NWZ_NVP_PSK] = 18, |
642 | [NWZ_NVP_PTS] = 77, | 800 | [NWZ_NVP_PTS] = 77, |
@@ -663,6 +821,7 @@ static int nvp_index_6485c8[NWZ_NVP_COUNT] = | |||
663 | [NWZ_NVP_UFN] = 10, | 821 | [NWZ_NVP_UFN] = 10, |
664 | [NWZ_NVP_UMS] = NWZ_NVP_INVALID, | 822 | [NWZ_NVP_UMS] = NWZ_NVP_INVALID, |
665 | [NWZ_NVP_UPS] = NWZ_NVP_INVALID, | 823 | [NWZ_NVP_UPS] = NWZ_NVP_INVALID, |
824 | [NWZ_NVP_VAR] = NWZ_NVP_INVALID, | ||
666 | [NWZ_NVP_VRT] = 81, | 825 | [NWZ_NVP_VRT] = 81, |
667 | }; | 826 | }; |
668 | 827 | ||
@@ -684,8 +843,11 @@ static int nvp_index_92faee[NWZ_NVP_COUNT] = | |||
684 | [NWZ_NVP_DBA] = 24, | 843 | [NWZ_NVP_DBA] = 24, |
685 | [NWZ_NVP_DBG] = 0, | 844 | [NWZ_NVP_DBG] = 0, |
686 | [NWZ_NVP_DBI] = 88, | 845 | [NWZ_NVP_DBI] = 88, |
846 | [NWZ_NVP_DBS] = NWZ_NVP_INVALID, | ||
687 | [NWZ_NVP_DBV] = 25, | 847 | [NWZ_NVP_DBV] = 25, |
688 | [NWZ_NVP_DCC] = 31, | 848 | [NWZ_NVP_DCC] = 31, |
849 | [NWZ_NVP_DG0] = NWZ_NVP_INVALID, | ||
850 | [NWZ_NVP_DG1] = NWZ_NVP_INVALID, | ||
689 | [NWZ_NVP_DOR] = 26, | 851 | [NWZ_NVP_DOR] = 26, |
690 | [NWZ_NVP_E00] = 36, | 852 | [NWZ_NVP_E00] = 36, |
691 | [NWZ_NVP_E01] = 37, | 853 | [NWZ_NVP_E01] = 37, |
@@ -720,6 +882,10 @@ static int nvp_index_92faee[NWZ_NVP_COUNT] = | |||
720 | [NWZ_NVP_E30] = 66, | 882 | [NWZ_NVP_E30] = 66, |
721 | [NWZ_NVP_E31] = 67, | 883 | [NWZ_NVP_E31] = 67, |
722 | [NWZ_NVP_EDW] = 71, | 884 | [NWZ_NVP_EDW] = 71, |
885 | [NWZ_NVP_EP0] = NWZ_NVP_INVALID, | ||
886 | [NWZ_NVP_EP1] = NWZ_NVP_INVALID, | ||
887 | [NWZ_NVP_EP2] = NWZ_NVP_INVALID, | ||
888 | [NWZ_NVP_EP3] = NWZ_NVP_INVALID, | ||
723 | [NWZ_NVP_ERI] = 76, | 889 | [NWZ_NVP_ERI] = 76, |
724 | [NWZ_NVP_EXM] = NWZ_NVP_INVALID, | 890 | [NWZ_NVP_EXM] = NWZ_NVP_INVALID, |
725 | [NWZ_NVP_FMP] = 15, | 891 | [NWZ_NVP_FMP] = 15, |
@@ -751,6 +917,7 @@ static int nvp_index_92faee[NWZ_NVP_COUNT] = | |||
751 | [NWZ_NVP_NVR] = NWZ_NVP_INVALID, | 917 | [NWZ_NVP_NVR] = NWZ_NVP_INVALID, |
752 | [NWZ_NVP_PCD] = 8, | 918 | [NWZ_NVP_PCD] = 8, |
753 | [NWZ_NVP_PCI] = 87, | 919 | [NWZ_NVP_PCI] = 87, |
920 | [NWZ_NVP_PNC] = NWZ_NVP_INVALID, | ||
754 | [NWZ_NVP_PRK] = NWZ_NVP_INVALID, | 921 | [NWZ_NVP_PRK] = NWZ_NVP_INVALID, |
755 | [NWZ_NVP_PSK] = 18, | 922 | [NWZ_NVP_PSK] = 18, |
756 | [NWZ_NVP_PTS] = 77, | 923 | [NWZ_NVP_PTS] = 77, |
@@ -777,6 +944,7 @@ static int nvp_index_92faee[NWZ_NVP_COUNT] = | |||
777 | [NWZ_NVP_UFN] = 10, | 944 | [NWZ_NVP_UFN] = 10, |
778 | [NWZ_NVP_UMS] = NWZ_NVP_INVALID, | 945 | [NWZ_NVP_UMS] = NWZ_NVP_INVALID, |
779 | [NWZ_NVP_UPS] = NWZ_NVP_INVALID, | 946 | [NWZ_NVP_UPS] = NWZ_NVP_INVALID, |
947 | [NWZ_NVP_VAR] = NWZ_NVP_INVALID, | ||
780 | [NWZ_NVP_VRT] = 81, | 948 | [NWZ_NVP_VRT] = 81, |
781 | }; | 949 | }; |
782 | 950 | ||
@@ -798,8 +966,11 @@ static int nvp_index_f505c8[NWZ_NVP_COUNT] = | |||
798 | [NWZ_NVP_DBA] = 12, | 966 | [NWZ_NVP_DBA] = 12, |
799 | [NWZ_NVP_DBG] = 0, | 967 | [NWZ_NVP_DBG] = 0, |
800 | [NWZ_NVP_DBI] = NWZ_NVP_INVALID, | 968 | [NWZ_NVP_DBI] = NWZ_NVP_INVALID, |
969 | [NWZ_NVP_DBS] = NWZ_NVP_INVALID, | ||
801 | [NWZ_NVP_DBV] = 13, | 970 | [NWZ_NVP_DBV] = 13, |
802 | [NWZ_NVP_DCC] = 7, | 971 | [NWZ_NVP_DCC] = 7, |
972 | [NWZ_NVP_DG0] = NWZ_NVP_INVALID, | ||
973 | [NWZ_NVP_DG1] = NWZ_NVP_INVALID, | ||
803 | [NWZ_NVP_DOR] = 21, | 974 | [NWZ_NVP_DOR] = 21, |
804 | [NWZ_NVP_E00] = 36, | 975 | [NWZ_NVP_E00] = 36, |
805 | [NWZ_NVP_E01] = 37, | 976 | [NWZ_NVP_E01] = 37, |
@@ -834,6 +1005,10 @@ static int nvp_index_f505c8[NWZ_NVP_COUNT] = | |||
834 | [NWZ_NVP_E30] = 66, | 1005 | [NWZ_NVP_E30] = 66, |
835 | [NWZ_NVP_E31] = 67, | 1006 | [NWZ_NVP_E31] = 67, |
836 | [NWZ_NVP_EDW] = 22, | 1007 | [NWZ_NVP_EDW] = 22, |
1008 | [NWZ_NVP_EP0] = NWZ_NVP_INVALID, | ||
1009 | [NWZ_NVP_EP1] = NWZ_NVP_INVALID, | ||
1010 | [NWZ_NVP_EP2] = NWZ_NVP_INVALID, | ||
1011 | [NWZ_NVP_EP3] = NWZ_NVP_INVALID, | ||
837 | [NWZ_NVP_ERI] = 6, | 1012 | [NWZ_NVP_ERI] = 6, |
838 | [NWZ_NVP_EXM] = 25, | 1013 | [NWZ_NVP_EXM] = 25, |
839 | [NWZ_NVP_FMP] = 82, | 1014 | [NWZ_NVP_FMP] = 82, |
@@ -865,6 +1040,7 @@ static int nvp_index_f505c8[NWZ_NVP_COUNT] = | |||
865 | [NWZ_NVP_NVR] = NWZ_NVP_INVALID, | 1040 | [NWZ_NVP_NVR] = NWZ_NVP_INVALID, |
866 | [NWZ_NVP_PCD] = 26, | 1041 | [NWZ_NVP_PCD] = 26, |
867 | [NWZ_NVP_PCI] = NWZ_NVP_INVALID, | 1042 | [NWZ_NVP_PCI] = NWZ_NVP_INVALID, |
1043 | [NWZ_NVP_PNC] = NWZ_NVP_INVALID, | ||
868 | [NWZ_NVP_PRK] = NWZ_NVP_INVALID, | 1044 | [NWZ_NVP_PRK] = NWZ_NVP_INVALID, |
869 | [NWZ_NVP_PSK] = 86, | 1045 | [NWZ_NVP_PSK] = 86, |
870 | [NWZ_NVP_PTS] = 75, | 1046 | [NWZ_NVP_PTS] = 75, |
@@ -891,6 +1067,7 @@ static int nvp_index_f505c8[NWZ_NVP_COUNT] = | |||
891 | [NWZ_NVP_UFN] = 29, | 1067 | [NWZ_NVP_UFN] = 29, |
892 | [NWZ_NVP_UMS] = NWZ_NVP_INVALID, | 1068 | [NWZ_NVP_UMS] = NWZ_NVP_INVALID, |
893 | [NWZ_NVP_UPS] = NWZ_NVP_INVALID, | 1069 | [NWZ_NVP_UPS] = NWZ_NVP_INVALID, |
1070 | [NWZ_NVP_VAR] = NWZ_NVP_INVALID, | ||
894 | [NWZ_NVP_VRT] = 85, | 1071 | [NWZ_NVP_VRT] = 85, |
895 | }; | 1072 | }; |
896 | 1073 | ||
@@ -912,8 +1089,11 @@ struct nwz_nvp_info_t nwz_nvp[NWZ_NVP_COUNT] = | |||
912 | [NWZ_NVP_DBA] = { "dba", 160, "aad icv" }, | 1089 | [NWZ_NVP_DBA] = { "dba", 160, "aad icv" }, |
913 | [NWZ_NVP_DBG] = { "dbg", 0, "" }, | 1090 | [NWZ_NVP_DBG] = { "dbg", 0, "" }, |
914 | [NWZ_NVP_DBI] = { "dbi", 262144, "dead battery image" }, | 1091 | [NWZ_NVP_DBI] = { "dbi", 262144, "dead battery image" }, |
1092 | [NWZ_NVP_DBS] = { "dbs", 0, "" }, | ||
915 | [NWZ_NVP_DBV] = { "dbv", 520, "empr icv | empr key" }, | 1093 | [NWZ_NVP_DBV] = { "dbv", 520, "empr icv | empr key" }, |
916 | [NWZ_NVP_DCC] = { "dcc", 20, "secure clock" }, | 1094 | [NWZ_NVP_DCC] = { "dcc", 20, "secure clock" }, |
1095 | [NWZ_NVP_DG0] = { "dg0", 0, "" }, | ||
1096 | [NWZ_NVP_DG1] = { "dg1", 0, "" }, | ||
917 | [NWZ_NVP_DOR] = { "dor", 4, "key mode (debug/release)" }, | 1097 | [NWZ_NVP_DOR] = { "dor", 4, "key mode (debug/release)" }, |
918 | [NWZ_NVP_E00] = { "e00", 1024, "EMPR 0" }, | 1098 | [NWZ_NVP_E00] = { "e00", 1024, "EMPR 0" }, |
919 | [NWZ_NVP_E01] = { "e01", 1024, "EMPR 1" }, | 1099 | [NWZ_NVP_E01] = { "e01", 1024, "EMPR 1" }, |
@@ -948,6 +1128,10 @@ struct nwz_nvp_info_t nwz_nvp[NWZ_NVP_COUNT] = | |||
948 | [NWZ_NVP_E30] = { "e30", 1024, "EMPR 30" }, | 1128 | [NWZ_NVP_E30] = { "e30", 1024, "EMPR 30" }, |
949 | [NWZ_NVP_E31] = { "e31", 1024, "EMPR 31" }, | 1129 | [NWZ_NVP_E31] = { "e31", 1024, "EMPR 31" }, |
950 | [NWZ_NVP_EDW] = { "edw", 4, "quick shutdown flag" }, | 1130 | [NWZ_NVP_EDW] = { "edw", 4, "quick shutdown flag" }, |
1131 | [NWZ_NVP_EP0] = { "ep0", 0, "" }, | ||
1132 | [NWZ_NVP_EP1] = { "ep1", 0, "" }, | ||
1133 | [NWZ_NVP_EP2] = { "ep2", 0, "" }, | ||
1134 | [NWZ_NVP_EP3] = { "ep3", 0, "" }, | ||
951 | [NWZ_NVP_ERI] = { "eri", 262144, "update error image" }, | 1135 | [NWZ_NVP_ERI] = { "eri", 262144, "update error image" }, |
952 | [NWZ_NVP_EXM] = { "exm", 4, "exception monitor mode" }, | 1136 | [NWZ_NVP_EXM] = { "exm", 4, "exception monitor mode" }, |
953 | [NWZ_NVP_FMP] = { "fmp", 16, "fm parameter" }, | 1137 | [NWZ_NVP_FMP] = { "fmp", 16, "fm parameter" }, |
@@ -979,6 +1163,7 @@ struct nwz_nvp_info_t nwz_nvp[NWZ_NVP_COUNT] = | |||
979 | [NWZ_NVP_NVR] = { "nvr", 0, "" }, | 1163 | [NWZ_NVP_NVR] = { "nvr", 0, "" }, |
980 | [NWZ_NVP_PCD] = { "pcd", 5, "product code" }, | 1164 | [NWZ_NVP_PCD] = { "pcd", 5, "product code" }, |
981 | [NWZ_NVP_PCI] = { "pci", 262144, "precharge image" }, | 1165 | [NWZ_NVP_PCI] = { "pci", 262144, "precharge image" }, |
1166 | [NWZ_NVP_PNC] = { "pnc", 0, "" }, | ||
982 | [NWZ_NVP_PRK] = { "prk", 0, "" }, | 1167 | [NWZ_NVP_PRK] = { "prk", 0, "" }, |
983 | [NWZ_NVP_PSK] = { "psk", 512, "bluetooth pskey" }, | 1168 | [NWZ_NVP_PSK] = { "psk", 512, "bluetooth pskey" }, |
984 | [NWZ_NVP_PTS] = { "pts", 4, "wifi protected setup" }, | 1169 | [NWZ_NVP_PTS] = { "pts", 4, "wifi protected setup" }, |
@@ -1005,6 +1190,7 @@ struct nwz_nvp_info_t nwz_nvp[NWZ_NVP_COUNT] = | |||
1005 | [NWZ_NVP_UFN] = { "ufn", 8, "update file name" }, | 1190 | [NWZ_NVP_UFN] = { "ufn", 8, "update file name" }, |
1006 | [NWZ_NVP_UMS] = { "ums", 0, "" }, | 1191 | [NWZ_NVP_UMS] = { "ums", 0, "" }, |
1007 | [NWZ_NVP_UPS] = { "ups", 0, "" }, | 1192 | [NWZ_NVP_UPS] = { "ups", 0, "" }, |
1193 | [NWZ_NVP_VAR] = { "var", 0, "" }, | ||
1008 | [NWZ_NVP_VRT] = { "vrt", 4, "europe vol regulation flag" }, | 1194 | [NWZ_NVP_VRT] = { "vrt", 4, "europe vol regulation flag" }, |
1009 | }; | 1195 | }; |
1010 | 1196 | ||
@@ -1143,7 +1329,7 @@ struct nwz_series_info_t nwz_series[NWZ_SERIES_COUNT] = | |||
1143 | { "nwz-s770", "NWZ-S770 Series", 8, models_nwz_s770, 0 }, | 1329 | { "nwz-s770", "NWZ-S770 Series", 8, models_nwz_s770, 0 }, |
1144 | { "nw-s780", "NW-S780 Series", 4, models_nw_s780, &nvp_index_6485c8 }, | 1330 | { "nw-s780", "NW-S780 Series", 4, models_nw_s780, &nvp_index_6485c8 }, |
1145 | { "nw-wm1", "NW-WM1 Series", 2, models_nw_wm1, &nvp_index_398250 }, | 1331 | { "nw-wm1", "NW-WM1 Series", 2, models_nw_wm1, &nvp_index_398250 }, |
1146 | { "nwz-x1000", "NWZ-X1000 Series", 9, models_nwz_x1000, 0 }, | 1332 | { "nwz-x1000", "NWZ-X1000 Series", 9, models_nwz_x1000, &nvp_index_4edba7 }, |
1147 | { "nw-zx100", "NW-ZX100 Series", 6, models_nw_zx100, &nvp_index_92faee }, | 1333 | { "nw-zx100", "NW-ZX100 Series", 6, models_nw_zx100, &nvp_index_92faee }, |
1148 | { "nwz-noname", "NONAME", 3, models_nwz_noname, 0 }, | 1334 | { "nwz-noname", "NONAME", 3, models_nwz_noname, 0 }, |
1149 | }; | 1335 | }; |
diff --git a/utils/nwztools/database/nwz_db.h b/utils/nwztools/database/nwz_db.h index 23b83c5383..2e05dd0968 100644 --- a/utils/nwztools/database/nwz_db.h +++ b/utils/nwztools/database/nwz_db.h | |||
@@ -41,8 +41,11 @@ enum nwz_nvp_node_t | |||
41 | NWZ_NVP_DBA, /* aad icv */ | 41 | NWZ_NVP_DBA, /* aad icv */ |
42 | NWZ_NVP_DBG, /* */ | 42 | NWZ_NVP_DBG, /* */ |
43 | NWZ_NVP_DBI, /* dead battery image */ | 43 | NWZ_NVP_DBI, /* dead battery image */ |
44 | NWZ_NVP_DBS, /* */ | ||
44 | NWZ_NVP_DBV, /* empr icv | empr key */ | 45 | NWZ_NVP_DBV, /* empr icv | empr key */ |
45 | NWZ_NVP_DCC, /* secure clock */ | 46 | NWZ_NVP_DCC, /* secure clock */ |
47 | NWZ_NVP_DG0, /* */ | ||
48 | NWZ_NVP_DG1, /* */ | ||
46 | NWZ_NVP_DOR, /* key mode (debug/release) */ | 49 | NWZ_NVP_DOR, /* key mode (debug/release) */ |
47 | NWZ_NVP_E00, /* EMPR 0 */ | 50 | NWZ_NVP_E00, /* EMPR 0 */ |
48 | NWZ_NVP_E01, /* EMPR 1 */ | 51 | NWZ_NVP_E01, /* EMPR 1 */ |
@@ -77,6 +80,10 @@ enum nwz_nvp_node_t | |||
77 | NWZ_NVP_E30, /* EMPR 30 */ | 80 | NWZ_NVP_E30, /* EMPR 30 */ |
78 | NWZ_NVP_E31, /* EMPR 31 */ | 81 | NWZ_NVP_E31, /* EMPR 31 */ |
79 | NWZ_NVP_EDW, /* quick shutdown flag */ | 82 | NWZ_NVP_EDW, /* quick shutdown flag */ |
83 | NWZ_NVP_EP0, /* */ | ||
84 | NWZ_NVP_EP1, /* */ | ||
85 | NWZ_NVP_EP2, /* */ | ||
86 | NWZ_NVP_EP3, /* */ | ||
80 | NWZ_NVP_ERI, /* update error image */ | 87 | NWZ_NVP_ERI, /* update error image */ |
81 | NWZ_NVP_EXM, /* exception monitor mode */ | 88 | NWZ_NVP_EXM, /* exception monitor mode */ |
82 | NWZ_NVP_FMP, /* fm parameter */ | 89 | NWZ_NVP_FMP, /* fm parameter */ |
@@ -108,6 +115,7 @@ enum nwz_nvp_node_t | |||
108 | NWZ_NVP_NVR, /* */ | 115 | NWZ_NVP_NVR, /* */ |
109 | NWZ_NVP_PCD, /* product code */ | 116 | NWZ_NVP_PCD, /* product code */ |
110 | NWZ_NVP_PCI, /* precharge image */ | 117 | NWZ_NVP_PCI, /* precharge image */ |
118 | NWZ_NVP_PNC, /* */ | ||
111 | NWZ_NVP_PRK, /* */ | 119 | NWZ_NVP_PRK, /* */ |
112 | NWZ_NVP_PSK, /* bluetooth pskey */ | 120 | NWZ_NVP_PSK, /* bluetooth pskey */ |
113 | NWZ_NVP_PTS, /* wifi protected setup */ | 121 | NWZ_NVP_PTS, /* wifi protected setup */ |
@@ -134,6 +142,7 @@ enum nwz_nvp_node_t | |||
134 | NWZ_NVP_UFN, /* update file name */ | 142 | NWZ_NVP_UFN, /* update file name */ |
135 | NWZ_NVP_UMS, /* */ | 143 | NWZ_NVP_UMS, /* */ |
136 | NWZ_NVP_UPS, /* */ | 144 | NWZ_NVP_UPS, /* */ |
145 | NWZ_NVP_VAR, /* */ | ||
137 | NWZ_NVP_VRT, /* europe vol regulation flag */ | 146 | NWZ_NVP_VRT, /* europe vol regulation flag */ |
138 | NWZ_NVP_COUNT /* Number of nvp nodes */ | 147 | NWZ_NVP_COUNT /* Number of nvp nodes */ |
139 | }; | 148 | }; |