diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-13 18:31:08 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-13 18:31:08 -0500 |
commit | 66cdd0ceaf65a18996f561b770eedde1d123b019 (patch) | |
tree | 4892eaa422d366fce5d1e866ff1fe0988af95569 /arch/powerpc/sysdev | |
parent | 896ea17d3da5f44b2625c9cda9874d7dfe447393 (diff) | |
parent | 58b7825bc324da55415034a9f6ca5d716b8fd898 (diff) |
Merge tag 'kvm-3.8-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Pull KVM updates from Marcelo Tosatti:
"Considerable KVM/PPC work, x86 kvmclock vsyscall support,
IA32_TSC_ADJUST MSR emulation, amongst others."
Fix up trivial conflict in kernel/sched/core.c due to cross-cpu
migration notifier added next to rq migration call-back.
* tag 'kvm-3.8-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (156 commits)
KVM: emulator: fix real mode segment checks in address linearization
VMX: remove unneeded enable_unrestricted_guest check
KVM: VMX: fix DPL during entry to protected mode
x86/kexec: crash_vmclear_local_vmcss needs __rcu
kvm: Fix irqfd resampler list walk
KVM: VMX: provide the vmclear function and a bitmap to support VMCLEAR in kdump
x86/kexec: VMCLEAR VMCSs loaded on all cpus if necessary
KVM: MMU: optimize for set_spte
KVM: PPC: booke: Get/set guest EPCR register using ONE_REG interface
KVM: PPC: bookehv: Add EPCR support in mtspr/mfspr emulation
KVM: PPC: bookehv: Add guest computation mode for irq delivery
KVM: PPC: Make EPCR a valid field for booke64 and bookehv
KVM: PPC: booke: Extend MAS2 EPN mask for 64-bit
KVM: PPC: e500: Mask MAS2 EPN high 32-bits in 32/64 tlbwe emulation
KVM: PPC: Mask ea's high 32-bits in 32/64 instr emulation
KVM: PPC: e500: Add emulation helper for getting instruction ea
KVM: PPC: bookehv64: Add support for interrupt handling
KVM: PPC: bookehv: Remove GET_VCPU macro from exception handler
KVM: PPC: booke: Fix get_tb() compile error on 64-bit
KVM: PPC: e500: Silence bogus GCC warning in tlb code
...
Diffstat (limited to 'arch/powerpc/sysdev')
-rw-r--r-- | arch/powerpc/sysdev/fsl_msi.c | 9 | ||||
-rw-r--r-- | arch/powerpc/sysdev/fsl_soc.c | 2 |
2 files changed, 9 insertions, 2 deletions
diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c index 51ffafae561e..63c5f04ea580 100644 --- a/arch/powerpc/sysdev/fsl_msi.c +++ b/arch/powerpc/sysdev/fsl_msi.c | |||
@@ -236,7 +236,6 @@ static void fsl_msi_cascade(unsigned int irq, struct irq_desc *desc) | |||
236 | u32 intr_index; | 236 | u32 intr_index; |
237 | u32 have_shift = 0; | 237 | u32 have_shift = 0; |
238 | struct fsl_msi_cascade_data *cascade_data; | 238 | struct fsl_msi_cascade_data *cascade_data; |
239 | unsigned int ret; | ||
240 | 239 | ||
241 | cascade_data = irq_get_handler_data(irq); | 240 | cascade_data = irq_get_handler_data(irq); |
242 | msi_data = cascade_data->msi_data; | 241 | msi_data = cascade_data->msi_data; |
@@ -268,7 +267,9 @@ static void fsl_msi_cascade(unsigned int irq, struct irq_desc *desc) | |||
268 | case FSL_PIC_IP_IPIC: | 267 | case FSL_PIC_IP_IPIC: |
269 | msir_value = fsl_msi_read(msi_data->msi_regs, msir_index * 0x4); | 268 | msir_value = fsl_msi_read(msi_data->msi_regs, msir_index * 0x4); |
270 | break; | 269 | break; |
271 | case FSL_PIC_IP_VMPIC: | 270 | #ifdef CONFIG_EPAPR_PARAVIRT |
271 | case FSL_PIC_IP_VMPIC: { | ||
272 | unsigned int ret; | ||
272 | ret = fh_vmpic_get_msir(virq_to_hw(irq), &msir_value); | 273 | ret = fh_vmpic_get_msir(virq_to_hw(irq), &msir_value); |
273 | if (ret) { | 274 | if (ret) { |
274 | pr_err("fsl-msi: fh_vmpic_get_msir() failed for " | 275 | pr_err("fsl-msi: fh_vmpic_get_msir() failed for " |
@@ -277,6 +278,8 @@ static void fsl_msi_cascade(unsigned int irq, struct irq_desc *desc) | |||
277 | } | 278 | } |
278 | break; | 279 | break; |
279 | } | 280 | } |
281 | #endif | ||
282 | } | ||
280 | 283 | ||
281 | while (msir_value) { | 284 | while (msir_value) { |
282 | intr_index = ffs(msir_value) - 1; | 285 | intr_index = ffs(msir_value) - 1; |
@@ -508,10 +511,12 @@ static const struct of_device_id fsl_of_msi_ids[] = { | |||
508 | .compatible = "fsl,ipic-msi", | 511 | .compatible = "fsl,ipic-msi", |
509 | .data = &ipic_msi_feature, | 512 | .data = &ipic_msi_feature, |
510 | }, | 513 | }, |
514 | #ifdef CONFIG_EPAPR_PARAVIRT | ||
511 | { | 515 | { |
512 | .compatible = "fsl,vmpic-msi", | 516 | .compatible = "fsl,vmpic-msi", |
513 | .data = &vmpic_msi_feature, | 517 | .data = &vmpic_msi_feature, |
514 | }, | 518 | }, |
519 | #endif | ||
515 | {} | 520 | {} |
516 | }; | 521 | }; |
517 | 522 | ||
diff --git a/arch/powerpc/sysdev/fsl_soc.c b/arch/powerpc/sysdev/fsl_soc.c index c449dbd1c938..97118dc3d285 100644 --- a/arch/powerpc/sysdev/fsl_soc.c +++ b/arch/powerpc/sysdev/fsl_soc.c | |||
@@ -253,6 +253,7 @@ struct platform_diu_data_ops diu_ops; | |||
253 | EXPORT_SYMBOL(diu_ops); | 253 | EXPORT_SYMBOL(diu_ops); |
254 | #endif | 254 | #endif |
255 | 255 | ||
256 | #ifdef CONFIG_EPAPR_PARAVIRT | ||
256 | /* | 257 | /* |
257 | * Restart the current partition | 258 | * Restart the current partition |
258 | * | 259 | * |
@@ -278,3 +279,4 @@ void fsl_hv_halt(void) | |||
278 | pr_info("hv exit\n"); | 279 | pr_info("hv exit\n"); |
279 | fh_partition_stop(-1); | 280 | fh_partition_stop(-1); |
280 | } | 281 | } |
282 | #endif | ||