From: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Sent: Thursday, March 19, 2020 1:04 AM > > 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. > Good point. Agreed. Michael