On 12/03/2020, Michael Kelley wrote:
From: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Sent: Thursday, March 12, 2020 6:51 AM
Michael Kelley <mikelley@xxxxxxxxxxxxx> writes:
> I'm flexible, and trying to not be a pain-in-the-neck. :-) What would
> the KVM guys think about putting the definitions in a KVM specific
> #include file, and clearly marking them as deprecated, mostly
> undocumented, and used only to support debugging old Windows
> versions?
I *think* we should do the following: defines which *are* present in
TLFS doc (e.g. HV_FEATURE_DEBUG_MSRS_AVAILABLE,
HV_STATUS_OPERATION_DENIED, ...) go to asm/hyperv-tlfs.h, the rest
(syndbg) stuff goes to kvm-specific include (I'd suggest we just use
hyperv.h we already have).
What do you think?
I could live with this proposal, since they *are* in the TLFS v6.0 as it
exists today. However, v6.0 seems inconsistent in what parts of this
debugging functionality it exposes, probably just because someone
hasn't thought comprehensively about the topic across the whole
document. I'll make sure that it gets looked at in the next revision
(which should be a lot sooner that the 2+ years it took to get the v6.0
revision done). But I won't be surprised if the remaining vestiges are
removed at that time, in which case we would want to move the
definitions from hyperv-tlfs.h to KVM's hyper.h.
Michael
Hi guys, just a quick note I went over the old HyperV TLFS and it seems
like all the Syndbg MSRs are documented (under Appendix F: Hypervisor
Synthetic MSRs, from v5.0b).
It seems like the undocumented stuff is HV_X64_MSR_SYNDBG_OPTIONS which
seems kinda odd because that's how you enable the hypercalls debugging
interface which is documented.
And the syndbg CPUID leafs are not documented as well.
So would you like me to put all the MSRs in the tlfs omitting the
HV_X64_MSR_SYNDBG_OPTIONS.
So in hyperv.h we will have HV_X64_MSR_SYNDBG_OPTIONS and the CPUID
leafs.
Thanks in advance,
-- Jon.