提交 27244269 编写于 作者: I Isaku Yamahata 提交者: Ingo Molnar

xen: add missing definitions in include/xen/interface/vcpu.h which ia64/xen needs

Add xen handles realted definitions for xen vcpu which ia64/xen needs.
Pointer argumsnts for ia64/xen hypercall are passed in pseudo physical
address (guest physical address) so that it is required to convert
guest kernel virtual address into pseudo physical address.
The xen guest handle represents such arguments.
Signed-off-by: NIsaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: NJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: NIngo Molnar <mingo@elte.hu>
Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
上级 87e27cf6
...@@ -85,6 +85,7 @@ struct vcpu_runstate_info { ...@@ -85,6 +85,7 @@ struct vcpu_runstate_info {
*/ */
uint64_t time[4]; uint64_t time[4];
}; };
DEFINE_GUEST_HANDLE_STRUCT(vcpu_runstate_info);
/* VCPU is currently running on a physical CPU. */ /* VCPU is currently running on a physical CPU. */
#define RUNSTATE_running 0 #define RUNSTATE_running 0
...@@ -119,6 +120,7 @@ struct vcpu_runstate_info { ...@@ -119,6 +120,7 @@ struct vcpu_runstate_info {
#define VCPUOP_register_runstate_memory_area 5 #define VCPUOP_register_runstate_memory_area 5
struct vcpu_register_runstate_memory_area { struct vcpu_register_runstate_memory_area {
union { union {
GUEST_HANDLE(vcpu_runstate_info) h;
struct vcpu_runstate_info *v; struct vcpu_runstate_info *v;
uint64_t p; uint64_t p;
} addr; } addr;
...@@ -134,6 +136,7 @@ struct vcpu_register_runstate_memory_area { ...@@ -134,6 +136,7 @@ struct vcpu_register_runstate_memory_area {
struct vcpu_set_periodic_timer { struct vcpu_set_periodic_timer {
uint64_t period_ns; uint64_t period_ns;
}; };
DEFINE_GUEST_HANDLE_STRUCT(vcpu_set_periodic_timer);
/* /*
* Set or stop a VCPU's single-shot timer. Every VCPU has one single-shot * Set or stop a VCPU's single-shot timer. Every VCPU has one single-shot
...@@ -145,6 +148,7 @@ struct vcpu_set_singleshot_timer { ...@@ -145,6 +148,7 @@ struct vcpu_set_singleshot_timer {
uint64_t timeout_abs_ns; uint64_t timeout_abs_ns;
uint32_t flags; /* VCPU_SSHOTTMR_??? */ uint32_t flags; /* VCPU_SSHOTTMR_??? */
}; };
DEFINE_GUEST_HANDLE_STRUCT(vcpu_set_singleshot_timer);
/* Flags to VCPUOP_set_singleshot_timer. */ /* Flags to VCPUOP_set_singleshot_timer. */
/* Require the timeout to be in the future (return -ETIME if it's passed). */ /* Require the timeout to be in the future (return -ETIME if it's passed). */
...@@ -164,5 +168,6 @@ struct vcpu_register_vcpu_info { ...@@ -164,5 +168,6 @@ struct vcpu_register_vcpu_info {
uint32_t offset; /* offset within page */ uint32_t offset; /* offset within page */
uint32_t rsvd; /* unused */ uint32_t rsvd; /* unused */
}; };
DEFINE_GUEST_HANDLE_STRUCT(vcpu_register_vcpu_info);
#endif /* __XEN_PUBLIC_VCPU_H__ */ #endif /* __XEN_PUBLIC_VCPU_H__ */
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册