linux/include/xen/interface/hvm/ioreq.h

/* SPDX-License-Identifier: MIT */
/*
 * ioreq.h: I/O request definitions for device models
 * Copyright (c) 2004, Intel Corporation.
 */

#ifndef __XEN_PUBLIC_HVM_IOREQ_H__
#define __XEN_PUBLIC_HVM_IOREQ_H__

#define IOREQ_READ
#define IOREQ_WRITE

#define STATE_IOREQ_NONE
#define STATE_IOREQ_READY
#define STATE_IOREQ_INPROCESS
#define STATE_IORESP_READY

#define IOREQ_TYPE_PIO
#define IOREQ_TYPE_COPY
#define IOREQ_TYPE_PCI_CONFIG
#define IOREQ_TYPE_TIMEOFFSET
#define IOREQ_TYPE_INVALIDATE

/*
 * VMExit dispatcher should cooperate with instruction decoder to
 * prepare this structure and notify service OS and DM by sending
 * virq.
 *
 * For I/O type IOREQ_TYPE_PCI_CONFIG, the physical address is formatted
 * as follows:
 *
 * 63....48|47..40|39..35|34..32|31........0
 * SEGMENT |BUS   |DEV   |FN    |OFFSET
 */
struct ioreq {};

#endif /* __XEN_PUBLIC_HVM_IOREQ_H__ */