Re: next/master build: 206 builds: 2 failed, 204 passed, 9 errors, 10 warnings (next-20170420)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 20/04/17 10:23, Arnd Bergmann wrote:
> On Thu, Apr 20, 2017 at 9:56 AM, kernelci.org bot <bot@xxxxxxxxxxxx> wrote:

[...]

>> multi_v7_defconfig+CONFIG_THUMB2_KERNEL=y+CONFIG_ARM_MODULE_PLTS=y (arm) —
>> FAIL, 1 error, 0 warnings, 0 section mismatches
>>
>> Errors:
>> arch/arm/kernel/hyp-stub.S:128: Error: invalid immediate for address
>> calculation (value = 0x00000004)
> 
> I have not seen this one so far, need to investigate more. A quick look points
> to this line
> 
>         adr     r7, __hyp_stub_vectors
> 
> and the symbol it refers to was recently changed in
> 
> commit bc845e4fbbbbe97bab3f1bcf688be0b5da420717
> Author: Marc Zyngier <marc.zyngier@xxxxxxx>
> Date:   Mon Apr 3 19:37:53 2017 +0100
> 
>     ARM: KVM: Implement HVC_RESET_VECTORS stub hypercall in the init code
> 
>     In order to restore HYP mode to its original condition, KVM currently
>     implements __kvm_hyp_reset(). As we're moving towards a hyp-stub
>     defined API, it becomes necessary to implement HVC_RESET_VECTORS.
> 
>     This patch adds the HVC_RESET_VECTORS hypercall to the KVM init
>     code, which so far lacked any form of hypercall support.
> 
>     Tested-by: Keerthy <j-keerthy@xxxxxx>
>     Acked-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxx>
>     Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx>
>     Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
>     Signed-off-by: Christoffer Dall <cdall@xxxxxxxxxx>
> 
> diff --git a/arch/arm/kernel/hyp-stub.S b/arch/arm/kernel/hyp-stub.S
> index e637854335aa..675c50f5cb5c 100644
> --- a/arch/arm/kernel/hyp-stub.S
> +++ b/arch/arm/kernel/hyp-stub.S
> @@ -280,7 +280,7 @@ ENDPROC(__hyp_reset_vectors)
>  #endif
> 
>  .align 5
> -__hyp_stub_vectors:
> +ENTRY(__hyp_stub_vectors)
>  __hyp_stub_reset:      W(b)    .
>  __hyp_stub_und:                W(b)    .
>  __hyp_stub_svc:                W(b)    .
> 
> but I don't see why that would cause the build error.

Ah, my bad. With Thumb-2, ADR defaults to being the short (16 bit) form,
which cannot encode the displacement (and __hyp_stub_vectors now being
exported, it probably lives further away than it used to). We need the
32 bit version.

The fix is to write the faulting line as:

	W(adr)	r7, __hyp_stub_vectors

I'll post a proper patch in a minute.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...




[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux