+#else
+#include <asm/hypervisor.h>
+static inline char*
+alloc_gatt_pages(unsigned int order)
+{
+ unsigned long error;
+ unsigned long ret = __get_free_pages(GFP_KERNEL, (order));
+ if (ret == 0) {
+ goto out;
+ }
+ error = xen_create_contiguous_region(ret, order, 0);
+ if (error) {
+ free_pages(ret, order);
+ ret = 0;
+ }
+out:
+ return (char*)ret;
+}
+static inline void
+free_gatt_pages(void* table, unsigned int order)
+{
+ xen_destroy_contiguous_region((unsigned long)table, order);
+ free_pages((unsigned long)table, order);
+}
+#endif /* CONFIG_XEN */