hvm_send_assist_req(v);
}
-static void send_mmio_req(unsigned char type, unsigned long gpa,
+static void send_mmio_req(unsigned char type, paddr_t gpa,
unsigned long count, int size, paddr_t value,
int dir, int df, int value_is_ptr)
{
ioreq_t *p;
if ( size == 0 || count == 0 ) {
- printk("null mmio request? type %d, gpa %lx, "
- "count %lx, size %d, value %"PRIpaddr"x, dir %d, "
+ printk("null mmio request? type %d, gpa %"PRIpaddr", "
+ "count %lx, size %d, value %"PRIpaddr", dir %d, "
"value_is_ptr %d.\n",
type, gpa, count, size, value, dir, value_is_ptr);
}
(mmio_op->flags & REPZ ? (ad_size == WORD ? regs->ecx & 0xFFFF : regs->ecx) : 1)
-void handle_mmio(unsigned long gpa)
+void handle_mmio(paddr_t gpa)
{
unsigned long inst_addr;
struct hvm_io_op *mmio_op;
gdprintk(XENLOG_WARNING,
"handle_mmio: failed to decode instruction\n");
gdprintk(XENLOG_WARNING,
- "mmio opcode: gpa 0x%lx, len %d:", gpa, inst_len);
+ "mmio opcode: gpa 0x%"PRIpaddr", len %d:", gpa, inst_len);
for ( i = 0; i < inst_len; i++ )
printk(" %02x", inst[i] & 0xFF);
printk("\n");
unsigned long inst_len, unsigned int port,
int sign, unsigned int size, int dir,
int df, unsigned long addr,
- unsigned long paddr, unsigned long count)
+ paddr_t paddr, unsigned long count)
{
/*
* Handle string pio instructions that cross pages or that
paddr_t value, int dir, int df, int value_is_ptr);
void send_timeoffset_req(unsigned long timeoff);
void send_invalidate_req(void);
-extern void handle_mmio(unsigned long gpa);
+extern void handle_mmio(paddr_t gpa);
extern void hvm_interrupt_post(struct vcpu *v, int vector, int type);
extern void hvm_io_assist(void);