| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* upstream/stable-0.12: (27 commits)
Update version and changelog for release
Update SeaBIOS to 0.5.1
Qemu's internal TFTP server breaks lock-step-iness of TFTP
osdep.c: Fix accept4 fallback
pc: add rombar to compat properties for pc-0.10 and pc-0.11
pci: allow loading roms via fw_cfg.
roms: rework rom loading via fw
fw_cfg: rom loader tweaks.
roms: minor fixes and cleanups.
pc: add machine type for 0.12
loader: more ignores for rom intended to be loaded by the bios
vnc_refresh: return if vd->timer is NULL
QMP: Don't free async event's 'data'
Handle TFTP ERROR from client
dmg: fix ->open failure
virtio-pci: thinko fix
pc-bios: Update README (SeaBIOS)
vmware_vga: Check cursor dimensions passed from guest to avoid buffer overflow
remove pending exception on vcpu reset.
Fix CPU topology initialization
...
Conflicts:
hw/pc.c
hw/pci.h
qemu-options.hx
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Now, if we inject a fatal MCE into guest OS, for example Linux, Linux
will go panic and then reboot. But if we inject another MCE now,
system will reset directly instead of go panic firstly, because
MCG_STATUS.MCIP is set to 1 and not cleared after reboot. This is does
not follow the behavior in real hardware.
This patch fixes this via set env->mcg_status to 0 during system reset.
Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
(cherry picked from commit af364b418cc57c53275c76ee5e0e0645908605b9)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Due to upstream qemu changes we no longer expose the host cpu vendor id
to the guest. This leads to failures when the syscall/sysenter instructions
are used in compatibility mode.
Change the default to override when kvm is enabled.
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '910628f39676ee65211727245809eec7ca4d75f5':
target-i386: Update CPUID feature set for TCG
s390: typo fix
s390: fix build on 32 bit host
Update Changelog and VERSION for 0.12.0-rc2
Conflicts:
target-i386/helper.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The CPUID features QEMU presented to the guest were not up-to-date
with QEMU's emulated feature set.
Add the missing bits of recent (and not so recent) additions to
QEMU's emulation engine.
For stability reasons only the user mode usable bits are exposed for
now, features like Monitor or CR8LEG are left out.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
(cherry picked from commit f1e00a9cf326acc1f2386a72525af8859852e1df)
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit 'c99d32efe6970493c44fe410ee4a4aafc1a35428':
msix: function mask support
msix: macro rename for function mask support
cpuid: Fix multicore setup on Intel
kvm: x86: Fix initial kvm_has_msr_star
Update OpenBIOS images to r640
Update version to -rc1
Conflicts:
hw/msix.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The multicore CPUID code detects whether the guest is an Intel or an
AMD CPU, because the Linux kernel is picky about the CmpLegacy bit.
KVM by default passes through the host's vendor, which was not
catched by the code. So fork out the vendor determining bits into a
separate function to be used from both places and always get the real
vendor.
This fixes KVM's multicore setup on Intel CPUs.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Reported-by: Dietmar Maurer <dietmar@proxmox.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
(cherry picked from commit 6d9fef1a02e6efd51e9ebd0130651ca61f75839b)
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '59f2689d9082f2f631253c810f73cd22290144a9':
Added readonly flag to -drive command
qcow2: Allow qcow2 disk images with size zero
(x86/Sparc/PPC)-user: fix cpu_copy
IDE: Fix reset handling
user: move CPU reset call to main.c for x86/PPC/Sparc
PPC: rename cpu_ppc_reset to cpu_reset for consistency
Sparc64/x86: remove unneeded calls to device reset
PPC: remove unneeded calls to device reset
sparc32 (mostly): remove unneeded calls to device reset
v3: don't call reset functions on cpu initialization
vga: fix line comparison
vga: Respect Line Compare Register in text modes
Conflicts:
qemu-config.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| | |
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There is absolutely no need to call reset functions when initializing
devices. Since we are already registering them, calling qemu_system_reset()
should suffice. Actually, it is what happens when we reboot the machine,
and using the same process instead of a special case semantics will even
allow us to find bugs easier.
Furthermore, the fact that we initialize things like the cpu quite early,
leads to the need to introduce synchronization stuff like qemu_system_cond.
This patch removes it entirely. All we need to do is call qemu_system_reset()
only when we're already sure the system is up and running
I tested it with qemu (with and without io-thread) and qemu-kvm, and it
seems to be doing okay - although qemu-kvm uses a slightly different patch.
[ v2: user mode still needs cpu_reset, so put it in ifdef. ]
[ v3: leave qemu_system_cond for now. ]
Signed-off-by: Glauber Costa <glommer@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit 'e5cc6429dee00f3170bb6a18600d6d29b854b7d9': (35 commits)
x86: mcg_cap is never 0
x86: send mce_banks as an array
x86: mce_banks always have the same size
x86: add fpregs_format_vmstate
x86: add pending_irq_vmstate to the state
x86: add fptag_vmstate to the state
x86: fpus is uint16_t not unsigned int
x86: fpuc is uint16_t not unsigned int
x86: make a20_mask int32_t
x86: hflags is not modified at all, just save it directly
vmstate: remove i2c_slave_load/save
vmstate: port lm832x device
lm832x: make fields to have the same types that they are saved/loaded
vmstate: add support for arrays of pointers
vmstate: port twl92230 device
twl92230: change pwrbtn_state to uint8_t
vmstate: port tmp105 device
tmp105: change len and alorm to uint8_t
vmstate: create VMSTATE_INT16_ARRAY
vmstate: port ssd0303 device
...
Conflicts:
target-i386/machine.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
mce_banks is always MCE_BANKS_DEF * 4 in size, value never change
CC: Huang Ying <ying.huang@intel.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This makes the savevm code correct, and sign extensins gives us exactly
what we need (namely, sign extend to 64 bits when used with 64bit addresess.
Once there, change 0x100000 for 1 << 20, that maks all a20 use the same syntax.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In the very least, a change like this requires discussion on the list.
The naming convention is goofy and it causes a massive merge problem. Something
like this _must_ be presented on the list first so people can provide input
and cope with it.
This reverts commit 99a0949b720a0936da2052cb9a46db04ffc6db29.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
| |
| |
| |
| |
| |
| |
| | |
Some not so obvious bits, slirp and Xen were left alone for the time
being.
Signed-off-by: malc <av1474@comtv.ru>
|
| |
| |
| |
| |
| |
| |
| | |
cpu_synchronize_state already does this.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
UCR (uncorrected recovery) MCE is supported in recent Intel CPUs,
where some hardware error such as some memory error can be reported
without PCC (processor context corrupted). To recover from such MCE,
the corresponding memory will be unmapped, and all processes accessing
the memory will be killed via SIGBUS.
For KVM, if QEMU/KVM is killed, all guest processes will be killed
too. So we relay SIGBUS from host OS to guest system via a UCR MCE
injection. Then guest OS can isolate corresponding memory and kill
necessary guest processes only. SIGBUS sent to main thread (not VCPU
threads) will be broadcast to all VCPU threads as UCR MCE.
Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '72cf2d4f0e181d0d3a3122e04129c58a95da713e':
Fix sys-queue.h conflict for good
Try to fix BSD breakage by 806b60248218bd5f74a8b070f5a99a864e8e51c6
Include sys-queue.h early to override system queue definitions on BSD
Unbreak BSD: use qemu_fdatasync instead of fdatasync
Use proper format conversion specifier when printing size_t value
audio: remove lsbindex/popcount in favour of host-utils's ctz32
alsa: poll mode handling
oss: poll mode handling
audio: poll mode infrastructure
gus: Do not manually free the state, qdev does it for us
oss: Unbreak mmaping the ability to mmap oss fd on Linux
Conflicts:
exec.c
kvm.h
sysemu.h
vl.c
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Our file sys-queue.h is a copy of the BSD file, but there are
some additions and it's not entirely compatible. Because of that, there have
been conflicts with system headers on BSD systems. Some hacks have been
introduced in the commits 15cc9235840a22c289edbe064a9b3c19c5f49896,
f40d753718c72693c5f520f0d9899f6e50395e94,
96555a96d724016e13190b28cffa3bc929ac60dc and
3990d09adf4463eca200ad964cc55643c33feb50 but the fixes were fragile.
Solution: Avoid the conflict entirely by renaming the functions and the
file. Revert the previous hacks.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '2637c754ccdb286890ed2a8d0d1da775dbd062af':
kvm_arch_get_registers() shouldn't be called directly
vmstate: port cirrus_vga device
vmstate: port serial device
Conflicts:
target-i386/helper.c
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Direct call to kvm_arch_get_registers() bypass logic in
cpu_synchronize_state()
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
regs_modified logic doesn't work if io thread calls
kvm_cpu_synchronize_state() since kvm_arch_get_registers()
returns only after vcpu thread is back to kernel. Setting
regs_modified to 1 at this stage causes loading of wrong vcpu
state on the next vcpu_run().
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '3a38d437ca60ce19ee92dbabbe6e672e9ba3c529':
Add isa_reserve_irq().
isa bus irq changes and fixes.
hw/eepro100.c: Use extended TBD only where applicable
pci-hotplug: initialize dinfo to NULL in pci_device_hot_add
block/vdi.c: Fix several bugs
introduce kvm64 CPU
allow overriding of CPUID level on command line
set CPUID bits to present cores and threads topology
push CPUID level to 4 to allow Intel multicore decoding
extend -smp parsing to include cores= and threads= options
add file descriptor migration
Add sparse to new feature convention
Conflicts:
hw/pc.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In addition to the TCG based qemu64 type let's introduce a kvm64 CPU type,
which is the least common denominator of all KVM-capable x86-CPUs
(based on Intel Pentium 4 Prescott). It can be used as a base type
for migration.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The CPUID level determines how many CPUID leafs are exposed to the guest.
Some features (like multi-core) cannot be propagated without the proper
level, but guests maybe confused by bogus entries in some leafs.
So add level= and xlevel= to the list of -cpu options to allow the user to
override the default settings. While at it, merge unnecessary local
variables into one and allow hexadecimal arguments.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Controlled by the enhanced -smp option set the CPUID bits to present the
guest the desired topology. This is vendor specific, but (with the exception
of the CMP_LEGACY bit) not conflicting, so we set all bits everytime.
There is no real multithreading support for AMD CPUs, so report cores
instead.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Intel CPUs store the number of cores in CPUID leaf 4. So push
the maxleaf value to 4 to allow the guests access to this leaf.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '4a1418e07bdcfaa3177739e04707ecaec75d89e1':
Unbreak large mem support by removing kqemu
Add a configure switch to enable / disable all user targets. I felt compelled to do it for symmetry, mostly it is useful to disable user targets when you don't want to build them.
Migration via unix sockets.
Conflicts:
Makefile.target
exec.c
osdep.c
vl.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
kqemu introduces a number of restrictions on the i386 target. The worst is that
it prevents large memory from working in the default build.
Furthermore, kqemu is fundamentally flawed in a number of ways. It relies on
the TSC as a time source which will not be reliable on a multiple processor
system in userspace. Since most modern processors are multicore, this severely
limits the utility of kqemu.
kvm is a viable alternative for people looking to accelerate qemu and has the
benefit of being supported by the upstream Linux kernel. If someone can
implement work arounds to remove the restrictions introduced by kqemu, I'm
happy to avoid and/or revert this patch.
N.B. kqemu will still function in the 0.11 series but this patch removes it from
the 0.12 series.
Paul, please Ack or Nack this patch.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '452e475196a3f8b6b96d16bbaca727ebc1278a97': (55 commits)
introduce on_vcpu
qemu-io: reject invalid pattern
qemu-io: Rework alloc command
qmu-img: fix qemu-img convert to generate a valid image when the source referenced a backing file
vmdk: Fix backing file handling
use struct initializer for audio.c
Add save/restore support to the LSI logic SCSI device model.
Handle BH's queued by AIO completions in qemu_aio_flush()
Fake dirty loggin when it's not there
Use correct input constant
Fix warning in kvm-all.c
Set PVR in sregs
Enable PPC KVM for non-embedded
Sparc32: convert Sun4c interrupt controller to qdev
Sparc32: convert SBI to qdev
Fix CONFIG_PROFILER
Sparc32/64: use 64 bit type for memory size
qdev: add 64 bit type
Sparc64: refactor kernel init
Sparc64: refactor CPU init
...
Conflicts:
kvm-all.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| |
| |
| | |
-cpu host is not at all useful when using tcg.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
| |
| |
| |
| |
| |
| | |
This causes a build break when !KVM.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '0ba99fc6a188988f11361cb41eba7c1afce346d4': (46 commits)
configure already knows what TARGET_BASE_ARCH we need, no need to put the logic in Makefile.target
already defined several lines before in block-obj-y
Remove unused Makefile variable
use nwfpe-obj-y for consistence
use block-nested-y for files inside block/
Remove duplicated definition
fix sparc not solaris build
fix XEN Build
fix for bad macaddr of e1000 in Windows 2003 server with original MS driver
qdev: es1370+ac97 description
qdev/compat: virtio-net-pci 0.10 compatibility.
qdev: print device id in "info pci".
qdev/compat: virtio-console-pci 0.10 compatibility.
qdev: add id= support for pci nics.
qdev/compat: virtio-blk-pci 0.10 compatibility.
qdev: add user-specified identifier to devices.
qdev/compat: add pc-0.10 machine type.
qdev: add no_user, alias and desc
qdev/compat: compat property infrastructure.
qdev: factor out driver search to qdev_find_info()
...
Conflicts:
Makefile.target
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since we recently do not disable 3DNOW! support anymore, we should
avoid setting the bits in the default qemu64 CPU model to ease
migration. TCG does not support it anyway and even AMD deprecates
it's usage nowadays.
If you want to use it in KVM, use the phenom, athlon or host CPU
model.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
| |
| |
| |
| | |
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit 'e1e8f35a4f59d82ab9a5361c3990c8dadd2e7678':
bios: Fix multiple calls into smbios_load_ex
gdbstub: x86: Support for setting segment registers
gdbstub: x86: Refactor register access
gdbstub: Add vCont support
slirp: Fix default netmask to 255.255.255.0
Conflicts:
pc-bios/bios.bin (dropped)
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows to set segment registers via gdb also in system emulation
mode. Basic sanity checks are applied and nothing is changed if they
fail. But screwing up the target via this interface will never be
complicated, so I avoided being too paranoid here.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
KVM ioctls are used to initialize MCE simulation and inject MCE. The
real MCE simulation is implemented in Linux kernel. The Kernel part
has been merged.
ChangeLog:
v7:
- Re-based on qemu-kvm.git/next branch
v6:
- Re-based on latest qemu-kvm.git
v5:
- Re-based on latest qemu-kvm.git
v3:
- Re-based on qemu/tcg MCE support patch
v2:
- Use new kernel MCE capability exportion interface.
Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '79c4f6b08009a1d23177c2be8bd003253cf3686a':
QEMU: MCE: Add MCE simulation to qemu/tcg
getrlimit conversion mix-up
wrap path for access syscall
64-bit clean socketcall syscall
pipe argument should not be signed
configure: remove bogus linux-user check
linux-user/syscall.c: remove warning: ‘array’ may be used uninitialized in this function
linux-user: check some parameters for some socket syscalls.
linux-user: increment MAX_ARG_PAGES
Conflicts:
qemu-monitor.hx
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- MCE features are initialized when VCPU is intialized according to CPUID.
- A monitor command "mce" is added to inject a MCE.
- A new interrupt mask: CPU_INTERRUPT_MCE is added to inject the MCE.
aliguori: fix build for linux-user
Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '600309b6108484a60be4a84cfe68e6b8d645799c':
Rename target_cpu to target_arch2
monitor: Fix typo in documentation
target-mips: fix MADD and MSUB/MSUBU instructions
Fix hxtool.
Use ctz64 in favor of ffsll
Respect the standard
Use pstrcpy and pstrcat to avoid OpenBSD linker warning
Suppress a GCC warning
Fix breakage by obsolete _P() for good
Fix sdl_zoom compile problems on OpenBSD
Fix missing strnlen problems
Fix typo
Remove bogus -Werror
Conflicts:
configure
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| | |
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add "x2apic" string to extended features name array to be recognizable
by -cpu cputype,+x2apic command line option. If kvm kernel module does
not support x2apic the option will be trimmed from cpuid.
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '671e4676076fb62860986decd44440d97bcc872d':
remove CPUID host hacks
Conflicts:
target-i386/helper.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
KVM provides an in-kernel feature to disable CPUID bits that are not
present in the current host. So there is no need here to duplicate this
work. Additionally allows 3DNow! on capable processors, since the
restriction seems to apply to QEMU/TCG only.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '6c1f42fe83bf9bc14a7a6cc5afd8dad83ee25c74':
fix KVMs GET_SUPPORTED_CPUID feature usage
CPUID Fn8000_0001.EAX is family/model/stepping, not features
introduce -cpu host target
allow hypervisor CPUID bit to be overriden
support colon in filenames
Prefer ncurses over curses
slirp: Basic VLAN client info_str
slirp: Make hostfwd_add/remove multi-instance-aware
net: Provide VLAN client lookup helper
slirp: Enable multi-instance support for the smb service
slirp: Improve error handling in slirp_smb
slirp: Use shell to erase smb directory
slirp: Save/restore bootp client states
slirp: Enable multiple instances
slirp: Allocate/free stack instance dynamically
slirp: Use internal state in interface
slirp: Factor out internal state structure
slirp: Drop link_up checks from if_output and slirp_socket_can_recv
slirp: Clean up timeout handling around slirp_select_fill/poll
slirp: Drop redundant checks from slirp_output
Conflicts:
target-i386/helper.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If we want to trim the user provided CPUID bits for KVM to be not greater
than that of the host, we should not remove the bits _after_ we sent
them to the kernel.
This fixes the masking of features that are not present on the host by
moving the trim function and it's call from helper.c to kvm.c.
It helps to use -cpu host.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
| |
| |
| |
| |
| | |
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Although the guest's CPUID bits can be controlled in a fine grained way
in QEMU, a simple way to inject the host CPU is missing. This is handy
for KVM desktop virtualization, where one wants the guest to support the
full host feature set.
Introduce another CPU type called 'host', which will propagate the host's
CPUID bits to the guest. Unwanted bits can still be turned off by using
the existing syntax (-cpu host,-skinit)
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
KVM defaults to the hypervisor CPUID bit to be set, whereas pure
QEMU clears it. On some occasions one wants to set or clear it the
other way round (for instance to get HyperV running inside a guest).
Move the bit-set to be done before the command line parsing and
enable it by default. One can disable it by using: -cpu qemu64,-hypervisor
Fix some whitespace damage on the way.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|