diff --git a/headers/os/drivers/PCI.h b/headers/os/drivers/PCI.h index 1210349995..dd3db1ea48 100644 --- a/headers/os/drivers/PCI.h +++ b/headers/os/drivers/PCI.h @@ -644,6 +644,8 @@ struct pci_module_info { #define PCI_address_io_mask 0xFFFFFFFC /* mask to get i/o space base address */ +#define PCI_range_memory_mask 0xFFFFFFF0 /* mask to get memory ranges */ + /* --- masks for flags in expansion rom base address registers @@ -686,7 +688,7 @@ struct pci_module_info { #define PCI_cap_id_msi 0x05 /* Message signalled interrupt */ #define PCI_cap_id_chswp 0x06 /* Compact PCI HotSwap */ #define PCI_cap_id_pcix 0x07 /* PCI-X */ -#define PCI_cap_id_ldt 0x08 +#define PCI_cap_id_ht 0x08 /* HyperTransport */ #define PCI_cap_id_vendspec 0x09 #define PCI_cap_id_debugport 0x0a #define PCI_cap_id_cpci_rsrcctl 0x0b @@ -773,6 +775,52 @@ struct pci_module_info { #define PCI_msi_control_mmc_16 0x0008 #define PCI_msi_control_mmc_32 0x000a +/** MSI-X registers **/ +#define PCI_msix_control 0x02 +#define PCI_msix_table 0x04 +#define PCI_msix_pba 0x08 + +#define PCI_msix_control_table_size 0x07ff +#define PCI_msix_control_function_mask 0x4000 +#define PCI_msix_control_enable 0x8000 +#define PCI_msix_bir_mask 0x0007 +#define PCI_msix_bir_0 0x10 +#define PCI_msix_bir_1 0x14 +#define PCI_msix_bir_2 0x18 +#define PCI_msix_bir_3 0x1c +#define PCI_msix_bir_4 0x20 +#define PCI_msix_bir_5 0x24 +#define PCI_msix_offset_mask 0xfff8 + +#define PCI_msix_vctrl_mask 0x0001 + +/** HyperTransport registers **/ +#define PCI_ht_command 0x02 +#define PCI_ht_msi_address_low 0x04 +#define PCI_ht_msi_address_high 0x08 + +#define PCI_ht_command_cap_mask 0xf800 +#define PCI_ht_command_cap_slave 0x0000 +#define PCI_ht_command_cap_host 0x2000 +#define PCI_ht_command_cap_switch 0x4000 +#define PCI_ht_command_cap_interrupt 0x8000 +#define PCI_ht_command_cap_revision_id 0x8800 +#define PCI_ht_command_cap_unit_id_clumping 0x9000 +#define PCI_ht_command_cap_ext_config_space 0x9800 +#define PCI_ht_command_cap_address_mapping 0xa000 +#define PCI_ht_command_cap_msi_mapping 0xa800 +#define PCI_ht_command_cap_direct_route 0xb000 +#define PCI_ht_command_cap_vcset 0xb800 +#define PCI_ht_command_cap_retry_mode 0xc000 +#define PCI_ht_command_cap_x86_encoding 0xc800 +#define PCI_ht_command_cap_gen3 0xd000 +#define PCI_ht_command_cap_fle 0xd800 +#define PCI_ht_command_cap_pm 0xe000 +#define PCI_ht_command_cap_high_node_count 0xe800 + +#define PCI_ht_command_msi_enable 0x0001 +#define PCI_ht_command_msi_fixed 0x0002 + #ifdef __cplusplus } #endif diff --git a/src/add-ons/kernel/bus_managers/pci/pci_info.cpp b/src/add-ons/kernel/bus_managers/pci/pci_info.cpp index e5758f2d85..f478b7f037 100644 --- a/src/add-ons/kernel/bus_managers/pci/pci_info.cpp +++ b/src/add-ons/kernel/bus_managers/pci/pci_info.cpp @@ -310,8 +310,8 @@ get_capability_name(uint8 cap_id) return "CompactPCIHotSwap"; case PCI_cap_id_pcix: return "PCI-X"; - case PCI_cap_id_ldt: - return "ldt"; + case PCI_cap_id_ht: + return "HyperTransport"; case PCI_cap_id_vendspec: return "vendspec"; case PCI_cap_id_debugport: