def METHOD_NAME(self) -> None:
    logger().log('')
    logger().log('--------------------------------------------------------------------------------')
    logger().log(' I/O Range    | BAR Register   | Base             | Size     | En? | Description')
    logger().log('--------------------------------------------------------------------------------')
    for _bar_name in self.cs.Cfg.IO_BARS:
        if not self.is_IO_BAR_defined(_bar_name):
            continue
        _bar = self.cs.Cfg.IO_BARS[_bar_name]
        try:
            (_base, _size) = self.get_IO_BAR_base_address(_bar_name)
        except CSReadError:
            if self.logger.HAL:
                self.logger.log(f"Unable to find IO BAR {_bar_name}")
            continue
        _en = self.is_IO_BAR_enabled(_bar_name)
        if 'register' in _bar:
            _s = _bar['register']
            if 'offset' in _bar:
                _s += (f' + 0x{int(_bar["offset"], 16):X}')
        else:
            _s = f'{int(_bar["bus"], 16):02X}:{int(_bar["dev"], 16):02X}.{int(_bar["fun"], 16):01X} + {_bar["reg"]}'
        logger().log(f' {_bar_name:12} | {_s:14} | {_base:016X} | {_size:08X} | {_en:d}   | {_bar["desc"]}')