From 69a09dc1742ffbb3b02f3a1e03da4801e96452e9 Mon Sep 17 00:00:00 2001
From: Rusty Russell <rusty@rustcorp.com.au>
Date: Wed, 11 Feb 2015 15:15:09 +1030
Subject: lguest: write more information to userspace about pending traps.

This is preparation for userspace handling MMIO and ioport accesses.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---
 include/linux/lguest_launcher.h | 13 +++++++++++++
 1 file changed, 13 insertions(+)

(limited to 'include/linux/lguest_launcher.h')

diff --git a/include/linux/lguest_launcher.h b/include/linux/lguest_launcher.h
index f27cae27b0c1..c4451ebece47 100644
--- a/include/linux/lguest_launcher.h
+++ b/include/linux/lguest_launcher.h
@@ -67,6 +67,19 @@ enum lguest_req
 	LHREQ_SETREG, /* + offset within struct pt_regs, value. */
 };
 
+/*
+ * This is what read() of the lguest fd populates.  trap ==
+ * LGUEST_TRAP_ENTRY for an LHCALL_NOTIFY (addr is the
+ * argument), 14 for a page fault in the MMIO region (addr is
+ * the trap address, insn is the instruction), or 13 for a GPF
+ * (insn is the instruction).
+ */
+struct lguest_pending {
+	__u8 trap;
+	__u8 insn[7];
+	__u32 addr;
+};
+
 /*
  * The alignment to use between consumer and producer parts of vring.
  * x86 pagesize for historical reasons.
-- 
cgit