summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordan Justen <jordan.l.justen@intel.com>2022-12-23 17:44:03 -0800
committerJordan Justen <jordan.l.justen@intel.com>2023-08-07 14:58:57 -0700
commitf1d7c6d14e16538bed373f2997d44a376efb85a8 (patch)
tree2c69394c89f2326da517b63bcb04b28a873d66ab
parent79a3a3a4ddc9d2a5753134fe47f269fae68f6955 (diff)
intel/genxml: Add GenXml class into intel_genxml module
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-rw-r--r--src/intel/genxml/gen_bits_header.py10
-rw-r--r--src/intel/genxml/gen_pack_header.py11
-rwxr-xr-xsrc/intel/genxml/intel_genxml.py5
3 files changed, 15 insertions, 11 deletions
diff --git a/src/intel/genxml/gen_bits_header.py b/src/intel/genxml/gen_bits_header.py
index f0c3ab9cbc7..364fb7fd11e 100644
--- a/src/intel/genxml/gen_bits_header.py
+++ b/src/intel/genxml/gen_bits_header.py
@@ -20,8 +20,8 @@
# SOFTWARE.
import argparse
+import intel_genxml
import os
-import xml.etree.ElementTree as et
from mako.template import Template
from util import *
@@ -245,9 +245,8 @@ class XmlParser(object):
self.container_stack = []
self.container_stack.append(None)
- def parse(self, filename):
- xml = et.parse(filename)
- root = xml.getroot()
+ def emit_genxml(self, genxml):
+ root = genxml.et.getroot()
self.gen = Gen(root.attrib['gen'])
for item in root:
self.process_item(item)
@@ -335,7 +334,8 @@ def main():
for source in pargs.xml_sources:
p = XmlParser(containers)
p.engines = set(engines)
- p.parse(source)
+ genxml = intel_genxml.GenXml(source)
+ p.emit_genxml(genxml)
included_symbols_list = pargs.include_symbols.split(',')
for _name_field in included_symbols_list:
diff --git a/src/intel/genxml/gen_pack_header.py b/src/intel/genxml/gen_pack_header.py
index 20a15c90a71..8d49a74e824 100644
--- a/src/intel/genxml/gen_pack_header.py
+++ b/src/intel/genxml/gen_pack_header.py
@@ -2,7 +2,7 @@
import argparse
import ast
-import xml.etree.ElementTree as et
+import intel_genxml
import re
import sys
import copy
@@ -613,9 +613,8 @@ class Parser(object):
print(' %-36s = %6d,' % (name.upper(), value.value))
print('};\n')
- def parse(self, filename):
- xml = et.parse(filename)
- root = xml.getroot()
+ def emit_genxml(self, genxml):
+ root = genxml.et.getroot()
self.platform = root.attrib["name"]
self.gen = root.attrib["gen"].replace('.', '')
print(pack_header % {'license': license, 'platform': self.platform, 'guard': self.gen_guard()})
@@ -641,7 +640,6 @@ def parse_args():
def main():
pargs = parse_args()
- input_file = pargs.xml_source
engines = pargs.engines.split(',')
valid_engines = [ 'render', 'blitter', 'video' ]
if set(engines) - set(valid_engines):
@@ -650,9 +648,10 @@ def main():
print("\t%s" % e)
sys.exit(1)
+ genxml = intel_genxml.GenXml(pargs.xml_source)
p = Parser()
p.engines = set(engines)
- p.parse(input_file)
+ p.emit_genxml(genxml)
if __name__ == '__main__':
main()
diff --git a/src/intel/genxml/intel_genxml.py b/src/intel/genxml/intel_genxml.py
index dfbf8c10690..8534a07380b 100755
--- a/src/intel/genxml/intel_genxml.py
+++ b/src/intel/genxml/intel_genxml.py
@@ -164,3 +164,8 @@ def sort_xml(xml: et.ElementTree) -> None:
for n in new_elems:
process_attribs(n)
genxml[:] = new_elems
+
+
+class GenXml(object):
+ def __init__(self, filename):
+ self.et = et.parse(filename)