diff options
Diffstat (limited to 'arch/arm/xen')
-rw-r--r-- | arch/arm/xen/enlighten.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c index 85501238b425..2162172c0ddc 100644 --- a/arch/arm/xen/enlighten.c +++ b/arch/arm/xen/enlighten.c | |||
@@ -208,6 +208,7 @@ static int __init xen_guest_init(void) | |||
208 | const char *version = NULL; | 208 | const char *version = NULL; |
209 | const char *xen_prefix = "xen,xen-"; | 209 | const char *xen_prefix = "xen,xen-"; |
210 | struct resource res; | 210 | struct resource res; |
211 | unsigned long grant_frames; | ||
211 | 212 | ||
212 | node = of_find_compatible_node(NULL, NULL, "xen,xen"); | 213 | node = of_find_compatible_node(NULL, NULL, "xen,xen"); |
213 | if (!node) { | 214 | if (!node) { |
@@ -224,10 +225,10 @@ static int __init xen_guest_init(void) | |||
224 | } | 225 | } |
225 | if (of_address_to_resource(node, GRANT_TABLE_PHYSADDR, &res)) | 226 | if (of_address_to_resource(node, GRANT_TABLE_PHYSADDR, &res)) |
226 | return 0; | 227 | return 0; |
227 | xen_hvm_resume_frames = res.start; | 228 | grant_frames = res.start; |
228 | xen_events_irq = irq_of_parse_and_map(node, 0); | 229 | xen_events_irq = irq_of_parse_and_map(node, 0); |
229 | pr_info("Xen %s support found, events_irq=%d gnttab_frame_pfn=%lx\n", | 230 | pr_info("Xen %s support found, events_irq=%d gnttab_frame_pfn=%lx\n", |
230 | version, xen_events_irq, (xen_hvm_resume_frames >> PAGE_SHIFT)); | 231 | version, xen_events_irq, (grant_frames >> PAGE_SHIFT)); |
231 | xen_domain_type = XEN_HVM_DOMAIN; | 232 | xen_domain_type = XEN_HVM_DOMAIN; |
232 | 233 | ||
233 | xen_setup_features(); | 234 | xen_setup_features(); |
@@ -265,6 +266,10 @@ static int __init xen_guest_init(void) | |||
265 | if (xen_vcpu_info == NULL) | 266 | if (xen_vcpu_info == NULL) |
266 | return -ENOMEM; | 267 | return -ENOMEM; |
267 | 268 | ||
269 | if (gnttab_setup_auto_xlat_frames(grant_frames)) { | ||
270 | free_percpu(xen_vcpu_info); | ||
271 | return -ENOMEM; | ||
272 | } | ||
268 | gnttab_init(); | 273 | gnttab_init(); |
269 | if (!xen_initial_domain()) | 274 | if (!xen_initial_domain()) |
270 | xenbus_probe(NULL); | 275 | xenbus_probe(NULL); |