On Sun, Feb 28, 2021 at 05:15:22PM -0800, Michael Kelley wrote: > To support Linux guests on Hyper-V on multiple architectures, the original > approach factored out all differences between Hyper-V on x86/x64 and > Hyper-V on ARM64 into functions or #defines under arch/x86 and > arch/arm64. Some of these differences are truly related to the > architecture, but others are more properly treated as Linux OS > differences or just quirks in Hyper-V. Feedback from Arnd Bergmann[1] > recommended that differences other than architecture should be > incorporated into the architecture independent Hyper-V code. Each > difference can be handled with conditions specific to the difference > instead of tying it to the broader x86/x64 vs. ARM64. This approach > reduces the amount of code under arch/x86 and arch/arm64 and keeps > the non-architectural differences localized and more easily understood. > > This patch set implements the new approach by changing the interface > between the architecture independent code and the architecture dependent > code for x86/x64. The patches move code from arch/x86 to the > architecture independent Hyper-V code whenever possible, and add > architecture independent support needed by other architectures like > ARM64. No functionality is changed for x86/x64. A subsequent patch > set will provide the Hyper-V support code under arch/arm64. > > This patch set results in an increase in lines of code (though some > of the increase is additional comments). But the lines needed under > arch/arm64 in the upcoming patch set is significantly reduced, resulting > in a net decrease of about 125 lines. > > [1] https://lore.kernel.org/lkml/CAK8P3a1hDBVembCd+6=ENUWYFz=72JBTFMrKYZ2aFd+_Q04F+g@xxxxxxxxxxxxxx/ This series looks good to me. Given this series touches mostly Hyper-V code. I will be taking this it via hyperv-next once the last two patches are reviewed. Wei.