Messages in this thread Patch in this message | | | Date | Thu, 25 Apr 2013 19:51:07 +0800 | From | Chen Gang <> | Subject | [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area |
| |
When CONFIG_KVM_BOOK3S_64_PR is enabled, MASKABLE_EXCEPTION_PSERIES(0x900 ...) will includes __KVMTEST, it will exceed 0x980 which STD_EXCEPTION_HV(0x980 ...) will use, it will cause compiling issue.
The related errors: arch/powerpc/kernel/exceptions-64s.S: Assembler messages: arch/powerpc/kernel/exceptions-64s.S:258: Error: attempt to move .org backwards make[1]: *** [arch/powerpc/kernel/head_64.o] Error 1
The position 0x900 and 0x980 are solid, so can not move the position to make room larger. The final solution is to jump to another area to execute the related code.
Signed-off-by: Chen Gang <gang.chen@asianux.com> --- arch/powerpc/kernel/exceptions-64s.S | 12 +++++++++++- 1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S index e789ee7..8997de2 100644 --- a/arch/powerpc/kernel/exceptions-64s.S +++ b/arch/powerpc/kernel/exceptions-64s.S @@ -254,7 +254,11 @@ hardware_interrupt_hv: STD_EXCEPTION_PSERIES(0x800, 0x800, fp_unavailable) KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x800) - MASKABLE_EXCEPTION_PSERIES(0x900, 0x900, decrementer) + . = 0x900 + .globl decrementer_pSeries +decrementer_pSeries: + b decrementer_pSeries_0 + STD_EXCEPTION_HV(0x980, 0x982, hdecrementer) MASKABLE_EXCEPTION_PSERIES(0xa00, 0xa00, doorbell_super) @@ -536,6 +540,12 @@ ALT_FTR_SECTION_END_IFCLR(CPU_FTR_ARCH_206) #endif .align 7 + /* moved from 0x900 */ +decrementer_pSeries_0: + _MASKABLE_EXCEPTION_PSERIES(0x900, decrementer, + EXC_STD, SOFTEN_TEST_PR) + + .align 7 /* moved from 0xe00 */ STD_EXCEPTION_HV_OOL(0xe02, h_data_storage) KVM_HANDLER_SKIP(PACA_EXGEN, EXC_HV, 0xe02) -- 1.7.7.6
| |