def METHOD_NAME(self, root, cfg_file):
    REGISTER_INCONSISTENT = '{}: Register {} with offset {} should be of type \'{}\', not \'{}\''
    for reg in root.findall('./registers/register'):
        try:
            # Skip this register if it does not contain any fields
            if reg.find('./field') is None:
                continue
            # Determine size in bits of current register
            register_size = self._get_register_size(reg, cfg_file)
            if register_size is None:
                continue
            # Run through all fields in the register and flag issues along the way
            self._parse_register_fields(reg, register_size, cfg_file)
        except RuntimeError as e:
            self.log_messages.append(f'{cfg_file}: encountered unexpected exception at register {reg.attrib["name"]}. Error message: {e}')
            self.inconsistency_found = True
        if ('type' in reg.attrib) and ('offset' in reg.attrib) and (reg.attrib['type'] == 'pcicfg' or reg.attrib['type'] == 'mmcfg'):
            offset = int(reg.attrib['offset'], 16)
            if 0x0 <= offset <= 0xFF:
                # Register must be either type pcicfg or mmcfg
                if reg.attrib['type'] != 'pcicfg' and reg.attrib['type'] != 'mmcfg':
                    self.log_messages.append(REGISTER_INCONSISTENT.format(cfg_file, reg.attrib['name'], reg.attrib['offset'], 'pcicfg', reg.attrib['type']))
                    self.inconsistency_found = True
            elif 0xFF < offset <= 0xFFF:
                # Register must be type mmcfg
                if reg.attrib['type'] != 'mmcfg':
                    self.log_messages.append(REGISTER_INCONSISTENT.format(cfg_file, reg.attrib['name'], reg.attrib['offset'], 'mmcfg', reg.attrib['type']))
                    self.inconsistency_found = True