aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kvm
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2014-05-05 06:33:10 -0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2014-05-05 06:57:12 -0400
commitf6869e7fe657bd977e72954cd78c5871a6a4f71d (patch)
tree1e34a4bb36cde4b541d7344599e65b541bb4bee7 /arch/powerpc/kvm
parent5a4e58bc693f04aa650219784e5e339e0db6b902 (diff)
parentcec4b7eaf09d330e94e8e94133d360e6f1855974 (diff)
Merge remote-tracking branch 'anton/abiv2' into next
This series adds support for building the powerpc 64-bit LE kernel using the new ABI v2. We already supported running ABI v2 userspace programs but this adds support for building the kernel itself using the new ABI.
Diffstat (limited to 'arch/powerpc/kvm')
-rw-r--r--arch/powerpc/kvm/book3s_hv_interrupts.S2
-rw-r--r--arch/powerpc/kvm/book3s_hv_rmhandlers.S34
2 files changed, 18 insertions, 18 deletions
diff --git a/arch/powerpc/kvm/book3s_hv_interrupts.S b/arch/powerpc/kvm/book3s_hv_interrupts.S
index e18e3cfc32de..8c86422a1e37 100644
--- a/arch/powerpc/kvm/book3s_hv_interrupts.S
+++ b/arch/powerpc/kvm/book3s_hv_interrupts.S
@@ -171,7 +171,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_ARCH_201)
171#endif /* CONFIG_SMP */ 171#endif /* CONFIG_SMP */
172 172
173 /* Jump to partition switch code */ 173 /* Jump to partition switch code */
174 bl .kvmppc_hv_entry_trampoline 174 bl kvmppc_hv_entry_trampoline
175 nop 175 nop
176 176
177/* 177/*
diff --git a/arch/powerpc/kvm/book3s_hv_rmhandlers.S b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
index b031f932c0cc..9f0ad718e476 100644
--- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S
+++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
@@ -1658,7 +1658,7 @@ kvmppc_hdsi:
1658 /* Search the hash table. */ 1658 /* Search the hash table. */
1659 mr r3, r9 /* vcpu pointer */ 1659 mr r3, r9 /* vcpu pointer */
1660 li r7, 1 /* data fault */ 1660 li r7, 1 /* data fault */
1661 bl .kvmppc_hpte_hv_fault 1661 bl kvmppc_hpte_hv_fault
1662 ld r9, HSTATE_KVM_VCPU(r13) 1662 ld r9, HSTATE_KVM_VCPU(r13)
1663 ld r10, VCPU_PC(r9) 1663 ld r10, VCPU_PC(r9)
1664 ld r11, VCPU_MSR(r9) 1664 ld r11, VCPU_MSR(r9)
@@ -1732,7 +1732,7 @@ kvmppc_hisi:
1732 mr r4, r10 1732 mr r4, r10
1733 mr r6, r11 1733 mr r6, r11
1734 li r7, 0 /* instruction fault */ 1734 li r7, 0 /* instruction fault */
1735 bl .kvmppc_hpte_hv_fault 1735 bl kvmppc_hpte_hv_fault
1736 ld r9, HSTATE_KVM_VCPU(r13) 1736 ld r9, HSTATE_KVM_VCPU(r13)
1737 ld r10, VCPU_PC(r9) 1737 ld r10, VCPU_PC(r9)
1738 ld r11, VCPU_MSR(r9) 1738 ld r11, VCPU_MSR(r9)
@@ -1806,16 +1806,16 @@ hcall_real_fallback:
1806 .globl hcall_real_table 1806 .globl hcall_real_table
1807hcall_real_table: 1807hcall_real_table:
1808 .long 0 /* 0 - unused */ 1808 .long 0 /* 0 - unused */
1809 .long .kvmppc_h_remove - hcall_real_table 1809 .long DOTSYM(kvmppc_h_remove) - hcall_real_table
1810 .long .kvmppc_h_enter - hcall_real_table 1810 .long DOTSYM(kvmppc_h_enter) - hcall_real_table
1811 .long .kvmppc_h_read - hcall_real_table 1811 .long DOTSYM(kvmppc_h_read) - hcall_real_table
1812 .long 0 /* 0x10 - H_CLEAR_MOD */ 1812 .long 0 /* 0x10 - H_CLEAR_MOD */
1813 .long 0 /* 0x14 - H_CLEAR_REF */ 1813 .long 0 /* 0x14 - H_CLEAR_REF */
1814 .long .kvmppc_h_protect - hcall_real_table 1814 .long DOTSYM(kvmppc_h_protect) - hcall_real_table
1815 .long .kvmppc_h_get_tce - hcall_real_table 1815 .long DOTSYM(kvmppc_h_get_tce) - hcall_real_table
1816 .long .kvmppc_h_put_tce - hcall_real_table 1816 .long DOTSYM(kvmppc_h_put_tce) - hcall_real_table
1817 .long 0 /* 0x24 - H_SET_SPRG0 */ 1817 .long 0 /* 0x24 - H_SET_SPRG0 */
1818 .long .kvmppc_h_set_dabr - hcall_real_table 1818 .long DOTSYM(kvmppc_h_set_dabr) - hcall_real_table
1819 .long 0 /* 0x2c */ 1819 .long 0 /* 0x2c */
1820 .long 0 /* 0x30 */ 1820 .long 0 /* 0x30 */
1821 .long 0 /* 0x34 */ 1821 .long 0 /* 0x34 */
@@ -1831,11 +1831,11 @@ hcall_real_table:
1831 .long 0 /* 0x5c */ 1831 .long 0 /* 0x5c */
1832 .long 0 /* 0x60 */ 1832 .long 0 /* 0x60 */
1833#ifdef CONFIG_KVM_XICS 1833#ifdef CONFIG_KVM_XICS
1834 .long .kvmppc_rm_h_eoi - hcall_real_table 1834 .long DOTSYM(kvmppc_rm_h_eoi) - hcall_real_table
1835 .long .kvmppc_rm_h_cppr - hcall_real_table 1835 .long DOTSYM(kvmppc_rm_h_cppr) - hcall_real_table
1836 .long .kvmppc_rm_h_ipi - hcall_real_table 1836 .long DOTSYM(kvmppc_rm_h_ipi) - hcall_real_table
1837 .long 0 /* 0x70 - H_IPOLL */ 1837 .long 0 /* 0x70 - H_IPOLL */
1838 .long .kvmppc_rm_h_xirr - hcall_real_table 1838 .long DOTSYM(kvmppc_rm_h_xirr) - hcall_real_table
1839#else 1839#else
1840 .long 0 /* 0x64 - H_EOI */ 1840 .long 0 /* 0x64 - H_EOI */
1841 .long 0 /* 0x68 - H_CPPR */ 1841 .long 0 /* 0x68 - H_CPPR */
@@ -1869,7 +1869,7 @@ hcall_real_table:
1869 .long 0 /* 0xd4 */ 1869 .long 0 /* 0xd4 */
1870 .long 0 /* 0xd8 */ 1870 .long 0 /* 0xd8 */
1871 .long 0 /* 0xdc */ 1871 .long 0 /* 0xdc */
1872 .long .kvmppc_h_cede - hcall_real_table 1872 .long DOTSYM(kvmppc_h_cede) - hcall_real_table
1873 .long 0 /* 0xe4 */ 1873 .long 0 /* 0xe4 */
1874 .long 0 /* 0xe8 */ 1874 .long 0 /* 0xe8 */
1875 .long 0 /* 0xec */ 1875 .long 0 /* 0xec */
@@ -1886,11 +1886,11 @@ hcall_real_table:
1886 .long 0 /* 0x118 */ 1886 .long 0 /* 0x118 */
1887 .long 0 /* 0x11c */ 1887 .long 0 /* 0x11c */
1888 .long 0 /* 0x120 */ 1888 .long 0 /* 0x120 */
1889 .long .kvmppc_h_bulk_remove - hcall_real_table 1889 .long DOTSYM(kvmppc_h_bulk_remove) - hcall_real_table
1890 .long 0 /* 0x128 */ 1890 .long 0 /* 0x128 */
1891 .long 0 /* 0x12c */ 1891 .long 0 /* 0x12c */
1892 .long 0 /* 0x130 */ 1892 .long 0 /* 0x130 */
1893 .long .kvmppc_h_set_xdabr - hcall_real_table 1893 .long DOTSYM(kvmppc_h_set_xdabr) - hcall_real_table
1894hcall_real_table_end: 1894hcall_real_table_end:
1895 1895
1896ignore_hdec: 1896ignore_hdec:
@@ -2115,7 +2115,7 @@ kvm_cede_exit:
2115 /* Try to handle a machine check in real mode */ 2115 /* Try to handle a machine check in real mode */
2116machine_check_realmode: 2116machine_check_realmode:
2117 mr r3, r9 /* get vcpu pointer */ 2117 mr r3, r9 /* get vcpu pointer */
2118 bl .kvmppc_realmode_machine_check 2118 bl kvmppc_realmode_machine_check
2119 nop 2119 nop
2120 cmpdi r3, 0 /* continue exiting from guest? */ 2120 cmpdi r3, 0 /* continue exiting from guest? */
2121 ld r9, HSTATE_KVM_VCPU(r13) 2121 ld r9, HSTATE_KVM_VCPU(r13)