Lines Matching refs:xml

23 from xml.etree import ElementTree
71 def extract_pattern(xml, name, is_defined_bits=None):
72 low, high = get_bitrange(xml)
75 patstr = xml.text.strip()
77 assert (len(patstr) == (1 + high - low)), "Invalid {} length in {}: {}..{}".format(xml.tag, name, low, high)
79 assert not is_defined_bits(mask), "Redefined bits in {} {}: {}..{}".format(xml.tag, name, low, high);
92 assert 0, "Invalid {} character in {}: {}".format(xml.tag, name, patstr[n])
94 dbg("{}: {}.{} => {:016x} / {:016x} / {:016x}".format(xml.tag, name, patstr, match << low, dontcare << low, mask))
104 def __init__(self, isa, xml):
106 self.low, self.high = get_bitrange(xml)
107 self.name = xml.attrib['name']
108 self.type = xml.attrib['type']
110 for param in xml.findall('param'):
117 if 'display' in xml.attrib:
118 self.display = xml.attrib['display'].strip()
141 def __init__(self, case, xml):
143 self.low, self.high = get_bitrange(xml)
149 match, dontcare, mask = extract_pattern(xml, case.bitset.name)
160 def __init__(self, isa, xml):
167 if 'width' in xml.attrib:
168 self.high = int(xml.attrib['width']) - 1
169 self.name = xml.attrib['name']
170 self.type = xml.attrib['type']
171 if 'expr' in xml.attrib:
172 self.expr = xml.attrib['expr']
174 e = isa.parse_one_expression(xml, self.name)
177 if 'display' in xml.attrib:
178 self.display = xml.attrib['display'].strip()
183 def __init__(self, bitset, xml, update_field_mask, expr=None):
192 for derived in xml.findall('derived'):
196 for assrt in xml.findall('assert'):
201 for field in xml.findall('field'):
208 for d in xml.findall('display'):
226 def __init__(self, xml):
228 if 'type' in xml.attrib:
229 self.type = xml.attrib['type']
231 if 'case-prefix' in xml.attrib:
232 self.case_prefix = xml.attrib['case-prefix']
237 for map in xml.findall('map'):
246 def __init__(self, isa, xml):
248 self.xml = xml
249 self.name = xml.attrib['name']
255 if 'size' in xml.attrib:
256 assert('extends' not in xml.attrib)
257 self.size = int(xml.attrib['size'])
261 self.extends = xml.attrib['extends']
264 if xml.find('encode') is not None:
265 self.encode = BitSetEncode(xml.find('encode'))
270 for gen in xml.findall('gen'):
302 dflt = BitSetCase(self, xml, update_default_bitmask_field)
304 for override in xml.findall('override'):
316 for pattern in xml.findall('pattern'):
373 def __init__(self, isa, xml):
375 self.name = xml.attrib['name']
380 for value in xml.findall('value'):
389 def __init__(self, isa, xml):
391 if 'name' in xml.attrib:
392 self.name = xml.attrib['name']
396 expr = xml.text.strip()