tu102 = {
  'NV_VIRTUAL_FUNCTION_PRIV_L2_SYSMEM_INVALIDATE': (0xB80000, 0x00000F00, {}),
  'NV_VIRTUAL_FUNCTION_PRIV_L2_PEERMEM_INVALIDATE': (0xB80000, 0x00000F04, {}),
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_TOP': (0xB80000, lambda i: (0x1600+(i)*4), {'value': (0, 31), 'en_set_value': (0, 31), 'en_clear_value': (0, 31)}),
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_TOP__SIZE_1': 1,
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_TOP_SUBTREE': (0xB80000, lambda i: (i), {}),
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_TOP_SUBTREE__SIZE_1': 64,
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_TOP_SUBTREE_INTR_PENDING': 1,
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_TOP_SUBTREE_INTR_NOT_PENDING': 0,
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_TOP_EN_SET': (0xB80000, lambda i: (0x1608+(i)*4), {'value': (0, 31)}),
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_TOP_EN_SET__SIZE_1': 1,
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_TOP_EN_SET_SUBTREE': (0xB80000, lambda i: (i), {}),
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_TOP_EN_SET_SUBTREE__SIZE_1': 64,
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_TOP_EN_SET_SUBTREE_ENABLE': 1,
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_TOP_EN_SET_SUBTREE_ENABLED': 1,
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_TOP_EN_SET_SUBTREE_DISABLED': 0,
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_TOP_EN_CLEAR': (0xB80000, lambda i: (0x1610+(i)*4), {'value': (0, 31)}),
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_TOP_EN_CLEAR__SIZE_1': 1,
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_TOP_EN_CLEAR_SUBTREE': (0xB80000, lambda i: (i), {}),
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_TOP_EN_CLEAR_SUBTREE__SIZE_1': 64,
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_TOP_EN_CLEAR_SUBTREE_DISABLE': 1,
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_TOP_EN_CLEAR_SUBTREE_ENABLED': 1,
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_TOP_EN_CLEAR_SUBTREE_DISABLED': 0,
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_LEAF': (0xB80000, lambda i: (0x1000+(i)*4), {'value': (0, 31), 'en_set_value': (0, 31), 'en_clear_value': (0, 31), 'trigger_vector': (0, 11)}),
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_LEAF__SIZE_1': 8,
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_LEAF_VALUE_INIT': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_LEAF_EN_SET': (0xB80000, lambda i: (0x1200+(i)*4), {'value': (0, 31)}),
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_LEAF_EN_SET__SIZE_1': 8,
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_LEAF_EN_SET_VALUE_INIT': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_LEAF_EN_CLEAR': (0xB80000, lambda i: (0x1400+(i)*4), {'value': (0, 31)}),
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_LEAF_EN_CLEAR__SIZE_1': 8,
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_LEAF_EN_CLEAR_VALUE_INIT': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_LEAF_TRIGGER': 0x00001640,
  'NV_VIRTUAL_FUNCTION_PRIV_TIMER': (0xB80000, 0x2300, {'nsec': (0, 31), 'usec': (10, 31)}),
  'NV_VIRTUAL_FUNCTION_PRIV_TIMER_USEC_INIT': 0x0,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_NON_REPLAY_FAULT_BUFFER': (0xB80000, 0, {}),
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_REPLAY_FAULT_BUFFER': (0xB80000, 1, {}),
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_LO': (0xB80000, lambda i: (0x00003000+(i)*32), {}),
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_LO__SIZE_1': 2,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_HI': (0xB80000, lambda i: (0x00003004+(i)*32), {}),
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_HI__SIZE_1': 2,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_GET': (0xB80000, lambda i: (0x00003008+(i)*32), {'ptr': (0, 19), 'getptr_corrupted': (30, 30), 'overflow': (31, 31)}),
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_GET__SIZE_1': 2,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_GET_PTR_RESET': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_GET_GETPTR_CORRUPTED_NO': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_GET_GETPTR_CORRUPTED_YES': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_GET_GETPTR_CORRUPTED_CLEAR': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_GET_OVERFLOW_NO': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_GET_OVERFLOW_YES': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_GET_OVERFLOW_CLEAR': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_PUT': (0xB80000, lambda i: (0x0000300C+(i)*32), {'ptr': (0, 19), 'getptr_corrupted': (30, 30), 'overflow': (31, 31)}),
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_PUT__SIZE_1': 2,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_PUT_PTR_RESET': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_PUT_GETPTR_CORRUPTED_NO': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_PUT_GETPTR_CORRUPTED_YES': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_PUT_OVERFLOW_NO': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_PUT_OVERFLOW_YES': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_SIZE': (0xB80000, lambda i: (0x00003010+(i)*32), {'val': (0, 19), 'overflow_intr': (29, 29), 'set_default': (30, 30), 'enable': (31, 31)}),
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_SIZE__SIZE_1': 2,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_SIZE_VAL_RESET': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_SIZE_OVERFLOW_INTR_DISABLE': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_SIZE_OVERFLOW_INTR_ENABLE': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_SIZE_SET_DEFAULT_NO': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_SIZE_SET_DEFAULT_YES': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_SIZE_ENABLE_FALSE': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_BUFFER_SIZE_ENABLE_TRUE': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_PAGE_FAULT_CTRL': (0xB80000, 0x00003070, {}),
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_ADDR_LO': (0xB80000, 0x00003080, {}),
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_ADDR_HI': (0xB80000, 0x00003084, {}),
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_INST_LO': (0xB80000, 0x00003088, {}),
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_INST_HI': (0xB80000, 0x0000308C, {}),
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_INFO': (0xB80000, 0x00003090, {}),
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_FAULT_STATUS': (0xB80000, 0x00003094, {}),
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_PDB': (0xB80000, 0x000030A0, {'aperture': (1, 1), 'addr': (4, 31)}),
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_PDB_APERTURE_INIT': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_PDB_APERTURE_VID_MEM': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_PDB_APERTURE_SYS_MEM': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_PDB_ADDR_INIT': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_PDB_ADDR_ALIGNMENT': 0x0000000c,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_UPPER_PDB': (0xB80000, 0x000030A4, {'addr': (0, 19)}),
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_UPPER_PDB_ADDR_INIT': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE': (0xB80000, 0x000030B0, {'pdb_aperture': (1, 1), 'pdb_addr': (4, 31), 'upper_pdb_addr': (0, 19), 'all_va': (0, 0), 'all_pdb': (1, 1), 'hubtlb_only': (2, 2), 'replay': (3, 5), 'sys_membar': (6, 6), 'ack': (7, 8), 'cancel_client_id': (9, 14), 'cancel_gpc_id': (15, 19), 'cancel_client_type': (20, 20), 'use_pasid': (21, 21), 'use_size': (22, 22), 'prop_flush': (23, 23), 'cache_level': (24, 26), 'trigger': (31, 31)}),
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_ALL_VA_FALSE': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_ALL_VA_TRUE': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_ALL_PDB_FALSE': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_ALL_PDB_TRUE': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_HUBTLB_ONLY_FALSE': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_HUBTLB_ONLY_TRUE': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_REPLAY_NONE': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_REPLAY_START': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_REPLAY_START_ACK_ALL': 0x00000002,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_REPLAY_CANCEL_TARGETED': 0x00000003,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_REPLAY_CANCEL_GLOBAL': 0x00000004,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_REPLAY_CANCEL_VA_GLOBAL': 0x00000005,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_SYS_MEMBAR_FALSE': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_SYS_MEMBAR_TRUE': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_ACK_NONE_REQUIRED': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_ACK_INTRANODE': 0x00000002,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_ACK_GLOBALLY': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_CANCEL_CLIENT_TYPE_GPC': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_CANCEL_CLIENT_TYPE_HUB': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_USE_PASID_FALSE': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_USE_PASID_TRUE': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_USE_SIZE_FALSE': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_USE_SIZE_TRUE': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_PROP_FLUSH_FALSE': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_PROP_FLUSH_TRUE': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_CACHE_LEVEL_ALL': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_CACHE_LEVEL_PTE_ONLY': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_CACHE_LEVEL_UP_TO_PDE0': 0x00000002,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_CACHE_LEVEL_UP_TO_PDE1': 0x00000003,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_CACHE_LEVEL_UP_TO_PDE2': 0x00000004,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_CACHE_LEVEL_UP_TO_PDE3': 0x00000005,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_CACHE_LEVEL_UP_TO_PDE4': 0x00000006,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_CACHE_LEVEL_UP_TO_PDE5': 0x00000007,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_CACHE_LEVEL_CANCEL_READ': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_CACHE_LEVEL_CANCEL_WRITE': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_CACHE_LEVEL_CANCEL_ATOMIC_STRONG': 0x00000002,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_CACHE_LEVEL_CANCEL_RSVRVD': 0x00000003,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_CACHE_LEVEL_CANCEL_ATOMIC_WEAK': 0x00000004,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_CACHE_LEVEL_CANCEL_ATOMIC_ALL': 0x00000005,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_CACHE_LEVEL_CANCEL_WRITE_AND_ATOMIC': 0x00000006,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_CACHE_LEVEL_CANCEL_ALL': 0x00000007,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_TRIGGER_FALSE': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE_TRIGGER_TRUE': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_CONFIG': (0xB80000, 0x00003100, {'threshold': (0, 15), 'mimc_granularity': (16, 17), 'momc_granularity': (18, 19)}),
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_CONFIG_THRESHOLD_INIT': 0x00000080,
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_CONFIG_MIMC_GRANULARITY_INIT': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_CONFIG_MIMC_GRANULARITY_64K': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_CONFIG_MIMC_GRANULARITY_2M': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_CONFIG_MIMC_GRANULARITY_16M': 0x00000002,
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_CONFIG_MIMC_GRANULARITY_16G': 0x00000003,
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_CONFIG_MOMC_GRANULARITY_INIT': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_CONFIG_MOMC_GRANULARITY_64K': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_CONFIG_MOMC_GRANULARITY_2M': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_CONFIG_MOMC_GRANULARITY_16M': 0x00000002,
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_CONFIG_MOMC_GRANULARITY_16G': 0x00000003,
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_NOTIFY_BUFFER_LO': (0xB80000, 0x00003108, {'en': (0, 0)}),
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_NOTIFY_BUFFER_LO_EN_FALSE': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_NOTIFY_BUFFER_LO_EN_TRUE': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_NOTIFY_BUFFER_HI': (0xB80000, 0x0000310C, {}),
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_NOTIFY_BUFFER_SIZE': (0xB80000, 0x00003110, {}),
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_NOTIFY_BUFFER_GET': (0xB80000, 0x00003114, {}),
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_NOTIFY_BUFFER_PUT': (0xB80000, 0x00003118, {}),
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_NOTIFY_BUFFER_INFO': (0xB80000, 0x0000311C, {'full': (0, 0), 'pushed': (1, 1), 'write_nack': (24, 24)}),
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_NOTIFY_BUFFER_INFO_FULL_FALSE': 0x0,
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_NOTIFY_BUFFER_INFO_FULL_TRUE': 0x1,
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_NOTIFY_BUFFER_INFO_PUSHED_FALSE': 0x0,
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_NOTIFY_BUFFER_INFO_PUSHED_TRUE': 0x1,
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_NOTIFY_BUFFER_INFO_WRITE_NACK_FALSE': 0x0,
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_NOTIFY_BUFFER_INFO_WRITE_NACK_TRUE': 0x1,
  'NV_VIRTUAL_FUNCTION_PRIV_MSIX_TABLE_ADDR_LO': (0xB80000, lambda i: (0x00010000+(i)*16), {}),
  'NV_VIRTUAL_FUNCTION_PRIV_MSIX_TABLE_ADDR_LO__SIZE_1': 6,
  'NV_VIRTUAL_FUNCTION_TIME_0': (0xB80000, 0x30080, {'nsec': (5, 31)}),
  'NV_VIRTUAL_FUNCTION_TIME_1': (0xB80000, 0x30084, {'nsec': (0, 28)}),
  'NV_VIRTUAL_FUNCTION_PRIV_DOORBELL': (0xB80000, 0x2200, {}),
  'NV_VIRTUAL_FUNCTION_DOORBELL': (0xB80000, 0x30090, {}),
  'NV_VIRTUAL_FUNCTION_ERR_CONT': (0xB80000, 0x30094, {}),
  'NV_VIRTUAL_FUNCTION_PRIV_BAR1_BLOCK': (0xB80000, 0x00000F40, {'map': (0, 29), 'ptr': (0, 27), 'target': (28, 29), 'mode': (31, 31)}),
  'NV_VIRTUAL_FUNCTION_PRIV_BAR1_BLOCK_PTR_0': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_BAR1_BLOCK_TARGET_VID_MEM': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_BAR1_BLOCK_TARGET_SYS_MEM_COHERENT': 0x00000002,
  'NV_VIRTUAL_FUNCTION_PRIV_BAR1_BLOCK_TARGET_SYS_MEM_NONCOHERENT': 0x00000003,
  'NV_VIRTUAL_FUNCTION_PRIV_BAR1_BLOCK_MODE_PHYSICAL': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_BAR1_BLOCK_MODE_VIRTUAL': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_BAR2_BLOCK': (0xB80000, 0x00000F48, {'map': (0, 29), 'ptr': (0, 27), 'target': (28, 29), 'debug_cya': (30, 30), 'mode': (31, 31)}),
  'NV_VIRTUAL_FUNCTION_PRIV_BAR2_BLOCK_PTR_0': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_BAR2_BLOCK_TARGET_VID_MEM': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_BAR2_BLOCK_TARGET_SYS_MEM_COHERENT': 0x00000002,
  'NV_VIRTUAL_FUNCTION_PRIV_BAR2_BLOCK_TARGET_SYS_MEM_NONCOHERENT': 0x00000003,
  'NV_VIRTUAL_FUNCTION_PRIV_BAR2_BLOCK_DEBUG_CYA_OFF': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_BAR2_BLOCK_DEBUG_CYA_ON': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_BAR2_BLOCK_DEBUG_CYA_INIT': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_BAR2_BLOCK_MODE_PHYSICAL': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_BAR2_BLOCK_MODE_VIRTUAL': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_BIND_STATUS': (0xB80000, 0x00000F50, {'bar1_pending': (0, 0), 'bar1_outstanding': (1, 1), 'bar2_pending': (2, 2), 'bar2_outstanding': (3, 3)}),
  'NV_VIRTUAL_FUNCTION_PRIV_BIND_STATUS_BAR1_PENDING_EMPTY': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_BIND_STATUS_BAR1_PENDING_BUSY': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_BIND_STATUS_BAR1_OUTSTANDING_FALSE': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_BIND_STATUS_BAR1_OUTSTANDING_TRUE': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_BIND_STATUS_BAR2_PENDING_EMPTY': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_BIND_STATUS_BAR2_PENDING_BUSY': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_BIND_STATUS_BAR2_OUTSTANDING_FALSE': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_BIND_STATUS_BAR2_OUTSTANDING_TRUE': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_MSIX_TABLE_VECTOR_CONTROL': (0xB80000, lambda i: (0x0001000C+(i)*16), {'mask_bit': (0, 0)}),
  'NV_VIRTUAL_FUNCTION_PRIV_MSIX_TABLE_VECTOR_CONTROL__SIZE_1': 6,
  'NV_VIRTUAL_FUNCTION_PRIV_MSIX_TABLE_VECTOR_CONTROL_MASK_BIT_UNMASKED': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MSIX_TABLE_VECTOR_CONTROL_MASK_BIT_MASKED': 0x00000001,
}
gh100 = {
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_L2_SYSMEM_INVALIDATE': (0xB80000, 0x00000F10, {'token': (0, (31-1)), 'completed_token': (0, (31-1)), 'completed_status': (31, 31)}),
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_L2_SYSMEM_INVALIDATE_COMPLETED': 0x00000F14,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_L2_SYSMEM_INVALIDATE_COMPLETED_STATUS_BUSY': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_L2_PEERMEM_INVALIDATE': (0xB80000, 0x00000F18, {'token': (0, (31-1)), 'completed_token': (0, (31-1)), 'completed_status': (31, 31)}),
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_L2_PEERMEM_INVALIDATE_COMPLETED': 0x00000F1C,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_L2_PEERMEM_INVALIDATE_COMPLETED_STATUS_BUSY': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR2_BLOCK_LOW_ADDR': (0xB80000, 0x00000F70, {'mode': (9, 9), 'map': (10, 31), 'bar2_pending': (0, 0), 'bar2_outstanding': (1, 1), 'target': (10, 11), 'ptr': (12, 31)}),
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR2_BLOCK_LOW_ADDR_MODE_PHYSICAL': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_TOP_SUBTREE': (0xB80000, lambda i: (i), {}),
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_LEAF__SIZE_1': (0xB80000, 16, {}),
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_LEAF_EN_SET__SIZE_1': (0xB80000, 16, {}),
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_LEAF_EN_CLEAR__SIZE_1': (0xB80000, 16, {}),
  'NV_VIRTUAL_FUNCTION_PRIV_TIMER': (0xB80000, lambda i: (0x2300+(i)*4), {}),
  'NV_VIRTUAL_FUNCTION_PRIV_TIMER__SIZE_1': 2,
  'NV_VIRTUAL_FUNCTION_PRIV_MSIX_TABLE_ADDR_LO': (0xB80000, lambda i: (0x00010000+(i)*16), {}),
  'NV_VIRTUAL_FUNCTION_PRIV_MSIX_TABLE_ADDR_HI': (0xB80000, lambda i: (0x00010004+(i)*16), {}),
  'NV_VIRTUAL_FUNCTION_PRIV_MSIX_TABLE_DATA': (0xB80000, lambda i: (0x00010008+(i)*16), {}),
  'NV_VIRTUAL_FUNCTION_PRIV_MSIX_TABLE_VECTOR_CONTROL': (0xB80000, lambda i: (0x0001000C+(i)*16), {}),
  'NV_VIRTUAL_FUNCTION_PRIV_MSIX_TABLE_VECTOR_CONTROL__SIZE_1': 9,
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_NOTIFY_BUFFER_LO': (0xB80000, 0x00003108, {'base': (12, 31)}),
  'NV_VIRTUAL_FUNCTION_PRIV_ACCESS_COUNTER_NOTIFY_BUFFER_HI': (0xB80000, 0x0000310C, {}),
  'NV_VIRTUAL_FUNCTION_PRIV_DOORBELL': (0xB80000, 0x2200, {}),
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_LEAF': (0xB80000, lambda i: (0x1000+(i)*4), {'value': (0, 31), 'en_set_value': (0, 31), 'en_clear_value': (0, 31)}),
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_LEAF_VALUE_INIT': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_LEAF_EN_SET': (0xB80000, lambda i: (0x1200+(i)*4), {'value': (0, 31)}),
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_LEAF_EN_SET_VALUE_INIT': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_LEAF_EN_CLEAR': (0xB80000, lambda i: (0x1400+(i)*4), {'value': (0, 31)}),
  'NV_VIRTUAL_FUNCTION_PRIV_CPU_INTR_LEAF_EN_CLEAR_VALUE_INIT': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_MMU_PAGE_FAULT_CTRL': (0xB80000, 0x00003070, {}),
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR1_BLOCK_LOW_ADDR': (0xB80000, 0x00000F60, {'map': (10, 31), 'bar1_pending': (0, 0), 'bar1_outstanding': (1, 1), 'mode': (9, 9), 'target': (10, 11), 'ptr': (12, 31)}),
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR1_BLOCK_LOW_ADDR_BAR1_PENDING_EMPTY': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR1_BLOCK_LOW_ADDR_BAR1_PENDING_BUSY': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR1_BLOCK_LOW_ADDR_BAR1_OUTSTANDING_FALSE': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR1_BLOCK_LOW_ADDR_BAR1_OUTSTANDING_TRUE': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR1_BLOCK_LOW_ADDR_MODE_PHYSICAL': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR1_BLOCK_LOW_ADDR_MODE_VIRTUAL': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR1_BLOCK_LOW_ADDR_TARGET_VID_MEM': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR1_BLOCK_LOW_ADDR_TARGET_SYS_MEM_COHERENT': 0x00000002,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR1_BLOCK_LOW_ADDR_TARGET_SYS_MEM_NONCOHERENT': 0x00000003,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR1_BLOCK_LOW_ADDR_PTR_0': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR1_BLOCK_HIGH_ADDR': (0xB80000, 0x00000F64, {'ptr': (0, 31)}),
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR1_BLOCK_HIGH_ADDR_PTR_0': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR1_BLOCK_PTR_SHIFT': (0xB80000, 12, {}),
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR2_BLOCK_LOW_ADDR_BAR2_PENDING_EMPTY': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR2_BLOCK_LOW_ADDR_BAR2_PENDING_BUSY': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR2_BLOCK_LOW_ADDR_BAR2_OUTSTANDING_FALSE': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR2_BLOCK_LOW_ADDR_BAR2_OUTSTANDING_TRUE': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR2_BLOCK_LOW_ADDR_MODE_VIRTUAL': 0x00000001,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR2_BLOCK_LOW_ADDR_TARGET_VID_MEM': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR2_BLOCK_LOW_ADDR_TARGET_SYS_MEM_COHERENT': 0x00000002,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR2_BLOCK_LOW_ADDR_TARGET_SYS_MEM_NONCOHERENT': 0x00000003,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR2_BLOCK_LOW_ADDR_PTR_0': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR2_BLOCK_HIGH_ADDR': (0xB80000, 0x00000F74, {'ptr': (0, (52-33))}),
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR2_BLOCK_HIGH_ADDR_PTR_0': 0x00000000,
  'NV_VIRTUAL_FUNCTION_PRIV_FUNC_BAR2_BLOCK_PTR_SHIFT': (0xB80000, 12, {}),
}