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.h37
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