Michael Kelley <mikelley@xxxxxxxxxxxxx> writes: >> > --- a/drivers/hv/vmbus_drv.c >> > +++ b/drivers/hv/vmbus_drv.c >> > @@ -53,9 +53,12 @@ static int hyperv_panic_event(struct notifier_block *nb, unsigned >> long val, >> > { >> > struct pt_regs *regs; >> > >> > - regs = current_pt_regs(); >> > + vmbus_initiate_unload(true); >> > >> > - hyperv_report_panic(regs, val); >> > + if (ms_hyperv.misc_features & HV_FEATURE_GUEST_CRASH_MSR_AVAILABLE) { >> >> With Michael's effors to make code in drivers/hv arch agnostic, I think >> we need a better, arch-neutral way. > > Vitaly -- could you elaborate on what part is not arch-neutral? I don't see > a problem. ms_hyperv and the misc_features field exist for both the x86 > and ARM64 code branches. It turns out the particular bit for > GUEST_CRASH_MSR_AVAILABLE is different on the two architectures, but > the compiler will do the right thing. > Ah, apologies, missed the fact that we also call it 'HV_FEATURE_GUEST_CRASH_MSR_AVAILABLE' - I have to admit I was confused by the 'MSR' part. We can probably rename this to something like HV_FEATURE_GUEST_CRASH_REGS_AVAILABLE - but not as part of the series. -- Vitaly