Message ID | 20201203234857.21051-9-agraf@csgraf.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | hvf: Implement Apple Silicon Support | expand |
Alexander Graf <agraf@csgraf.de> writes: > Now that we have all logic in place that we need to handle Hypervisor.framework > on Apple Silicon systems, let's add CONFIG_HVF for aarch64 as well so that we > can build it. > > Signed-off-by: Alexander Graf <agraf@csgraf.de> > > --- > > v1 -> v2: > > - Fix build on 32bit arm > > v3 -> v4: > > - Remove i386-softmmu target > --- > meson.build | 11 ++++++++++- > target/arm/hvf/meson.build | 3 +++ > target/arm/meson.build | 2 ++ > 3 files changed, 15 insertions(+), 1 deletion(-) > create mode 100644 target/arm/hvf/meson.build > > diff --git a/meson.build b/meson.build > index 86d433c8a4..a2323e8d23 100644 > --- a/meson.build > +++ b/meson.build > @@ -74,16 +74,25 @@ else > endif > > accelerator_targets = { 'CONFIG_KVM': kvm_targets } > + > +if cpu in ['x86', 'x86_64'] > + hvf_targets = ['x86_64-softmmu'] > +elif cpu in ['aarch64'] > + hvf_targets = ['aarch64-softmmu'] > +else > + hvf_targets = [] > +endif > + > if cpu in ['x86', 'x86_64', 'arm', 'aarch64'] > # i368 emulator provides xenpv machine type for multiple architectures > accelerator_targets += { > 'CONFIG_XEN': ['i386-softmmu', 'x86_64-softmmu'], > + 'CONFIG_HVF': hvf_targets, I can see this logic continuing to get messier as I just hit a merge conflict with my Xen on qemu-system-aarch64 patches. Not sure if there is a cleaner approach though. > } > endif > if cpu in ['x86', 'x86_64'] > accelerator_targets += { > 'CONFIG_HAX': ['i386-softmmu', 'x86_64-softmmu'], > - 'CONFIG_HVF': ['x86_64-softmmu'], > 'CONFIG_WHPX': ['i386-softmmu', 'x86_64-softmmu'], > } > endif > diff --git a/target/arm/hvf/meson.build b/target/arm/hvf/meson.build > new file mode 100644 > index 0000000000..855e6cce5a > --- /dev/null > +++ b/target/arm/hvf/meson.build > @@ -0,0 +1,3 @@ > +arm_softmmu_ss.add(when: [hvf, 'CONFIG_HVF'], if_true: files( > + 'hvf.c', > +)) > diff --git a/target/arm/meson.build b/target/arm/meson.build > index f5de2a77b8..95bebae216 100644 > --- a/target/arm/meson.build > +++ b/target/arm/meson.build > @@ -56,5 +56,7 @@ arm_softmmu_ss.add(files( > 'psci.c', > )) > > +subdir('hvf') > + > target_arch += {'arm': arm_ss} > target_softmmu_arch += {'arm': arm_softmmu_ss}
On Fri, Dec 04, 2020 at 12:48:54AM +0100, Alexander Graf wrote: > Now that we have all logic in place that we need to handle Hypervisor.framework > on Apple Silicon systems, let's add CONFIG_HVF for aarch64 as well so that we > can build it. > Reviewed-by: Roman Bolshakov <r.bolshakov@yadro.com> on x86: Tested-by: Roman Bolshakov <r.bolshakov@yadro.com> Thanks, Roman
diff --git a/meson.build b/meson.build index 86d433c8a4..a2323e8d23 100644 --- a/meson.build +++ b/meson.build @@ -74,16 +74,25 @@ else endif accelerator_targets = { 'CONFIG_KVM': kvm_targets } + +if cpu in ['x86', 'x86_64'] + hvf_targets = ['x86_64-softmmu'] +elif cpu in ['aarch64'] + hvf_targets = ['aarch64-softmmu'] +else + hvf_targets = [] +endif + if cpu in ['x86', 'x86_64', 'arm', 'aarch64'] # i368 emulator provides xenpv machine type for multiple architectures accelerator_targets += { 'CONFIG_XEN': ['i386-softmmu', 'x86_64-softmmu'], + 'CONFIG_HVF': hvf_targets, } endif if cpu in ['x86', 'x86_64'] accelerator_targets += { 'CONFIG_HAX': ['i386-softmmu', 'x86_64-softmmu'], - 'CONFIG_HVF': ['x86_64-softmmu'], 'CONFIG_WHPX': ['i386-softmmu', 'x86_64-softmmu'], } endif diff --git a/target/arm/hvf/meson.build b/target/arm/hvf/meson.build new file mode 100644 index 0000000000..855e6cce5a --- /dev/null +++ b/target/arm/hvf/meson.build @@ -0,0 +1,3 @@ +arm_softmmu_ss.add(when: [hvf, 'CONFIG_HVF'], if_true: files( + 'hvf.c', +)) diff --git a/target/arm/meson.build b/target/arm/meson.build index f5de2a77b8..95bebae216 100644 --- a/target/arm/meson.build +++ b/target/arm/meson.build @@ -56,5 +56,7 @@ arm_softmmu_ss.add(files( 'psci.c', )) +subdir('hvf') + target_arch += {'arm': arm_ss} target_softmmu_arch += {'arm': arm_softmmu_ss}
Now that we have all logic in place that we need to handle Hypervisor.framework on Apple Silicon systems, let's add CONFIG_HVF for aarch64 as well so that we can build it. Signed-off-by: Alexander Graf <agraf@csgraf.de> --- v1 -> v2: - Fix build on 32bit arm v3 -> v4: - Remove i386-softmmu target --- meson.build | 11 ++++++++++- target/arm/hvf/meson.build | 3 +++ target/arm/meson.build | 2 ++ 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 target/arm/hvf/meson.build