[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v2 9/9] x86/HVM: drop .complete hook for intercept handling
No user of the hook exists anymore. While touching hvm_mmio_internal() also make direction of the request explicit - it only so happens that IOREQ_WRITE is zero. Yet it being a write is imperative for stdvga.c to "accept" the request. Requested-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> --- v2: New. --- a/xen/arch/x86/hvm/intercept.c +++ b/xen/arch/x86/hvm/intercept.c @@ -240,21 +240,13 @@ static const struct hvm_io_handler *hvm_ int hvm_io_intercept(ioreq_t *p) { const struct hvm_io_handler *handler; - const struct hvm_io_ops *ops; - int rc; handler = hvm_find_io_handler(p); if ( handler == NULL ) return X86EMUL_UNHANDLEABLE; - rc = hvm_process_io_intercept(handler, p); - - ops = handler->ops; - if ( ops->complete != NULL ) - ops->complete(handler); - - return rc; + return hvm_process_io_intercept(handler, p); } struct hvm_io_handler *hvm_next_io_handler(struct domain *d) @@ -326,25 +318,15 @@ bool relocate_portio_handler(struct doma bool hvm_mmio_internal(paddr_t gpa) { - const struct hvm_io_handler *handler; - const struct hvm_io_ops *ops; ioreq_t p = { .type = IOREQ_TYPE_COPY, .addr = gpa, .count = 1, .size = 1, + .dir = IOREQ_WRITE, /* for stdvga */ }; - handler = hvm_find_io_handler(&p); - - if ( handler == NULL ) - return 0; - - ops = handler->ops; - if ( ops->complete != NULL ) - ops->complete(handler); - - return 1; + return hvm_find_io_handler(&p); } /* --- a/xen/arch/x86/include/asm/hvm/io.h +++ b/xen/arch/x86/include/asm/hvm/io.h @@ -56,13 +56,11 @@ typedef int (*hvm_io_write_t)(const stru uint64_t data); typedef bool (*hvm_io_accept_t)(const struct hvm_io_handler *handler, const ioreq_t *p); -typedef void (*hvm_io_complete_t)(const struct hvm_io_handler *handler); struct hvm_io_ops { hvm_io_accept_t accept; hvm_io_read_t read; hvm_io_write_t write; - hvm_io_complete_t complete; }; int hvm_process_io_intercept(const struct hvm_io_handler *handler,
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |