[PATCH 1/2] arch/powerpc/kvm: kvmppc_hv_entry: remove .global scope

Sathvika Vasireddy sv at linux.ibm.com
Mon Feb 20 19:01:40 AEDT 2023


On 20/02/23 12:58, Kautuk Consul wrote:
> Hi Sathvika,
>
> (Sorry didn't include list in earlier email.)
>
> On Mon, Feb 20, 2023 at 12:35:09PM +0530, Sathvika Vasireddy wrote:
>> Hi Kautuk,
>>
>> On 20/02/23 10:53, Kautuk Consul wrote:
>>> kvmppc_hv_entry isn't called from anywhere other than
>>> book3s_hv_rmhandlers.S itself. Removing .global scope for
>>> this function.
>>>
>>> Signed-off-by: Kautuk Consul <kconsul at linux.vnet.ibm.com>
>>> ---
>>>    arch/powerpc/kvm/book3s_hv_rmhandlers.S | 1 -
>>>    1 file changed, 1 deletion(-)
>>>
>>> diff --git a/arch/powerpc/kvm/book3s_hv_rmhandlers.S b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
>>> index acf80915f406..7e063fde7adc 100644
>>> --- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S
>>> +++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
>>> @@ -502,7 +502,6 @@ END_FTR_SECTION_IFSET(CPU_FTR_ARCH_207S)
>>>     *                                                                            *
>>>     *****************************************************************************/
>>> -.global kvmppc_hv_entry
>>>    kvmppc_hv_entry:
>>>    	/* Required state:
>> I see the following objtool warning with this patch applied.
>> arch/powerpc/kvm/book3s_hv_rmhandlers.o: warning: objtool: .text+0x48:
>> unannotated intra-function call
>>
>> Annotating kvmppc_hv_entry symbol with SYM_FUNC_START_LOCAL and SYM_FUNC_END
>> macros should help fix this warning.
> Not sure where to put the SYM_FUNC_END annotation.
> Will the following do:
> <snip>
>      ld  r0, VCPU_GPR(R0)(r4)
>      ld  r2, VCPU_GPR(R2)(r4)
>      ld  r3, VCPU_GPR(R3)(r4)
>      ld  r4, VCPU_GPR(R4)(r4)
>      HRFI_TO_GUEST
>      b   .
>
> SYM_FUNC_END(kvmppc_hv_entry)
>
> secondary_too_late:
>      li  r12, 0
>
> ?
>
> Thanks.

Placing SYM_FUNC_END(kvmppc_hv_entry) before kvmppc_got_guest() should do:

@@ -502,12 +500,10 @@ END_FTR_SECTION_IFSET(CPU_FTR_ARCH_207S)
* *
*****************************************************************************/

-.global kvmppc_hv_entry
-kvmppc_hv_entry:
+SYM_FUNC_START_LOCAL(kvmppc_hv_entry)

         /* Required state:
          *
-        * R4 = vcpu pointer (or NULL)
          * MSR = ~IR|DR
          * R13 = PACA
          * R1 = host R1
@@ -525,6 +521,8 @@ kvmppc_hv_entry:
         li      r6, KVM_GUEST_MODE_HOST_HV
         stb     r6, HSTATE_IN_GUEST(r13)

+       ld      r4, HSTATE_KVM_VCPU(r13)
+
  #ifdef CONFIG_KVM_BOOK3S_HV_P8_TIMING
         /* Store initial timestamp */
         cmpdi   r4, 0
@@ -619,6 +617,8 @@ END_FTR_SECTION_IFSET(CPU_FTR_ARCH_207S)
         /* Do we have a guest vcpu to run? */
  10:    cmpdi   r4, 0
         beq     kvmppc_primary_no_guest
+SYM_FUNC_END(kvmppc_hv_entry)
+
  kvmppc_got_guest:
         /* Increment yield count if they have a VPA */
         ld      r3, VCPU_VPA(r4)


Thanks,
Sathvika


More information about the Linuxppc-dev mailing list