Messages in this thread Patch in this message | | | Date | Mon, 7 Nov 2022 18:08:45 +0000 | Subject | Re: [v2 2/6] KVM: arm64: Add SMCCC paravirtualised lock calls | From | Usama Arif <> |
| |
On 07/11/2022 17:58, Punit Agrawal wrote: > Usama Arif <usama.arif@bytedance.com> writes: > >> Add a new SMCCC compatible hypercalls for PV lock features: >> ARM_SMCCC_KVM_FUNC_PV_LOCK: 0xC6000002 >> >> Also add the header file which defines the ABI for the paravirtualized >> lock features we're about to add. >> >> Signed-off-by: Zengruan Ye <yezengruan@huawei.com> >> Signed-off-by: Usama Arif <usama.arif@bytedance.com> >> --- >> arch/arm64/include/asm/pvlock-abi.h | 17 +++++++++++++++++ >> include/linux/arm-smccc.h | 8 ++++++++ >> tools/include/linux/arm-smccc.h | 8 ++++++++ >> 3 files changed, 33 insertions(+) >> create mode 100644 arch/arm64/include/asm/pvlock-abi.h >> >> diff --git a/arch/arm64/include/asm/pvlock-abi.h b/arch/arm64/include/asm/pvlock-abi.h >> new file mode 100644 >> index 000000000000..3f4574071679 >> --- /dev/null >> +++ b/arch/arm64/include/asm/pvlock-abi.h >> @@ -0,0 +1,17 @@ >> +/* SPDX-License-Identifier: GPL-2.0 */ >> +/* >> + * Copyright(c) 2019 Huawei Technologies Co., Ltd >> + * Author: Zengruan Ye <yezengruan@huawei.com> >> + * Usama Arif <usama.arif@bytedance.com> >> + */ >> + >> +#ifndef __ASM_PVLOCK_ABI_H >> +#define __ASM_PVLOCK_ABI_H >> + >> +struct pvlock_vcpu_state { >> + __le64 preempted; >> + /* Structure must be 64 byte aligned, pad to that size */ >> + u8 padding[56]; >> +} __packed; > > For structure alignment, I'd have expected to see the use of "aligned" > attribute. Is there any benefit in using padding to achieve alignment? > Just made it consistent with pvclock-abi.h. If its more appropriate, can change to aligned in next patchset:
diff --git a/arch/arm64/include/asm/pvlock-abi.h b/arch/arm64/include/asm/pvlock-abi.h index 3f4574071679..bacec4cb927a 100644 --- a/arch/arm64/include/asm/pvlock-abi.h +++ b/arch/arm64/include/asm/pvlock-abi.h @@ -11,7 +11,6 @@ struct pvlock_vcpu_state { __le64 preempted; /* Structure must be 64 byte aligned, pad to that size */ - u8 padding[56]; -} __packed; +} __attribute__((aligned(64)));
> [...]
| |