You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qemu/target/i386/hvf
Alexander Graf 654076bc20 hvf: complete 1G page support
Hvf on x86 only supported 2MiB large pages, but never bothered to strip
out the 1GiB page size capability from -cpu host. With QEMU 8.0.0 this
became a problem because OVMF started to use 1GiB pages by default.

Let's just unconditionally add 1GiB page walk support to the walker.

With this fix applied, I can successfully run OVMF again.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1603
Signed-off-by: Alexander Graf <agraf@csgraf.de>
Reported-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
Reported-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Phil Dennis-Jordan <phil@philjordan.eu>
Link: https://lore.kernel.org/r/20230420225258.58009-1-agraf@csgraf.de
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
6 days ago
..
README.md system/cpus: rename qemu_mutex_lock_iothread() to bql_lock() 11 months ago
hvf-cpu.c sysemu/kvm: Restrict hvf_get_supported_cpuid() to x86 targets 1 year ago
hvf-i386.h sysemu/kvm: Restrict hvf_get_supported_cpuid() to x86 targets 1 year ago
hvf.c i386/hvf: Removes duplicate/shadowed variables in hvf_vcpu_exec 4 weeks ago
meson.build meson: Replace softmmu_ss -> system_ss 1 year ago
panic.h x86 hvf cpus: Fix Lesser GPL version number 4 years ago
vmcs.h hvf: Enable RDTSCP support 2 years ago
vmx.h i386/hvf: Fixes some compilation warnings 6 months ago
x86.c target/i386/hvf: Use CPUState typedef 9 months ago
x86.h target/i386/hvf: Use CPUState typedef 9 months ago
x86_cpuid.c i386/hvf: Fix for UB in handling CPUID function 0xD 4 weeks ago
x86_decode.c i386/hvf: Fixes some compilation warnings 6 months ago
x86_decode.h x86 hvf cpus: Fix Lesser GPL version number 4 years ago
x86_descr.c target/i386/hvf: Use CPUState typedef 9 months ago
x86_descr.h target/i386/hvf: Use CPUState typedef 9 months ago
x86_emu.c i386/hvf: Raise exception on error setting APICBASE 4 weeks ago
x86_emu.h target/i386/hvf: Use CPUState typedef 9 months ago
x86_flags.c Remove qemu-common.h include from most units 3 years ago
x86_flags.h x86 hvf cpus: Fix Lesser GPL version number 4 years ago
x86_mmu.c hvf: complete 1G page support 6 days ago
x86_mmu.h target/i386/hvf: Use CPUState typedef 9 months ago
x86_task.c hvf: remove unused but set variable 2 weeks ago
x86_task.h Clean up header guards that don't match their file name 6 years ago
x86hvf.c accel/hvf: Use accel-specific per-vcpu @dirty field 7 months ago
x86hvf.h accel: Rename 'cpu_state' -> 'cs' 1 year ago

README.md

OS X Hypervisor.framework support in QEMU

These sources (and ../hvf-all.c) are adapted from Veertu Inc's vdhh (Veertu Desktop Hosted Hypervisor) (last known location: https://github.com/veertuinc/vdhh) with some minor changes, the most significant of which were:

  1. Adapt to our current QEMU's CPUState structure and address_space_rw API; many struct members have been moved around (emulated x86 state, xsave_buf) due to historical differences + QEMU needing to handle more emulation targets.
  2. Removal of apic_page and hyperv-related functionality.
  3. More relaxed use of bql_lock.