diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-09-14 11:42:51 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-09-14 11:42:51 -0400 |
| commit | b8f26e880c8166604e0da741eccd9fe6d8e1b9fb (patch) | |
| tree | 79ea08ab32e0322ae17c6bc115ed03bb1b05278b | |
| parent | 5924bbecd0267d87c24110cbe2041b5075173a25 (diff) | |
| parent | de75abbe0121a6c3c9c6b04c75300088e57ad1d5 (diff) | |
Merge tag 'for-linus-4.8b-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip
Pull xen regression fix from David Vrabel:
"Fix SMP boot in arm guests"
* tag 'for-linus-4.8b-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
arm/xen: fix SMP guests boot
| -rw-r--r-- | arch/arm/xen/enlighten.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c index 3d2cef6488ea..f193414d0f6f 100644 --- a/arch/arm/xen/enlighten.c +++ b/arch/arm/xen/enlighten.c | |||
| @@ -170,9 +170,6 @@ static int xen_starting_cpu(unsigned int cpu) | |||
| 170 | pr_info("Xen: initializing cpu%d\n", cpu); | 170 | pr_info("Xen: initializing cpu%d\n", cpu); |
| 171 | vcpup = per_cpu_ptr(xen_vcpu_info, cpu); | 171 | vcpup = per_cpu_ptr(xen_vcpu_info, cpu); |
| 172 | 172 | ||
| 173 | /* Direct vCPU id mapping for ARM guests. */ | ||
| 174 | per_cpu(xen_vcpu_id, cpu) = cpu; | ||
| 175 | |||
| 176 | info.mfn = virt_to_gfn(vcpup); | 173 | info.mfn = virt_to_gfn(vcpup); |
| 177 | info.offset = xen_offset_in_page(vcpup); | 174 | info.offset = xen_offset_in_page(vcpup); |
| 178 | 175 | ||
| @@ -330,6 +327,7 @@ static int __init xen_guest_init(void) | |||
| 330 | { | 327 | { |
| 331 | struct xen_add_to_physmap xatp; | 328 | struct xen_add_to_physmap xatp; |
| 332 | struct shared_info *shared_info_page = NULL; | 329 | struct shared_info *shared_info_page = NULL; |
| 330 | int cpu; | ||
| 333 | 331 | ||
| 334 | if (!xen_domain()) | 332 | if (!xen_domain()) |
| 335 | return 0; | 333 | return 0; |
| @@ -380,7 +378,8 @@ static int __init xen_guest_init(void) | |||
| 380 | return -ENOMEM; | 378 | return -ENOMEM; |
| 381 | 379 | ||
| 382 | /* Direct vCPU id mapping for ARM guests. */ | 380 | /* Direct vCPU id mapping for ARM guests. */ |
| 383 | per_cpu(xen_vcpu_id, 0) = 0; | 381 | for_each_possible_cpu(cpu) |
| 382 | per_cpu(xen_vcpu_id, cpu) = cpu; | ||
| 384 | 383 | ||
| 385 | xen_auto_xlat_grant_frames.count = gnttab_max_grant_frames(); | 384 | xen_auto_xlat_grant_frames.count = gnttab_max_grant_frames(); |
| 386 | if (xen_xlate_map_ballooned_pages(&xen_auto_xlat_grant_frames.pfn, | 385 | if (xen_xlate_map_ballooned_pages(&xen_auto_xlat_grant_frames.pfn, |
