RE: [PATCH 0/4] x86/Hyper-V: Unload vmbus channel in hv panic callback

From: Vitaly Kuznetsov
Date: Thu Mar 19 2020 - 04:04:06 EST


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