|
[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 |