Messages in this thread | | | From | Nick Desaulniers <> | Date | Tue, 14 Jul 2020 13:15:08 -0700 | Subject | Re: [PATCH v3] x86/entry: Fix vectors to IDTENTRY_SYSVEC for CONFIG_HYPERV |
| |
On Tue, Jul 14, 2020 at 12:48 PM Sedat Dilek <sedat.dilek@gmail.com> wrote: > > When assembling with Clang via `make LLVM_IAS=1` and CONFIG_HYPERV enabled, > we observe the following error: > > <instantiation>:9:6: error: expected absolute expression > .if HYPERVISOR_REENLIGHTENMENT_VECTOR == 3 > ^ > <instantiation>:1:1: note: while in macro instantiation > idtentry HYPERVISOR_REENLIGHTENMENT_VECTOR asm_sysvec_hyperv_reenlightenment sysvec_hyperv_reenlightenment has_error_code=0 > ^ > ./arch/x86/include/asm/idtentry.h:627:1: note: while in macro instantiation > idtentry_sysvec HYPERVISOR_REENLIGHTENMENT_VECTOR sysvec_hyperv_reenlightenment; > ^ > <instantiation>:9:6: error: expected absolute expression > .if HYPERVISOR_STIMER0_VECTOR == 3 > ^ > <instantiation>:1:1: note: while in macro instantiation > idtentry HYPERVISOR_STIMER0_VECTOR asm_sysvec_hyperv_stimer0 sysvec_hyperv_stimer0 has_error_code=0 > ^ > ./arch/x86/include/asm/idtentry.h:628:1: note: while in macro instantiation > idtentry_sysvec HYPERVISOR_STIMER0_VECTOR sysvec_hyperv_stimer0; > > This is caused by typos in arch/x86/include/asm/idtentry.h: > > HYPERVISOR_REENLIGHTENMENT_VECTOR -> HYPERV_REENLIGHTENMENT_VECTOR > HYPERVISOR_STIMER0_VECTOR -> HYPERV_STIMER0_VECTOR > > For more details see ClangBuiltLinux issue #1088. > > Cc: Jian Cai <caij2003@gmail.com> > Fixes: a16be368dd3f ("x86/entry: Convert various hypervisor vectors to IDTENTRY_SYSVEC") > Link: https://github.com/ClangBuiltLinux/linux/issues/1088 > Reviewed-by: Nathan Chancellor <natechancellor@gmail.com> > Reviewed-by: Wei Liu <wei.liu@kernel.org> > Suggested-by: Nick Desaulniers <ndesaulniers@google.com> > Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
LGTM, thanks Sedat.
> --- > Personal note: > I also needed Jian's patch to completely build with LLVM_IAS=1" but > I don't think that should be in the message that gets committed per > se. Without Jian's patch we did NOT catch this one! > Link: https://github.com/ClangBuiltLinux/linux/issues/1043 > Link: https://lore.kernel.org/patchwork/patch/1272115/ > > Changes v2->v3: > - Fold in comments suggested by Nick > - Add Nick's Suggested-by > - Drop unneeded tags and order the rest alphabetically > - Move comments and links to Jian's patch to a personal note > > Changes v1->v2: > - Add Wei Liu's Reviewed-by > - Add note to clarify my patch is independent from Jian's patch > - Add link to latest version of Jian's patch > > arch/x86/include/asm/idtentry.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/include/asm/idtentry.h b/arch/x86/include/asm/idtentry.h > index eeac6dc2adaa..d79541bfc36f 100644 > --- a/arch/x86/include/asm/idtentry.h > +++ b/arch/x86/include/asm/idtentry.h > @@ -626,8 +626,8 @@ DECLARE_IDTENTRY_SYSVEC(POSTED_INTR_NESTED_VECTOR, sysvec_kvm_posted_intr_nested > > #if IS_ENABLED(CONFIG_HYPERV) > DECLARE_IDTENTRY_SYSVEC(HYPERVISOR_CALLBACK_VECTOR, sysvec_hyperv_callback); > -DECLARE_IDTENTRY_SYSVEC(HYPERVISOR_REENLIGHTENMENT_VECTOR, sysvec_hyperv_reenlightenment); > -DECLARE_IDTENTRY_SYSVEC(HYPERVISOR_STIMER0_VECTOR, sysvec_hyperv_stimer0); > +DECLARE_IDTENTRY_SYSVEC(HYPERV_REENLIGHTENMENT_VECTOR, sysvec_hyperv_reenlightenment); > +DECLARE_IDTENTRY_SYSVEC(HYPERV_STIMER0_VECTOR, sysvec_hyperv_stimer0); > #endif > > #if IS_ENABLED(CONFIG_ACRN_GUEST) > -- > 2.28.0.rc0 >
-- Thanks, ~Nick Desaulniers
| |