diff options
| author | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2012-11-27 11:39:40 -0500 |
|---|---|---|
| committer | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2012-11-28 14:39:31 -0500 |
| commit | 394b40f62d7ae18a1c48c13fc483b8193f8c3a98 (patch) | |
| tree | 1ed5bcd5dd1adbc35132ee486eef5efaef0de110 | |
| parent | 5af19e475fdc046a68be0c09cd53417ce73b8dcf (diff) | |
xen/acpi: Move the xen_running_on_version_or_later function.
As on ia64 builds we get:
include/xen/interface/version.h: In function 'xen_running_on_version_or_later':
include/xen/interface/version.h:76: error: implicit declaration of function 'HYPERVISOR_xen_version'
We can later on make this function exportable if there are
modules using part of it. For right now the only two users are
built-in.
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
| -rw-r--r-- | arch/x86/xen/enlighten.c | 15 | ||||
| -rw-r--r-- | drivers/xen/xen-acpi-pad.c | 1 | ||||
| -rw-r--r-- | include/xen/interface/version.h | 18 | ||||
| -rw-r--r-- | include/xen/xen-ops.h | 1 |
4 files changed, 17 insertions, 18 deletions
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c index eb0edff5499b..3325cd9f7790 100644 --- a/arch/x86/xen/enlighten.c +++ b/arch/x86/xen/enlighten.c | |||
| @@ -223,6 +223,21 @@ static void __init xen_banner(void) | |||
| 223 | version >> 16, version & 0xffff, extra.extraversion, | 223 | version >> 16, version & 0xffff, extra.extraversion, |
| 224 | xen_feature(XENFEAT_mmu_pt_update_preserve_ad) ? " (preserve-AD)" : ""); | 224 | xen_feature(XENFEAT_mmu_pt_update_preserve_ad) ? " (preserve-AD)" : ""); |
| 225 | } | 225 | } |
| 226 | /* Check if running on Xen version (major, minor) or later */ | ||
| 227 | bool | ||
| 228 | xen_running_on_version_or_later(unsigned int major, unsigned int minor) | ||
| 229 | { | ||
| 230 | unsigned int version; | ||
| 231 | |||
| 232 | if (!xen_domain()) | ||
| 233 | return false; | ||
| 234 | |||
| 235 | version = HYPERVISOR_xen_version(XENVER_version, NULL); | ||
| 236 | if ((((version >> 16) == major) && ((version & 0xffff) >= minor)) || | ||
| 237 | ((version >> 16) > major)) | ||
| 238 | return true; | ||
| 239 | return false; | ||
| 240 | } | ||
| 226 | 241 | ||
| 227 | #define CPUID_THERM_POWER_LEAF 6 | 242 | #define CPUID_THERM_POWER_LEAF 6 |
| 228 | #define APERFMPERF_PRESENT 0 | 243 | #define APERFMPERF_PRESENT 0 |
diff --git a/drivers/xen/xen-acpi-pad.c b/drivers/xen/xen-acpi-pad.c index f23ecf380088..da39191e7278 100644 --- a/drivers/xen/xen-acpi-pad.c +++ b/drivers/xen/xen-acpi-pad.c | |||
| @@ -20,6 +20,7 @@ | |||
| 20 | #include <acpi/acpi_drivers.h> | 20 | #include <acpi/acpi_drivers.h> |
| 21 | #include <asm/xen/hypercall.h> | 21 | #include <asm/xen/hypercall.h> |
| 22 | #include <xen/interface/version.h> | 22 | #include <xen/interface/version.h> |
| 23 | #include <xen/xen-ops.h> | ||
| 23 | 24 | ||
| 24 | #define ACPI_PROCESSOR_AGGREGATOR_CLASS "acpi_pad" | 25 | #define ACPI_PROCESSOR_AGGREGATOR_CLASS "acpi_pad" |
| 25 | #define ACPI_PROCESSOR_AGGREGATOR_DEVICE_NAME "Processor Aggregator" | 26 | #define ACPI_PROCESSOR_AGGREGATOR_DEVICE_NAME "Processor Aggregator" |
diff --git a/include/xen/interface/version.h b/include/xen/interface/version.h index 53553f046497..7ff6498679a3 100644 --- a/include/xen/interface/version.h +++ b/include/xen/interface/version.h | |||
| @@ -63,22 +63,4 @@ struct xen_feature_info { | |||
| 63 | /* arg == xen_domain_handle_t. */ | 63 | /* arg == xen_domain_handle_t. */ |
| 64 | #define XENVER_guest_handle 8 | 64 | #define XENVER_guest_handle 8 |
| 65 | 65 | ||
| 66 | /* Declares the xen_domain() macros. */ | ||
| 67 | #include <xen/xen.h> | ||
| 68 | |||
| 69 | /* Check if running on Xen version (major, minor) or later */ | ||
| 70 | static inline bool | ||
| 71 | xen_running_on_version_or_later(unsigned int major, unsigned int minor) | ||
| 72 | { | ||
| 73 | unsigned int version; | ||
| 74 | |||
| 75 | if (!xen_domain()) | ||
| 76 | return false; | ||
| 77 | |||
| 78 | version = HYPERVISOR_xen_version(XENVER_version, NULL); | ||
| 79 | if ((((version >> 16) == major) && ((version & 0xffff) >= minor)) || | ||
| 80 | ((version >> 16) > major)) | ||
| 81 | return true; | ||
| 82 | return false; | ||
| 83 | } | ||
| 84 | #endif /* __XEN_PUBLIC_VERSION_H__ */ | 66 | #endif /* __XEN_PUBLIC_VERSION_H__ */ |
diff --git a/include/xen/xen-ops.h b/include/xen/xen-ops.h index 6a198e46ab6e..6170abd53d0b 100644 --- a/include/xen/xen-ops.h +++ b/include/xen/xen-ops.h | |||
| @@ -29,4 +29,5 @@ int xen_remap_domain_mfn_range(struct vm_area_struct *vma, | |||
| 29 | unsigned long mfn, int nr, | 29 | unsigned long mfn, int nr, |
| 30 | pgprot_t prot, unsigned domid); | 30 | pgprot_t prot, unsigned domid); |
| 31 | 31 | ||
| 32 | bool xen_running_on_version_or_later(unsigned int major, unsigned int minor); | ||
| 32 | #endif /* INCLUDE_XEN_OPS_H */ | 33 | #endif /* INCLUDE_XEN_OPS_H */ |
