|
@@ -948,9 +948,12 @@ static void gnttab_request_version(void)
|
|
int rc;
|
|
int rc;
|
|
struct gnttab_set_version gsv;
|
|
struct gnttab_set_version gsv;
|
|
|
|
|
|
- gsv.version = 2;
|
|
|
|
|
|
+ if (xen_hvm_domain())
|
|
|
|
+ gsv.version = 1;
|
|
|
|
+ else
|
|
|
|
+ gsv.version = 2;
|
|
rc = HYPERVISOR_grant_table_op(GNTTABOP_set_version, &gsv, 1);
|
|
rc = HYPERVISOR_grant_table_op(GNTTABOP_set_version, &gsv, 1);
|
|
- if (rc == 0) {
|
|
|
|
|
|
+ if (rc == 0 && gsv.version == 2) {
|
|
grant_table_version = 2;
|
|
grant_table_version = 2;
|
|
gnttab_interface = &gnttab_v2_ops;
|
|
gnttab_interface = &gnttab_v2_ops;
|
|
} else if (grant_table_version == 2) {
|
|
} else if (grant_table_version == 2) {
|