-
Notifications
You must be signed in to change notification settings - Fork 116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update to 10.0.26100.1 SDK #1930
Comments
@mikebattista Did you want a hand with this one or is this a placeholder for your PR? |
If you could take a look, that would be great. Here are the steps to follow to get to where I left off:
You'll run into unresolved reference errors in the Hypervisor APIs. It looks like the referenced types are getting scraped during the arm64 and x64 passes which is expected given how the headers changed. The errors are reported in the Hypervisor.modified files which are generated by the crossarch part of the build. |
@mikebattista Hm, think there's something going on with the crossarch tree merging and maybe some bad assumptions about enumerations always existing in x86. Just my early thinking so far. |
@mikebattista WIP if you want to take a peek: #1934 Some changes:
Am investigating some enum test failures now. |
Based on your changes, looks like you were exactly right about this. Looking good. |
@mikebattista Current blocker is that the Hyper-V platform reuses enum names across architectures, such as: #if defined(_AMD64_)
typedef enum WHV_RUN_VP_EXIT_REASON
{
WHvRunVpExitReasonNone = 0x00000000,
WHvRunVpExitReasonMemoryAccess = 0x00000001,
// ...
}
#elif defined(_ARM64_)
typedef enum WHV_RUN_VP_EXIT_REASON
{
WHvRunVpExitReasonNone = 0x00000000,
WHvRunVpExitReasonUnmappedGpa = 0x80000000,
// ...
} If we create architecture-specific types (e.g. But then we'll run into the same problem with structures such as: typedef union WHV_CAPABILITY_FEATURES
{
struct
{
UINT64 PartialUnmap : 1;
#if defined(_AMD64_)
UINT64 LocalApicEmulation : 1;
UINT64 Xsave : 1;
#else
UINT64 ReservedArm0 : 2;
#endif
UINT64 DirtyPageTracking : 1;
UINT64 SpeculationControl : 1;
#if defined(_AMD64_)
UINT64 ApicRemoteRead : 1;
#else
UINT64 ReservedArm1 : 1;
#endif
UINT64 IdleSuspend : 1;
UINT64 VirtualPciDeviceSupport : 1;
UINT64 IommuSupport : 1;
UINT64 VpHotAddRemove : 1;
UINT64 Reserved : 54;
};
UINT64 AsUINT64;
} WHV_CAPABILITY_FEATURES; I believe a similar architecture-specific references change is needed to fix |
Related to microsoft/wdkmetadata#23 as well. |
So that we don't block on the SDK update, we could hold back the Hypervisor headers to the previous version until we have a proper fix for this. |
Can explore that, but I'll be out until October. Just heads up. |
I'll take a look. |
Originally posted by @mikebattista in #1928 (comment)
The text was updated successfully, but these errors were encountered: