brintos

brintos / linux-shallow public Read only

0
0
Text · 2.0 KiB · e51e7cb Raw
74 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef _XEN_PLATFORM_PCI_H3#define _XEN_PLATFORM_PCI_H4 5#define XEN_IOPORT_MAGIC_VAL 0x49d26#define XEN_IOPORT_LINUX_PRODNUM 0x00037#define XEN_IOPORT_LINUX_DRVVER  0x00018 9#define XEN_IOPORT_BASE 0x1010 11#define XEN_IOPORT_PLATFLAGS	(XEN_IOPORT_BASE + 0) /* 1 byte access (R/W) */12#define XEN_IOPORT_MAGIC	(XEN_IOPORT_BASE + 0) /* 2 byte access (R) */13#define XEN_IOPORT_UNPLUG	(XEN_IOPORT_BASE + 0) /* 2 byte access (W) */14#define XEN_IOPORT_DRVVER	(XEN_IOPORT_BASE + 0) /* 4 byte access (W) */15 16#define XEN_IOPORT_SYSLOG	(XEN_IOPORT_BASE + 2) /* 1 byte access (W) */17#define XEN_IOPORT_PROTOVER	(XEN_IOPORT_BASE + 2) /* 1 byte access (R) */18#define XEN_IOPORT_PRODNUM	(XEN_IOPORT_BASE + 2) /* 2 byte access (W) */19 20#define XEN_UNPLUG_ALL_IDE_DISKS	(1<<0)21#define XEN_UNPLUG_ALL_NICS		(1<<1)22#define XEN_UNPLUG_AUX_IDE_DISKS	(1<<2)23#define XEN_UNPLUG_ALL			(XEN_UNPLUG_ALL_IDE_DISKS|\24					 XEN_UNPLUG_ALL_NICS|\25					 XEN_UNPLUG_AUX_IDE_DISKS)26 27#define XEN_UNPLUG_UNNECESSARY 		(1<<16)28#define XEN_UNPLUG_NEVER	 		(1<<17)29 30static inline int xen_must_unplug_nics(void) {31#if (defined(CONFIG_XEN_NETDEV_FRONTEND) || \32		defined(CONFIG_XEN_NETDEV_FRONTEND_MODULE)) && \33		defined(CONFIG_XEN_PVHVM)34        return 1;35#else36        return 0;37#endif38}39 40static inline int xen_must_unplug_disks(void) {41#if (defined(CONFIG_XEN_BLKDEV_FRONTEND) || \42		defined(CONFIG_XEN_BLKDEV_FRONTEND_MODULE)) && \43		defined(CONFIG_XEN_PVHVM)44        return 1;45#else46        return 0;47#endif48}49 50#if defined(CONFIG_XEN_PVHVM)51extern bool xen_has_pv_devices(void);52extern bool xen_has_pv_disk_devices(void);53extern bool xen_has_pv_nic_devices(void);54extern bool xen_has_pv_and_legacy_disk_devices(void);55#else56static inline bool xen_has_pv_devices(void)57{58	return IS_ENABLED(CONFIG_XEN);59}60static inline bool xen_has_pv_disk_devices(void)61{62	return IS_ENABLED(CONFIG_XEN);63}64static inline bool xen_has_pv_nic_devices(void)65{66	return IS_ENABLED(CONFIG_XEN);67}68static inline bool xen_has_pv_and_legacy_disk_devices(void)69{70	return false;71}72#endif73#endif /* _XEN_PLATFORM_PCI_H */74