On Wed, Dec 02, 2020 at 08:04:05PM +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.
>
> Signed-off-by: Alexander Graf <[email protected]>
>
> ---
>
> v1 -> v2:
>
> - Fix build on 32bit arm
> ---
> 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 2a7ff5560c..bff3fe7089 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 = ['i386-softmmu', 'x86_64-softmmu']
i386-softmmu had issues with hvf. Perhaps better to leave it disabled
for the target as it was before.
Thanks,
Roman
> +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}
> --
> 2.24.3 (Apple Git-128)
>