static void hd_read_virtio(hd_data_t *hd_data)
Definition: pci.c:1667
uint64_t rom_base_addr
memory base for card ROM
Definition: hd.h:1049
void hd_pci_read_data(hd_data_t *hd_data)
Definition: pci.c:144
void hd_log_hex(hd_data_t *hd_data, int with_ascii, unsigned data_len, unsigned char *data)
Definition: hd.c:2394
unsigned data_len
the actual length of the data field
Definition: hd.h:1033
@ sc_sto_other
Definition: hd.h:182
hd_id_t prog_if
(PCI) programming interface (id and name).
Definition: hd.h:2246
int hd_is_xen(hd_data_t *hd_data)
Definition: hd.c:3239
hd_id_t base_class
Base class (id and name).
Definition: hd.h:2236
enum resource_types type
Definition: hd.h:1718
unsigned attached_to
Device this hardware is attached to.
Definition: hd.h:2331
@ pif_usb_xhci
Definition: hd.h:281
static void add_edid_from_file(const char *file, pci_t *pci, int index, hd_data_t *hd_data)
Definition: pci.c:348
hd_t * hd
Current hardware list.
Definition: hd.h:2615
static void add_pci_data(hd_data_t *hd_data)
Definition: pci.c:374
static pci_t * add_pci_entry(hd_data_t *hd_data, pci_t *new_pci)
Definition: pci.c:602
@ bc_serial
Definition: hd.h:164
void remove_hd_entries(hd_data_t *hd_data)
Definition: hd.c:2797
unsigned vend
Definition: hd.h:1044
char * hd_sysfs_find_driver(hd_data_t *hd_data, char *sysfs_id, int exact)
Definition: block.c:388
char * canon_str(char *s, int len)
Definition: hd.c:2208
@ res_mem
Definition: hd.h:1640
unsigned irq
used irq, if any
Definition: hd.h:1045
struct s_pci_t * next
linked list
Definition: hd.h:1032
@ bc_multimedia
Definition: hd.h:162
hd_hw_item_t hw_class
Hardware class.
Definition: hd.h:2310
char * new_str(const char *s)
Definition: hd.c:1594
static void hd_read_uisvirtpci(hd_data_t *hd_data)
Definition: pci.c:1783
str_list_t * read_dir(char *dir_name, int type)
Definition: hd.c:2593
#define PROGRESS(a, b, c)
Definition: hd_int.h:65
unsigned bus
PCI bus #, nothing to do with hw_t.bus.
Definition: hd.h:1041
unsigned notready
block devices: no medium, other: device not configured
Definition: hd.h:2477
enum hd_detail_type type
Definition: hd.h:2147
@ bc_other
Definition: hd.h:164
@ res_io
Definition: hd.h:1640
@ sc_sto_ide
Definition: hd.h:181
char * modalias
module alias
Definition: hd.h:1053
#define IORESOURCE_MEM
Definition: pci.c:30
char * modalias
module alias
Definition: hd.h:2594
struct s_str_list_t * next
Link to next member.
Definition: hd.h:411
unsigned slot
Slot and bus number.
Definition: hd.h:2226
hd_t * hd_find_sysfs_id(hd_data_t *hd_data, char *id)
Definition: hd.c:5794
#define IORESOURCE_PREFETCH
Definition: pci.c:33
static void hd_read_ibmebus(hd_data_t *hd_data)
Definition: pci.c:1351
str_list_t * drivers
List of currently active drivers.
Definition: hd.h:2542
unsigned secondary_bus
0 for PCI & CB bridges
Definition: hd.h:1040
@ sc_sto_scsi
Definition: hd.h:181
static void hd_read_macio(hd_data_t *hd_data)
Definition: pci.c:706
hd_id_t compat_device
Device id and name of some compatible hardware.
Definition: hd.h:2304
@ bc_bridge
Definition: hd.h:163
@ mod_pci
Definition: hd_int.h:78
@ hd_detail_pci
Definition: hd.h:2069
unsigned prefetch
enum yes_no_flag
Definition: hd.h:1698
void hd_scan_sysfs_pci(hd_data_t *hd_data)
Definition: pci.c:70
char * unix_dev_name
Special device file.
Definition: hd.h:2353
@ bus_pci
Definition: hd.h:297
unsigned base
Definition: hd.h:1719
unsigned enabled
0: disabled, 1 enabled
Definition: hd.h:1712
unsigned func
slot & function
Definition: hd.h:1042
@ bus_vio
Definition: hd.h:302
Individual hardware item.
Definition: hd.h:2201
enum resource_types type
Definition: hd.h:1693
pci_t * data
Definition: hd.h:2077
@ hw_unknown
append new entries here
Definition: hd.h:150
enum resource_types type
Definition: hd.h:1709
uint64_t base_addr[7]
I/O or memory base.
Definition: hd.h:1046
@ bus_sdio
Definition: hd.h:303
char * rom_id
BIOS/PROM id.
Definition: hd.h:2387
libhd resource union
Definition: hd.h:1827
static void hd_read_of_platform(hd_data_t *hd_data)
Definition: pci.c:1117
char * sysfs_bus_id
sysfs bus id for this hardware, if any.
Definition: hd.h:2341
@ pif_usb_ohci
Definition: hd.h:281
struct s_hd_t * next
Link to next hardware item.
Definition: hd.h:2202
@ bus_mmc
Definition: hd.h:303
structure holding the (raw) PCI data
Definition: hd.h:1031
char * hd_sysfs_id(char *path)
Definition: hd.c:6085
@ acc_rw
read/write
Definition: hd.h:1661
hd_id_t device
Device id and name.
Definition: hd.h:2264
static void add_xen_network(hd_data_t *hd_data)
Definition: pci.c:1553
uint64_t range
Definition: hd.h:1694
@ res_irq
Definition: hd.h:1640
@ bus_nd
Definition: hd.h:303
static void hd_read_vm(hd_data_t *hd_data)
Definition: pci.c:1585
str_list_t * free_str_list(str_list_t *list)
Free the memory allocated by a string list.
Definition: hd.c:2510
#define IORESOURCE_IO
Definition: pci.c:29
unsigned cmd
PCI_COMMAND.
Definition: hd.h:1038
str_list_t * read_dir_canonical(char *dir_name, int type)
Definition: hd.c:2654
res_io_t io
Definition: hd.h:1830
@ bc_network
Definition: hd.h:162
@ device_class
Definition: isdn_cdb_def.h:12
enum resource_types type
Definition: hd.h:1688
@ pif_usb_ehci
Definition: hd.h:281
@ pci_flag_ok
Definition: hd.h:1064
static unsigned char pci_cfg_byte(pci_t *pci, int fd, unsigned idx)
Definition: pci.c:630
union u_hd_res_t * next
Definition: hd.h:1828
static void dump_pci_data(hd_data_t *hd_data)
Definition: pci.c:648
unsigned module
(Internal) the current probing module we are in
Definition: hd.h:2686
@ sc_nif_other
Definition: hd.h:246
#define IORESOURCE_READONLY
Definition: pci.c:34
char * sysfs_bus_id
sysfs bus id
Definition: hd.h:1052
unsigned agp
AGP device.
Definition: hd.h:2475
unsigned base_class
Definition: hd.h:1043
@ bc_none
Definition: hd.h:162
#define ADD2LOG(a...)
Definition: hd_int.h:66
String list type.
Definition: hd.h:410
@ sc_ser_usb
Definition: hd.h:219
res_mem_t mem
Definition: hd.h:1831
@ pci_flag_pm
Definition: hd.h:1064
hd_detail_t * detail
Special info associated with this hardware.
Definition: hd.h:2438
unsigned slot
Definition: hd.h:1042
uint64_t range
Definition: hd.h:1710
unsigned dev
Definition: hd.h:1044
hd_t * add_hd_entry(hd_data_t *hd_data, unsigned line, unsigned count)
Definition: hd.c:1794
static void add_mv643xx_eth(hd_data_t *hd_data, char *entry, char *platform_type)
Definition: pci.c:913
static void hd_read_mdio(hd_data_t *hd_data)
Definition: pci.c:2185
unsigned debug
Debug flags.
Definition: hd.h:2640
@ bc_storage
Definition: hd.h:162
int hd_module_is_active(hd_data_t *hd_data, char *mod)
Definition: hd.c:2836
@ pr_pci
Definition: hd.h:113
res_irq_t irq
Definition: hd.h:1833
int hd_probe_feature(hd_data_t *hd_data, enum probe_feature feature)
Definition: hd.c:595
@ flag_yes
yes
Definition: hd.h:1668
str_list_t * subcomponent_list(str_list_t *list, char *comp, int max)
Definition: hd.c:2697
hd_id_t sub_device
Subdevice id and name.
Definition: hd.h:2280
pci_t * pci
(Internal) raw PCI data
Definition: hd.h:2689
#define MAKE_ID(tag, id_val)
Combine tag and id value.
Definition: hd.h:105
#define TAG_SDIO
SDIO ids.
Definition: hd.h:90
unsigned enabled
0: disabled, 1 enabled
Definition: hd.h:1721
unsigned access
enum access_flags
Definition: hd.h:1713
char * label
Consistent Device Name (CDN), pci firmware spec 3.1, chapter 4.6.7.
Definition: hd.h:2595
unsigned id
Numeric id.
Definition: hd.h:401
@ bus_ps3_system_bus
Definition: hd.h:302
static void hd_read_vio(hd_data_t *hd_data)
Definition: pci.c:810
@ pci_flag_agp
Definition: hd.h:1064
hd_id_t compat_vendor
Vendor id and name of some compatible hardware.
Definition: hd.h:2298
char * sysfs_id
sysfs entry for this hardware, if any.
Definition: hd.h:2336
int hd_attr_uint(char *attr, uint64_t *u, int base)
Definition: hd.c:6054
static void hd_read_visorbus(hd_data_t *hd_data)
Definition: pci.c:2112
unsigned sub_vend
Definition: hd.h:1044
uint64_t base
Definition: hd.h:1694
@ bc_mmc_ctrl
Definition: hd.h:171
hd_res_t * res
Device resources.
Definition: hd.h:2432
hd_id_t sub_class
Sub class (id and name).
Definition: hd.h:2241
@ bc_display
Definition: hd.h:162
@ sc_multi_audio
Definition: hd.h:251
@ sc_dis_vga
Definition: hd.h:187
unsigned prog_if
PCI device classes.
Definition: hd.h:1043
@ bus_ibmebus
Definition: hd.h:303
hd_detail_pci_t pci
Definition: hd.h:2148
@ bus_none
Definition: hd.h:297
unsigned edid_len[6]
edid record length
Definition: hd.h:1055
unsigned char data[256]
the PCI data
Definition: hd.h:1035
@ acc_ro
read only
Definition: hd.h:1659
hd_id_t sub_vendor
Subvendor id and name.
Definition: hd.h:2272
hd_id_t vendor
Vendor id and name.
Definition: hd.h:2254
char * name
Name (if any) that corresponds to hd_id_t::id.
Definition: hd.h:402
unsigned access
enum access_flags
Definition: hd.h:1697
uint64_t base
Definition: hd.h:1710
hd_id_t bus
Bus type (id and name).
Definition: hd.h:2220
static void hd_read_ps3_system_bus(hd_data_t *hd_data)
Definition: pci.c:1216
unsigned wlan
WLAN card.
Definition: hd.h:2502
str_list_t * hd_attr_list(char *str)
Definition: hd.c:6072
#define TAG_PCI
PCI ids.
Definition: hd.h:85
unsigned idx
Unique index, starting at 1.
Definition: hd.h:2208
static hd_data_t * hd_data
Definition: pppoe.c:29
@ sc_ser_fire
Definition: hd.h:219
void str_printf(char **buf, int offset, char *format,...)
Definition: hd.c:2418
unsigned addr_flags[7]
I/O or memory address flags.
Definition: hd.h:1048
static void hd_read_sdio(hd_data_t *hd_data)
Definition: pci.c:1938
unsigned data_ext_len
max.
Definition: hd.h:1034
hd_res_t * add_res_entry(hd_res_t **res, hd_res_t *new_res)
Definition: hd.c:1786
#define IORESOURCE_DISABLED
Definition: pci.c:36
unsigned char edid_data[6][0x80]
edid record
Definition: hd.h:1056
char * hd_read_sysfs_link(char *base_dir, char *link_name)
Definition: hd.c:2670
uint64_t base_len[7]
I/O or memory ranges.
Definition: hd.h:1047
hd_id_t revision
Revision id or string.
Definition: hd.h:2287
char * sysfs_id
sysfs path
Definition: hd.h:1051
@ flag_no
no
Definition: hd.h:1667
void hd_pci_complete_data(hd_t *hd)
Definition: pci.c:479
unsigned hdr_type
PCI_HEADER_TYPE.
Definition: hd.h:1039
unsigned func
(PCI) function.
Definition: hd.h:2231
unsigned enabled
0: disabled, 1 enabled
Definition: hd.h:1696
str_list_t * add_str_list(str_list_t **sl, char *str)
Add a string to a string list.
Definition: hd.c:2496
unsigned sub_class
Definition: hd.h:1043
static void hd_read_platform(hd_data_t *hd_data)
Definition: pci.c:939
static void hd_read_mmc(hd_data_t *hd_data)
Definition: pci.c:1856
@ module
Definition: isdn_cdb_def.h:22
@ bus_virtio
Definition: hd.h:303
#define TAG_SPECIAL
Internally used ids.
Definition: hd.h:88
int has_subcomponent(str_list_t *list, char *comp)
Definition: hd.c:2724
static void hd_read_nd(hd_data_t *hd_data)
Definition: pci.c:2023
Holds all data accumulated during hardware probing.
Definition: hd.h:2609
void * new_mem(size_t size)
Definition: hd.c:1552
void hd_sysfs_driver_list(hd_data_t *hd_data)
Definition: hd.c:5850
char * label
Consistant Device Name (CDN), pci firmware spec 3.1, chapter 4.6.7.
Definition: hd.h:1054
unsigned rev
vendor & device ids
Definition: hd.h:1044
char * log
log messages
Definition: hd.h:1036
unsigned sub_dev
Definition: hd.h:1044
res_any_t any
Definition: hd.h:1829
static void add_xen_storage(hd_data_t *hd_data)
Definition: pci.c:1569
unsigned flags
various info, see enum pci_flags
Definition: hd.h:1037
char * str
Some string data.
Definition: hd.h:412
void * free_mem(void *p)
Definition: hd.c:1611
char * get_sysfs_attr_by_path(const char *path, const char *attr)
Definition: hd.c:6152
static void hd_read_xen(hd_data_t *hd_data)
Definition: pci.c:1441