diff options
Diffstat (limited to 'mdk-stage1/probing.h')
-rw-r--r-- | mdk-stage1/probing.h | 37 |
1 files changed, 31 insertions, 6 deletions
diff --git a/mdk-stage1/probing.h b/mdk-stage1/probing.h index ce107b752..702c9d056 100644 --- a/mdk-stage1/probing.h +++ b/mdk-stage1/probing.h @@ -1,7 +1,7 @@ /* - * Guillaume Cottenceau (gc@mandrakesoft.com) + * Guillaume Cottenceau (gc) * - * Copyright 2000 MandrakeSoft + * Copyright 2000 Mandriva * * This software may be freely redistributed under the terms of the GNU * public license. @@ -24,15 +24,40 @@ enum media_type { CDROM, DISK, FLOPPY, TAPE, UNKNOWN_MEDIA }; -enum driver_type { SCSI_ADAPTERS, NETWORK_DEVICES, USB_CONTROLLERS, ANY_DRIVER_TYPE }; +enum driver_type { MEDIA_ADAPTERS, NETWORK_DEVICES, USB_CONTROLLERS, + VIRTIO_DEVICES, ANY_DRIVER_TYPE }; -enum media_bus { BUS_IDE, BUS_SCSI, BUS_USB, BUS_ANY }; +enum media_bus { BUS_IDE, BUS_SCSI, BUS_USB, BUS_PCMCIA, BUS_ANY }; +#define VIRTIO_PCI_VENDOR 0x1af4 +#define VIRTIO_ID_NET 0x0001 +#define VIRTIO_ID_BLOCK 0x0002 +#define VIRTIO_ID_BALLOON 0x0005 + +void find_media(enum media_bus bus); void get_medias(enum media_type media, char *** names, char *** models, enum media_bus bus); char ** get_net_devices(void); -void net_discovered_interface(char * intf_name); char * get_net_intf_description(char * intf_name); -void prepare_intf_descr(const char * intf_descr); void probe_that_type(enum driver_type type, enum media_bus bus); +/* Make sure the MATCH_ALL value is greater than all possible values + for subvendor & subdevice: this simplifies the orderer */ +#define PCITABLE_MATCH_ALL 0x10000 + +struct pcitable_entry { + /* some bits stolen from pci-resource/pci-ids.h + * FIXME: split pci-ids.h into pci-ids.c and pci-ids.h so that the header can be re-used + */ + unsigned short vendor; /* PCI vendor id */ + unsigned short device; /* PCI device id */ + unsigned int subvendor; /* PCI subvendor id */ + unsigned int subdevice; /* PCI subdevice id */ + char module[20]; /* module to load */ + char description[100]; /* PCI human readable description */ +}; +extern struct pcitable_entry *detected_devices; +extern int detected_devices_len; +void probing_detect_devices(); +void probing_destroy(void); + #endif |