diff options
| author | Jeremy Fitzhardinge <jeremy@xensource.com> | 2007-07-17 21:37:07 -0400 |
|---|---|---|
| committer | Jeremy Fitzhardinge <jeremy@goop.org> | 2007-07-18 11:47:45 -0400 |
| commit | 60223a326fc8fa6e90e2c3fd28ae6de4a311d731 (patch) | |
| tree | cf4e667a56402b846488373bfaf5bf840395e219 /include/xen/interface | |
| parent | 3e2b8fbeec8f005672f2a2e862fb9c26a0bafedc (diff) | |
xen: Place vcpu_info structure into per-cpu memory
An experimental patch for Xen allows guests to place their vcpu_info
structs anywhere. We try to use this to place the vcpu_info into the
PDA, which allows direct access.
If this works, then switch to using direct access operations for
irq_enable, disable, save_fl and restore_fl.
Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Cc: Chris Wright <chrisw@sous-sol.org>
Cc: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'include/xen/interface')
| -rw-r--r-- | include/xen/interface/vcpu.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/xen/interface/vcpu.h b/include/xen/interface/vcpu.h index c6218f1ad3..ff61ea3659 100644 --- a/include/xen/interface/vcpu.h +++ b/include/xen/interface/vcpu.h | |||
| @@ -151,4 +151,17 @@ struct vcpu_set_singleshot_timer { | |||
| 151 | #define _VCPU_SSHOTTMR_future (0) | 151 | #define _VCPU_SSHOTTMR_future (0) |
| 152 | #define VCPU_SSHOTTMR_future (1U << _VCPU_SSHOTTMR_future) | 152 | #define VCPU_SSHOTTMR_future (1U << _VCPU_SSHOTTMR_future) |
| 153 | 153 | ||
| 154 | /* | ||
| 155 | * Register a memory location in the guest address space for the | ||
| 156 | * vcpu_info structure. This allows the guest to place the vcpu_info | ||
| 157 | * structure in a convenient place, such as in a per-cpu data area. | ||
| 158 | * The pointer need not be page aligned, but the structure must not | ||
| 159 | * cross a page boundary. | ||
| 160 | */ | ||
| 161 | #define VCPUOP_register_vcpu_info 10 /* arg == struct vcpu_info */ | ||
| 162 | struct vcpu_register_vcpu_info { | ||
| 163 | uint32_t mfn; /* mfn of page to place vcpu_info */ | ||
| 164 | uint32_t offset; /* offset within page */ | ||
| 165 | }; | ||
| 166 | |||
| 154 | #endif /* __XEN_PUBLIC_VCPU_H__ */ | 167 | #endif /* __XEN_PUBLIC_VCPU_H__ */ |
