summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/probing.h
diff options
context:
space:
mode:
Diffstat (limited to 'mdk-stage1/probing.h')
-rw-r--r--mdk-stage1/probing.h26
1 files changed, 19 insertions, 7 deletions
diff --git a/mdk-stage1/probing.h b/mdk-stage1/probing.h
index 6efa7b464..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,28 +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[50];
+extern struct pcitable_entry *detected_devices;
extern int detected_devices_len;
void probing_detect_devices();
+void probing_destroy(void);
#endif