• Michael Roth's avatar
    kvm: selftests: move base kvm_util.h declarations to kvm_util_base.h · 7d9a662e
    Michael Roth authored
    Between helper macros and interfaces that will be introduced in
    subsequent patches, much of kvm_util.h would end up being declarations
    specific to ucall. Ideally these could be separated out into a separate
    header since they are not strictly required for writing guest tests and
    are mostly self-contained interfaces other than a reliance on a few
    core declarations like struct kvm_vm. This doesn't make a big
    difference as far as how tests will be compiled/written since all these
    interfaces will still be packaged up into a single/common libkvm.a used
    by all tests, but it is still nice to be able to compartmentalize to
    improve readabilty and reduce merge conflicts in the future for common
    tasks like adding new interfaces to kvm_util.h.
    
    Furthermore, some of the ucall declarations will be arch-specific,
    requiring various #ifdef'ery in kvm_util.h. Ideally these declarations
    could live in separate arch-specific headers, e.g.
    include/<arch>/ucall.h, which would handle arch-specific declarations
    as well as pulling in common ucall-related declarations shared by all
    archs.
    
    One simple way to do this would be to #include ucall.h at the bottom of
    kvm_util.h, after declarations it relies upon like struct kvm_vm.
    This is brittle however, and doesn't scale easily to other sets of
    interfaces that may be added in the future.
    
    Instead, move all declarations currently in kvm_util.h into
    kvm_util_base.h, then have kvm_util.h #include it. With this change,
    non-base declarations can be selectively moved/introduced into separate
    headers, which can then be included in kvm_util.h so that individual
    tests don't need to be touched. Subsequent patches will then move
    ucall-related declarations into a separate header to meet the above
    goals.
    Signed-off-by: default avatarMichael Roth <michael.roth@amd.com>
    Message-Id: <20211210164620.11636-2-michael.roth@amd.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    7d9a662e
kvm_util_base.h 14.6 KB