*/
.max_grant_frames = 4,
.max_maptrack_frames = 128,
- .grant_opts = 1,
+ .grant_opts = XEN_DOMCTL_GRANT_version(1),
};
xs_fd = open("/dev/xen/xenbus_backend", O_RDWR);
.max_evtchn_port = b_info->event_channels,
.max_grant_frames = b_info->max_grant_frames,
.max_maptrack_frames = b_info->max_maptrack_frames,
- .grant_opts = b_info->max_grant_version,
+ .grant_opts = XEN_DOMCTL_GRANT_version(b_info->max_grant_version),
.vmtrace_size = ROUNDUP(b_info->vmtrace_buf_kb << 10, XC_PAGE_SHIFT),
};
.max_evtchn_port = Int_val(VAL_MAX_EVTCHN_PORT),
.max_grant_frames = Int_val(VAL_MAX_GRANT_FRAMES),
.max_maptrack_frames = Int_val(VAL_MAX_MAPTRACK_FRAMES),
- .grant_opts = Int_val(VAL_MAX_GRANT_VERSION),
+ .grant_opts =
+ XEN_DOMCTL_GRANT_version(Int_val(VAL_MAX_GRANT_VERSION)),
};
domain_handle_of_uuid_string(cfg.handle, String_val(VAL_HANDLE));
.max_evtchn_port = -1,
.max_grant_frames = -1,
.max_maptrack_frames = -1,
- .grant_opts = opt_gnttab_max_version,
+ .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
};
if ( !dt_device_is_compatible(node, "xen,domain") )
.max_evtchn_port = -1,
.max_grant_frames = gnttab_dom0_frames(),
.max_maptrack_frames = -1,
- .grant_opts = opt_gnttab_max_version,
+ .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
};
/* The vGIC for DOM0 is exactly emulating the hardware GIC */
.max_evtchn_port = -1,
.max_grant_frames = -1,
.max_maptrack_frames = -1,
- .grant_opts = opt_gnttab_max_version,
+ .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
.max_vcpus = dom0_max_vcpus(),
.arch = {
.misc_flags = opt_dom0_msr_relaxed ? XEN_X86_MSR_RELAXED : 0,
/* Grant version, use low 4 bits. */
#define XEN_DOMCTL_GRANT_version_mask 0xf
+#define XEN_DOMCTL_GRANT_version(v) ((v) & XEN_DOMCTL_GRANT_version_mask)
uint32_t grant_opts;