7 #ifndef __XEN_PUBLIC_ARCH_RISCV_H__ 8 #define __XEN_PUBLIC_ARCH_RISCV_H__ 13 #if defined(__XEN__) || defined(__XEN_TOOLS__) || defined(__GNUC__) 14 #define int64_aligned_t int64_t __attribute__((__aligned__(8))) 15 #define uint64_aligned_t uint64_t __attribute__((__aligned__(8))) 19 #define ___DEFINE_XEN_GUEST_HANDLE(name, type) \ 20 typedef union { type *p; unsigned long q; } \ 21 __guest_handle_ ## name; \ 22 typedef union { type *p; uint64_aligned_t q; } \ 23 __guest_handle_64_ ## name 32 #define __DEFINE_XEN_GUEST_HANDLE(name, type) \ 33 ___DEFINE_XEN_GUEST_HANDLE(name, type); \ 34 ___DEFINE_XEN_GUEST_HANDLE(const_##name, const type) 35 #define DEFINE_XEN_GUEST_HANDLE(name) __DEFINE_XEN_GUEST_HANDLE(name, name) 36 #define __XEN_GUEST_HANDLE(name) __guest_handle_64_ ## name 37 #define XEN_GUEST_HANDLE(name) __XEN_GUEST_HANDLE(name) 38 #define XEN_GUEST_HANDLE_PARAM(name) __guest_handle_ ## name 39 #define set_xen_guest_handle_raw(hnd, val) \ 41 typeof(&(hnd)) sxghr_tmp_ = &(hnd); \ 43 sxghr_tmp_->p = (val); \ 45 #define set_xen_guest_handle(hnd, val) set_xen_guest_handle_raw(hnd, val) 48 #define PRI_xen_pfn PRIx64 49 #define PRIu_xen_pfn PRIu64 52 #define PRI_xen_ulong PRIx64 54 #if defined(__XEN__) || defined(__XEN_TOOLS__) 80 #define XEN_LEGACY_MAX_VCPUS 1 struct xen_pmu_arch xen_pmu_arch_t
unsigned long long uint64_t
#define DEFINE_XEN_GUEST_HANDLE(name)