static void hd_read_virtio(hd_data_t *hd_data)
Definition: pci.c:1570
uint64_t rom_base_addr
memory base for card ROM
Definition: hd.h:1045
void hd_pci_read_data(hd_data_t *hd_data)
Definition: pci.c:124
void hd_log_hex(hd_data_t *hd_data, int with_ascii, unsigned data_len, unsigned char *data)
Definition: hd.c:2377
unsigned data_len
the actual length of the data field
Definition: hd.h:1029
@ sc_sto_other
Definition: hd.h:178
hd_id_t prog_if
(PCI) programming interface (id and name).
Definition: hd.h:2241
int hd_is_xen(hd_data_t *hd_data)
Definition: hd.c:3151
hd_id_t base_class
Base class (id and name).
Definition: hd.h:2231
enum resource_types type
Definition: hd.h:1713
unsigned attached_to
Device this hardware is attached to.
Definition: hd.h:2326
static void add_edid_from_file(const char *file, pci_t *pci, int index, hd_data_t *hd_data)
Definition: pci.c:328
hd_t * hd
Current hardware list.
Definition: hd.h:2610
static void add_pci_data(hd_data_t *hd_data)
Definition: pci.c:354
static pci_t * add_pci_entry(hd_data_t *hd_data, pci_t *new_pci)
Definition: pci.c:581
@ bc_serial
Definition: hd.h:161
void remove_hd_entries(hd_data_t *hd_data)
Definition: hd.c:2711
unsigned vend
Definition: hd.h:1040
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:2191
@ res_mem
Definition: hd.h:1635
unsigned irq
used irq, if any
Definition: hd.h:1041
struct s_pci_t * next
linked list
Definition: hd.h:1028
@ bc_multimedia
Definition: hd.h:159
char * new_str(const char *s)
Definition: hd.c:1577
static void hd_read_uisvirtpci(hd_data_t *hd_data)
Definition: pci.c:1659
str_list_t * read_dir(char *dir_name, int type)
Definition: hd.c:2576
#define PROGRESS(a, b, c)
Definition: hd_int.h:61
unsigned bus
PCI bus #, nothing to do with hw_t.bus.
Definition: hd.h:1037
unsigned notready
block devices: no medium, other: device not configured
Definition: hd.h:2472
enum hd_detail_type type
Definition: hd.h:2142
@ bc_other
Definition: hd.h:161
@ res_io
Definition: hd.h:1635
@ sc_sto_ide
Definition: hd.h:177
char * modalias
module alias
Definition: hd.h:1049
#define IORESOURCE_MEM
Definition: pci.c:30
char * modalias
module alias
Definition: hd.h:2589
struct s_str_list_t * next
Link to next member.
Definition: hd.h:407
unsigned slot
Slot and bus number.
Definition: hd.h:2221
hd_t * hd_find_sysfs_id(hd_data_t *hd_data, char *id)
Definition: hd.c:5695
#define IORESOURCE_PREFETCH
Definition: pci.c:33
static void hd_read_ibmebus(hd_data_t *hd_data)
Definition: pci.c:1254
str_list_t * drivers
List of currently active drivers.
Definition: hd.h:2537
unsigned secondary_bus
0 for PCI & CB bridges
Definition: hd.h:1036
@ sc_sto_scsi
Definition: hd.h:177
static void hd_read_macio(hd_data_t *hd_data)
Definition: pci.c:685
hd_id_t compat_device
Device id and name of some compatible hardware.
Definition: hd.h:2299
@ bc_bridge
Definition: hd.h:160
@ mod_pci
Definition: hd_int.h:74
@ hd_detail_pci
Definition: hd.h:2064
unsigned prefetch
enum yes_no_flag
Definition: hd.h:1693
void hd_scan_sysfs_pci(hd_data_t *hd_data)
Definition: pci.c:65
char * unix_dev_name
Special device file.
Definition: hd.h:2348
@ bus_pci
Definition: hd.h:293
unsigned base
Definition: hd.h:1714
unsigned enabled
0: disabled, 1 enabled
Definition: hd.h:1707
unsigned func
slot & function
Definition: hd.h:1038
@ bus_vio
Definition: hd.h:298
Individual hardware item.
Definition: hd.h:2196
enum resource_types type
Definition: hd.h:1688
pci_t * data
Definition: hd.h:2072
enum resource_types type
Definition: hd.h:1704
uint64_t base_addr[7]
I/O or memory base.
Definition: hd.h:1042
char * rom_id
BIOS/PROM id.
Definition: hd.h:2382
libhd resource union
Definition: hd.h:1822
static void hd_read_of_platform(hd_data_t *hd_data)
Definition: pci.c:1020
char * sysfs_bus_id
sysfs bus id for this hardware, if any.
Definition: hd.h:2336
@ pif_usb_ohci
Definition: hd.h:277
struct s_hd_t * next
Link to next hardware item.
Definition: hd.h:2197
structure holding the (raw) PCI data
Definition: hd.h:1027
char * hd_sysfs_id(char *path)
Definition: hd.c:5986
@ acc_rw
read/write
Definition: hd.h:1656
hd_id_t device
Device id and name.
Definition: hd.h:2259
static void add_xen_network(hd_data_t *hd_data)
Definition: pci.c:1456
uint64_t range
Definition: hd.h:1689
@ res_irq
Definition: hd.h:1635
static void hd_read_vm(hd_data_t *hd_data)
Definition: pci.c:1488
str_list_t * free_str_list(str_list_t *list)
Definition: hd.c:2493
#define IORESOURCE_IO
Definition: pci.c:29
unsigned cmd
PCI_COMMAND.
Definition: hd.h:1034
res_io_t io
Definition: hd.h:1825
@ bc_network
Definition: hd.h:159
@ device_class
Definition: isdn_cdb_def.h:12
enum resource_types type
Definition: hd.h:1683
@ pci_flag_ok
Definition: hd.h:1060
static unsigned char pci_cfg_byte(pci_t *pci, int fd, unsigned idx)
Definition: pci.c:609
union u_hd_res_t * next
Definition: hd.h:1823
static void dump_pci_data(hd_data_t *hd_data)
Definition: pci.c:627
unsigned module
(Internal) the current probing module we are in
Definition: hd.h:2681
#define IORESOURCE_READONLY
Definition: pci.c:34
char * sysfs_bus_id
sysfs bus id
Definition: hd.h:1048
unsigned agp
AGP device.
Definition: hd.h:2470
unsigned base_class
Definition: hd.h:1039
@ bc_none
Definition: hd.h:159
#define ADD2LOG(a...)
Definition: hd_int.h:62
String list type.
Definition: hd.h:406
@ sc_ser_usb
Definition: hd.h:215
res_mem_t mem
Definition: hd.h:1826
@ pci_flag_pm
Definition: hd.h:1060
hd_detail_t * detail
Special info associated with this hardware.
Definition: hd.h:2433
unsigned slot
Definition: hd.h:1038
uint64_t range
Definition: hd.h:1705
unsigned dev
Definition: hd.h:1040
hd_t * add_hd_entry(hd_data_t *hd_data, unsigned line, unsigned count)
Definition: hd.c:1777
static void add_mv643xx_eth(hd_data_t *hd_data, char *entry, char *platform_type)
Definition: pci.c:891
unsigned debug
Debug flags.
Definition: hd.h:2635
@ bc_storage
Definition: hd.h:159
int hd_module_is_active(hd_data_t *hd_data, char *mod)
Definition: hd.c:2750
@ pr_pci
Definition: hd.h:110
res_irq_t irq
Definition: hd.h:1828
int hd_probe_feature(hd_data_t *hd_data, enum probe_feature feature)
Definition: hd.c:579
@ flag_yes
yes
Definition: hd.h:1663
hd_id_t sub_device
Subdevice id and name.
Definition: hd.h:2275
pci_t * pci
(Internal) raw PCI data
Definition: hd.h:2684
#define MAKE_ID(tag, id_val)
Combine tag and id value.
Definition: hd.h:102
unsigned enabled
0: disabled, 1 enabled
Definition: hd.h:1716
unsigned access
enum access_flags
Definition: hd.h:1708
char * label
Consistent Device Name (CDN), pci firmware spec 3.1, chapter 4.6.7.
Definition: hd.h:2590
unsigned id
Numeric id.
Definition: hd.h:397
@ bus_ps3_system_bus
Definition: hd.h:298
static void hd_read_vio(hd_data_t *hd_data)
Definition: pci.c:789
@ pci_flag_agp
Definition: hd.h:1060
hd_id_t compat_vendor
Vendor id and name of some compatible hardware.
Definition: hd.h:2293
char * sysfs_id
sysfs entry for this hardware, if any.
Definition: hd.h:2331
int hd_attr_uint(char *attr, uint64_t *u, int base)
Definition: hd.c:5955
unsigned sub_vend
Definition: hd.h:1040
uint64_t base
Definition: hd.h:1689
hd_res_t * res
Device resources.
Definition: hd.h:2427
hd_id_t sub_class
Sub class (id and name).
Definition: hd.h:2236
@ bc_display
Definition: hd.h:159
@ sc_multi_audio
Definition: hd.h:247
@ sc_dis_vga
Definition: hd.h:183
unsigned prog_if
PCI device classes.
Definition: hd.h:1039
@ bus_ibmebus
Definition: hd.h:299
hd_detail_pci_t pci
Definition: hd.h:2143
@ bus_none
Definition: hd.h:293
unsigned edid_len[6]
edid record length
Definition: hd.h:1051
unsigned char data[256]
the PCI data
Definition: hd.h:1031
@ acc_ro
read only
Definition: hd.h:1654
hd_id_t sub_vendor
Subvendor id and name.
Definition: hd.h:2267
hd_id_t vendor
Vendor id and name.
Definition: hd.h:2249
char * name
Name (if any) that corresponds to hd_id_t::id.
Definition: hd.h:398
unsigned access
enum access_flags
Definition: hd.h:1692
uint64_t base
Definition: hd.h:1705
hd_id_t bus
Bus type (id and name).
Definition: hd.h:2215
static void hd_read_ps3_system_bus(hd_data_t *hd_data)
Definition: pci.c:1119
unsigned wlan
WLAN card.
Definition: hd.h:2497
str_list_t * hd_attr_list(char *str)
Definition: hd.c:5973
#define TAG_PCI
PCI ids.
Definition: hd.h:83
unsigned idx
Unique index, starting at 1.
Definition: hd.h:2203
static hd_data_t * hd_data
Definition: pppoe.c:29
@ sc_ser_fire
Definition: hd.h:215
void str_printf(char **buf, int offset, char *format,...)
Definition: hd.c:2401
unsigned addr_flags[7]
I/O or memory address flags.
Definition: hd.h:1044
unsigned data_ext_len
max.
Definition: hd.h:1030
hd_res_t * add_res_entry(hd_res_t **res, hd_res_t *new_res)
Definition: hd.c:1769
#define IORESOURCE_DISABLED
Definition: pci.c:36
unsigned char edid_data[6][0x80]
edid record
Definition: hd.h:1052
char * hd_read_sysfs_link(char *base_dir, char *link_name)
Definition: hd.c:2631
uint64_t base_len[7]
I/O or memory ranges.
Definition: hd.h:1043
hd_id_t revision
Revision id or string.
Definition: hd.h:2282
char * sysfs_id
sysfs path
Definition: hd.h:1047
@ flag_no
no
Definition: hd.h:1662
void hd_pci_complete_data(hd_t *hd)
Definition: pci.c:458
unsigned hdr_type
PCI_HEADER_TYPE.
Definition: hd.h:1035
unsigned func
(PCI) function.
Definition: hd.h:2226
unsigned enabled
0: disabled, 1 enabled
Definition: hd.h:1691
str_list_t * add_str_list(str_list_t **sl, char *str)
Definition: hd.c:2479
unsigned sub_class
Definition: hd.h:1039
static void hd_read_platform(hd_data_t *hd_data)
Definition: pci.c:917
@ module
Definition: isdn_cdb_def.h:22
@ bus_virtio
Definition: hd.h:299
#define TAG_SPECIAL
Internally used ids.
Definition: hd.h:86
Holds all data accumulated during hardware probing.
Definition: hd.h:2604
void * new_mem(size_t size)
Definition: hd.c:1535
void hd_sysfs_driver_list(hd_data_t *hd_data)
Definition: hd.c:5751
char * label
Consistant Device Name (CDN), pci firmware spec 3.1, chapter 4.6.7.
Definition: hd.h:1050
unsigned rev
vendor & device ids
Definition: hd.h:1040
char * log
log messages
Definition: hd.h:1032
unsigned sub_dev
Definition: hd.h:1040
res_any_t any
Definition: hd.h:1824
static void add_xen_storage(hd_data_t *hd_data)
Definition: pci.c:1472
unsigned flags
various info, see enum pci_flags
Definition: hd.h:1033
char * str
Some string data.
Definition: hd.h:408
void * free_mem(void *p)
Definition: hd.c:1594
char * get_sysfs_attr_by_path(const char *path, const char *attr)
Definition: hd.c:6053
static void hd_read_xen(hd_data_t *hd_data)
Definition: pci.c:1344