diff --git a/src/intel/genxml/gen125.xml b/src/intel/genxml/gen125.xml
index 6d27fb84b65..4af72bf249e 100644
--- a/src/intel/genxml/gen125.xml
+++ b/src/intel/genxml/gen125.xml
@@ -6892,8 +6892,8 @@
-
-
+
+
diff --git a/src/intel/genxml/gen_pack_header.py b/src/intel/genxml/gen_pack_header.py
index c7355380ddb..ec512453dc0 100644
--- a/src/intel/genxml/gen_pack_header.py
+++ b/src/intel/genxml/gen_pack_header.py
@@ -133,6 +133,7 @@ class Field(object):
self.end = int(attrs["end"])
self.type = attrs["type"]
self.nonzero = bool_from_str(attrs.get("nonzero", "false"))
+ self.prefix = attrs["prefix"] if "prefix" in attrs else None
assert self.start <= self.end, \
'field {} has end ({}) < start ({})'.format(self.name, self.end,
@@ -141,11 +142,6 @@ class Field(object):
assert self.end == self.start, \
'bool field ({}) is too wide'.format(self.name)
- if "prefix" in attrs:
- self.prefix = attrs["prefix"]
- else:
- self.prefix = None
-
if "default" in attrs:
# Base 0 recognizes 0x, 0o, 0b prefixes in addition to decimal ints.
self.default = int(attrs["default"], base=0)
@@ -340,6 +336,13 @@ class Group(object):
else:
address_count = 1
+ # Assert in dont_use values
+ for field in dw.fields:
+ for value in field.values:
+ if value.dont_use:
+ print(" assert(values->%s != %s);" %
+ (field.name, field.prefix + "_" + value.name))
+
if dw.size == 32 and dw.address == None:
v = None
print(" dw[%d] =" % index)
@@ -423,6 +426,7 @@ class Value(object):
def __init__(self, attrs):
self.name = safe_name(attrs["name"])
self.value = ast.literal_eval(attrs["value"])
+ self.dont_use = int(attrs["dont_use"]) != 0 if "dont_use" in attrs else False
class Parser(object):
def __init__(self):
@@ -490,7 +494,7 @@ class Parser(object):
if "prefix" in attrs:
self.prefix = safe_name(attrs["prefix"])
else:
- self.prefix= None
+ self.prefix = None
elif name == "value":
self.values.append(Value(attrs))
diff --git a/src/intel/genxml/gen_sort_tags.py b/src/intel/genxml/gen_sort_tags.py
index 11569df862a..22454559875 100755
--- a/src/intel/genxml/gen_sort_tags.py
+++ b/src/intel/genxml/gen_sort_tags.py
@@ -86,7 +86,7 @@ GENXML_DESC = {
'struct' : [ 'name', 'length', ],
'field' : [ 'name', 'start', 'end', 'type', 'default', 'prefix', 'nonzero' ],
'instruction' : [ 'name', 'bias', 'length', 'engine', ],
- 'value' : [ 'name', 'value', ],
+ 'value' : [ 'name', 'value', 'dont_use', ],
'group' : [ 'count', 'start', 'size', ],
'register' : [ 'name', 'length', 'num', ],
}