Commit | Line | Data |
---|---|---|
c1c5413a SS |
1 | #ifndef _XEN_PLATFORM_PCI_H |
2 | #define _XEN_PLATFORM_PCI_H | |
3 | ||
4 | #define XEN_IOPORT_MAGIC_VAL 0x49d2 | |
5 | #define XEN_IOPORT_LINUX_PRODNUM 0x0003 | |
6 | #define XEN_IOPORT_LINUX_DRVVER 0x0001 | |
7 | ||
8 | #define XEN_IOPORT_BASE 0x10 | |
9 | ||
10 | #define XEN_IOPORT_PLATFLAGS (XEN_IOPORT_BASE + 0) /* 1 byte access (R/W) */ | |
11 | #define XEN_IOPORT_MAGIC (XEN_IOPORT_BASE + 0) /* 2 byte access (R) */ | |
12 | #define XEN_IOPORT_UNPLUG (XEN_IOPORT_BASE + 0) /* 2 byte access (W) */ | |
13 | #define XEN_IOPORT_DRVVER (XEN_IOPORT_BASE + 0) /* 4 byte access (W) */ | |
14 | ||
15 | #define XEN_IOPORT_SYSLOG (XEN_IOPORT_BASE + 2) /* 1 byte access (W) */ | |
16 | #define XEN_IOPORT_PROTOVER (XEN_IOPORT_BASE + 2) /* 1 byte access (R) */ | |
17 | #define XEN_IOPORT_PRODNUM (XEN_IOPORT_BASE + 2) /* 2 byte access (W) */ | |
18 | ||
19 | #define XEN_UNPLUG_ALL_IDE_DISKS 1 | |
20 | #define XEN_UNPLUG_ALL_NICS 2 | |
21 | #define XEN_UNPLUG_AUX_IDE_DISKS 4 | |
22 | #define XEN_UNPLUG_ALL 7 | |
1dc7ce99 | 23 | #define XEN_UNPLUG_UNNECESSARY 8 |
c93a4dfb | 24 | #define XEN_UNPLUG_NEVER 16 |
c1c5413a SS |
25 | |
26 | static inline int xen_must_unplug_nics(void) { | |
27 | #if (defined(CONFIG_XEN_NETDEV_FRONTEND) || \ | |
28 | defined(CONFIG_XEN_NETDEV_FRONTEND_MODULE)) && \ | |
29 | (defined(CONFIG_XEN_PLATFORM_PCI) || \ | |
30 | defined(CONFIG_XEN_PLATFORM_PCI_MODULE)) | |
31 | return 1; | |
32 | #else | |
33 | return 0; | |
34 | #endif | |
35 | } | |
36 | ||
37 | static inline int xen_must_unplug_disks(void) { | |
38 | #if (defined(CONFIG_XEN_BLKDEV_FRONTEND) || \ | |
39 | defined(CONFIG_XEN_BLKDEV_FRONTEND_MODULE)) && \ | |
40 | (defined(CONFIG_XEN_PLATFORM_PCI) || \ | |
41 | defined(CONFIG_XEN_PLATFORM_PCI_MODULE)) | |
42 | return 1; | |
43 | #else | |
44 | return 0; | |
45 | #endif | |
46 | } | |
47 | ||
48 | extern int xen_platform_pci_unplug; | |
49 | ||
50 | #endif /* _XEN_PLATFORM_PCI_H */ |