404

[ Avaa Bypassed ]




Upload:

Command:

botdev@3.14.146.45: ~ $
/*
 * PCI Backend/Frontend Common Data Structures & Macros
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to
 * deal in the Software without restriction, including without limitation the
 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 * sell copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 * DEALINGS IN THE SOFTWARE.
 *
 *   Author: Ryan Wilson <hap9@epoch.ncsc.mil>
 */
#ifndef __XEN_PCI_COMMON_H__
#define __XEN_PCI_COMMON_H__

/* Be sure to bump this number if you change this file */
#define XEN_PCI_MAGIC "7"

/* xen_pci_sharedinfo flags */
#define	_XEN_PCIF_active		(0)
#define	XEN_PCIF_active			(1<<_XEN_PCIF_active)
#define	_XEN_PCIB_AERHANDLER		(1)
#define	XEN_PCIB_AERHANDLER		(1<<_XEN_PCIB_AERHANDLER)
#define	_XEN_PCIB_active		(2)
#define	XEN_PCIB_active			(1<<_XEN_PCIB_active)

/* xen_pci_op commands */
#define	XEN_PCI_OP_conf_read		(0)
#define	XEN_PCI_OP_conf_write		(1)
#define	XEN_PCI_OP_enable_msi		(2)
#define	XEN_PCI_OP_disable_msi		(3)
#define	XEN_PCI_OP_enable_msix		(4)
#define	XEN_PCI_OP_disable_msix		(5)
#define	XEN_PCI_OP_aer_detected		(6)
#define	XEN_PCI_OP_aer_resume		(7)
#define	XEN_PCI_OP_aer_mmio		(8)
#define	XEN_PCI_OP_aer_slotreset	(9)

/* xen_pci_op error numbers */
#define	XEN_PCI_ERR_success		(0)
#define	XEN_PCI_ERR_dev_not_found	(-1)
#define	XEN_PCI_ERR_invalid_offset	(-2)
#define	XEN_PCI_ERR_access_denied	(-3)
#define	XEN_PCI_ERR_not_implemented	(-4)
/* XEN_PCI_ERR_op_failed - backend failed to complete the operation */
#define XEN_PCI_ERR_op_failed		(-5)

/*
 * it should be PAGE_SIZE-sizeof(struct xen_pci_op))/sizeof(struct msix_entry))
 * Should not exceed 128
 */
#define SH_INFO_MAX_VEC			128

struct xen_msix_entry {
	uint16_t vector;
	uint16_t entry;
};
struct xen_pci_op {
	/* IN: what action to perform: XEN_PCI_OP_* */
	uint32_t cmd;

	/* OUT: will contain an error number (if any) from errno.h */
	int32_t err;

	/* IN: which device to touch */
	uint32_t domain; /* PCI Domain/Segment */
	uint32_t bus;
	uint32_t devfn;

	/* IN: which configuration registers to touch */
	int32_t offset;
	int32_t size;

	/* IN/OUT: Contains the result after a READ or the value to WRITE */
	uint32_t value;
	/* IN: Contains extra infor for this operation */
	uint32_t info;
	/*IN:  param for msi-x */
	struct xen_msix_entry msix_entries[SH_INFO_MAX_VEC];
};

/*used for pcie aer handling*/
struct xen_pcie_aer_op {
	/* IN: what action to perform: XEN_PCI_OP_* */
	uint32_t cmd;
	/*IN/OUT: return aer_op result or carry error_detected state as input*/
	int32_t err;

	/* IN: which device to touch */
	uint32_t domain; /* PCI Domain/Segment*/
	uint32_t bus;
	uint32_t devfn;
};
struct xen_pci_sharedinfo {
	/* flags - XEN_PCIF_* */
	uint32_t flags;
	struct xen_pci_op op;
	struct xen_pcie_aer_op aer_op;
};

#endif /* __XEN_PCI_COMMON_H__ */

Filemanager

Name Type Size Permission Actions
9pfs.h File 1.43 KB 0644
blkif.h File 12.9 KB 0644
console.h File 587 B 0644
displif.h File 39.03 KB 0644
fbif.h File 4.48 KB 0644
kbdif.h File 22.25 KB 0644
netif.h File 34.08 KB 0644
pciif.h File 3.52 KB 0644
protocols.h File 697 B 0644
pvcalls.h File 3.04 KB 0644
ring.h File 23.2 KB 0644
sndif.h File 34.89 KB 0644
tpmif.h File 1.67 KB 0644
vscsiif.h File 8.7 KB 0644
xenbus.h File 1.29 KB 0644
xs_wire.h File 2.21 KB 0644