From: David Gibson
This patch implements the infrastructure and hypercalls necessary for
the PAPR specified Virtual SCSI interface. This is the normal method
for providing (virtual) disks to PAPR partitions.
Signed-off-by: Ben Herrenschmidt
Signed-off-by: David Gibson
---
Makefile.target |
From: David Gibson
Shared-processor partitions are those where a CPU is time-sliced between
partitions, rather than being permanently dedicated to a single
partition. qemu emulated partitions, since they are just scheduled with
the qemu user process, behave mostly like shared processor partition
From: David Gibson
This adds emulation support for the recent POWER7 cpu to qemu. It's far
from perfect - it's missing a number of POWER7 features so far, including
any support for VSX or decimal floating point instructions. However, it's
close enough to boot a kernel with the POWER7 PVR.
Sign
From: David Gibson
This patch implements the necessary infrastructure and hypercalls for
sPAPR's TCE (Translation Control Entry) IOMMU mechanism. This is necessary
for all virtual IO devices which do DMA (i.e. nearly all of them).
Signed-off-by: David Gibson
Signed-off-by: Ben Herrenschmidt
-
From: David Gibson
This patch implements the PAPR specified Inter Virtual Machine Logical
LAN; that is the virtual hardware used by the Linux ibmveth driver.
Signed-off-by: David Gibson
Signed-off-by: Paul Mackerras
---
Makefile.target |2 +-
hw/spapr.c | 21 +++-
hw/spapr_llan.c |
From: David Gibson
This extends the "pseries" (PAPR) machine to include a virtual IO bus
supporting the PAPR defined hypercall based virtual IO mechanisms.
So far only one VIO device is provided, the vty / vterm, providing
a full console (polled only, for now).
Signed-off-by: David Gibson
---
From: David Gibson
This patch adds a "pseries" machine to qemu. This aims to emulate a
logical partition on an IBM pSeries machine, compliant to the
"PowerPC Architecture Platform Requirements" (PAPR) document.
This initial version is quite limited, it implements a basic machine
and PAPR hyperc
From: David Gibson
This patch implements the infrastructure and hypercalls necessary for the
PAPR specified CRQ (Command Request Queue) mechanism. This general
request queueing system is used by many of the PAPR virtual IO devices,
including the virtual scsi adapter.
Signed-off-by: Ben Herrensc
From: David Gibson
PAPR defines an interrupt control architecture which is logically divided
into ICS (Interrupt Control Presentation, each unit is responsible for
presenting interrupts to a particular "interrupt server", i.e. CPU) and
ICS (Interrupt Control Source, each unit responsible for one
From: David Gibson
This patch adds several small utility hypercalls and RTAS methods to
the pSeries platform emulation. Specifically:
* 'display-character' rtas call
This just prints a character to the console, it's occasionally used
for early debug of the OS. The support includes a hack to m
From: David Gibson
On pSeries logical partitions, excepting the old POWER4-style full system
partitions, the guest does not have direct access to the hardware page
table. Instead, the pagetable exists in hypervisor memory, and the guest
must manipulate it with hypercalls.
However, our current p
From: David Gibson
Traditionally, the "segments" used for the two-stage translation used on
powerpc MMUs were 256MB in size. This was the only option on all hash
page table based 32-bit powerpc cpus, and on the earlier 64-bit hash page
table based cpus. However, newer 64-bit cpus also permit 1T
From: David Gibson
Now that we have implemented the PAPR "xics" virtualized interrupt
controller, we can add interrupts in PAPR VIO devices. This patch adds
interrupt support to the PAPR virtual tty/console device.
Signed-off-by: David Gibson
---
hw/spapr.c |6 --
hw/spapr_vio.h |
From: David Gibson
Usually, PAPR virtual IO devices use a virtual IOMMU mechanism, TCEs,
to mediate all DMA transfers. While this is necessary for some sorts of
operation, it can be complex to program and slow for others.
This patch implements a mechanism for bypassing TCE translation, treating
From: David Gibson
Currently, get_segment() has a variable called hash. However it doesn't
(quite) get the hash value for the ppc hashed page table. Instead it
gets the hash shifted - effectively the offset of the hash bucket within
the hash page table.
As well, as being different to the norma
From: David Gibson
Currently the path handling hash page table translation in get_segment()
has a mix of common and 32 or 64 bit specific code. However the
division is not done terribly well which results in a lot of messy code
flipping between common and divided paths.
This patch improves the
From: David Gibson
qemu already includes support for the popcntb instruction introduced
in POWER5 (although it doesn't actually allow you to choose POWER5).
However, the logic is slightly incorrect: it will generate results
truncated to 32-bits when the CPU is in 32-bit mode. This is not
normal
From: David Gibson
This patch adds infrastructure to support interrupts from PAPR virtual IO
devices. This includes correctly advertising those interrupts in the
device tree, and implementing the H_VIO_SIGNAL hypercall, used to
enable and disable individual device interrupts.
Signed-off-by: Dav
From: David Gibson
PowerPC and POWER chips since the POWER4 and 970 have a special
hypervisor mode, and a corresponding form of the system call
instruction which traps to the hypervisor.
qemu currently has stub implementations of hypervisor mode. That
is, the outline is there to allow qemu to r
From: David Gibson
Currently qemu_devtree_setprop() expects the new property value to be
given as a uint32_t *. While property values consisting of u32s are
common, in general they can have any bytestring value.
Therefore, this patch alters the function to take a void * instead,
allowing caller
From: David Gibson
On pSeries machines, operating systems can instantiate "RTAS" (Run-Time
Abstraction Services), a runtime component of the firmware which implements
a number of low-level, infrequently used operations. On logical partitions
under a hypervisor, many of the RTAS functions require
From: David Gibson
The slb_lookup() function, used in the ppc translation path returns a
number of slb entry fields in reference parameters. However, only one
of the two callers of slb_lookup() actually wants this information.
This patch, therefore, makes slb_lookup() return a simple pointer to
From: David Gibson
Currently the SLB information when emulating a PowerPC 970 is
storeed in a structure with the unhelpfully named fields 'tmp'
and 'tmp64'. While the layout in these fields does match the
description of the SLB in the architecture document, it is not
convenient either for lookin
From: David Gibson
Add the etags generated output file and editor backup files to
.gitignore.
Signed-off-by: David Gibson
---
.gitignore |2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/.gitignore b/.gitignore
index 26703e1..1d79680 100644
--- a/.gitignore
+++ b/.gitig
From: David Gibson
On ppc machines with hash table MMUs, the special purpose register SDR1
contains both the base address of the encoded size (hashed) page tables.
At present, we interpret the SDR1 value within the address translation
path. But because the encodings of the size for 32-bit and 6
From: David Gibson
For a 64-bit PowerPC target, qemu correctly implements translation
through the segment lookaside buffer. Likewise it supports the
slbmte instruction which is used to load entries into the SLB.
However, it does not emulate the slbmfee and slbmfev instructions
which read SLB en
From: David Gibson
The PURR (Processor Utilization Resource Register) is a register found
on recent POWER CPUs. The guts of implementing it at least enough to
get by are already present in qemu, however some of the helper
functions needed to actually wire it up are missing.
This patch adds the
This patch series adds a "pseries" machine to qemu, allowing it to
emulate IBM pSeries logical partitions. Along the way we add a bunch
of support for more modern ppc CPUs than are currently supported. It
also makes some significant cleanups to the translation code for hash
page table based ppc M
Hi,
On Mon, 14 Feb 2011 14:19:56 +0800
Wen Congyang wrote:
> At 01/27/2011 05:00 PM, Ken'ichi Ohmichi Write:
> >
> > Hi,
> >
> > When I tried to attach the interface after detaching the same interface,
> > the virsh command output the following and it failed:
> >
> > # virsh detach-interfac
On 15.02.2011, at 00:49, Scott Wood wrote:
> On Tue, 15 Feb 2011 00:39:51 +0100
> Alexander Graf wrote:
>
>> On 14.02.2011, at 22:16, Scott Wood wrote:
>>
>>> On Mon, 14 Feb 2011 21:19:19 +0100
>>> Alexander Graf wrote:
>> The struct name should also have
>> a version indicator - it's
On Tue, 15 Feb 2011 00:39:51 +0100
Alexander Graf wrote:
> On 14.02.2011, at 22:16, Scott Wood wrote:
>
> > On Mon, 14 Feb 2011 21:19:19 +0100
> > Alexander Graf wrote:
> The struct name should also have
> a version indicator - it's the data descriptor only a single specific
> mm
On 14.02.2011, at 22:16, Scott Wood wrote:
> On Mon, 14 Feb 2011 21:19:19 +0100
> Alexander Graf wrote:
>
>> There's no nack here :). The only thing that needs to change is the
>> anonymous part, as that's a gnu extension. Just name the structs and unions
>> and all is well.
>
> Ah, I though
On 02/14/2011 11:56 AM, Chris Wright wrote:
Please send in any agenda items you are interested in covering.
-rc2 is tagged and waiting for announcement. Please take a look at -rc2
and make sure there is nothing critical missing. Will tag 0.14.0 very
late tomorrow but unless there's some
On 02/14/2011 03:25 PM, Blue Swirl wrote:
I'd still like to have the inline wrapper over the factory interface,
probably with similar signature to isa_serial_new. Then there would be
two functions, one going through qdev and the other bypassing it. I
don't see how that would be useful.
The calle
On Mon, Feb 14, 2011 at 10:53 PM, Anthony Liguori wrote:
> On 02/14/2011 11:31 AM, Blue Swirl wrote:
>>
>> I don't understand. The caller just does
>> if (isa_serial_init()) {
>> error();
>> }
>> or
>> if (serial_init()) {
>> error();
>> }
>>
>> If you mean inside isa_serial_init() vs. serial_
On 02/14/2011 06:32 AM, Kevin Wolf wrote:
Am 14.02.2011 13:03, schrieb Anthony Liguori:
On 02/14/2011 03:50 AM, Kevin Wolf wrote:
Am 13.02.2011 19:08, schrieb Anthony Liguori:
Proposal for events in QAPI
For QAPI, I'd like to model events on the notion of signals and
slots[2
On Mon, 14 Feb 2011 21:19:19 +0100
Alexander Graf wrote:
> There's no nack here :). The only thing that needs to change is the anonymous
> part, as that's a gnu extension. Just name the structs and unions and all is
> well.
Ah, I thought it was an aesthetic objection -- didn't realize it was a
On 02/14/2011 11:31 AM, Blue Swirl wrote:
I don't understand. The caller just does
if (isa_serial_init()) {
error();
}
or
if (serial_init()) {
error();
}
If you mean inside isa_serial_init() vs. serial_init(), that may be
true since isa_serial_init has to check for qdev failures, but the t
On Mon, Feb 14, 2011 at 7:40 PM, Nicholas Thomas wrote:
> I've written a patch that changes the behaviour - instead of exiting at
> startup, we wait for the NBD connection to be established, and we hang
> on reads and writes until the connection is re-established.
Hi Nick,
I think reconnect is a
On 14.02.2011, at 18:11, Scott Wood wrote:
> On Sun, 13 Feb 2011 23:43:40 +0100
> Alexander Graf wrote:
>
>>> struct kvmppc_book3e_tlb_entry {
>>>union {
>>>__u64 mas8_1;
>>>struct {
>>>__u32 mas8;
>>>__u32 mas1;
>>>};
>>>};
>>>__u64
On 02/10/2011 09:51 AM, Kevin Wolf wrote:
The following changes since commit 6c5f738daec123020d32543fe90a6633a4f6643e:
microblaze: Handle singlestepping over direct jmps (2011-02-10 00:46:09
+0100)
are available in the git repository at:
git://repo.or.cz/qemu/kevin.git for-anthony
On 02/14/2011 09:22 AM, Marcelo Tosatti wrote:
The following changes since commit 8668f61d20eac971d116ebbe8436b4ae963884a8:
vmmouse: fix queue_size field initialization (2011-02-12 17:44:11 +)
are available in the git repository at:
git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git u
On 02/14/2011 01:58 PM, Luiz Capitulino wrote:
No, of course not, our plan has always been to do this via an schema,
the only reason we don't do this today is lack of time/help.
Understood--I'm here to help now :-)
We need to expose the schema, I'm not saying we shouldn't. But we don't
On Mon, 14 Feb 2011 17:58:00 -0200
Luiz Capitulino wrote:
> On Mon, 14 Feb 2011 13:34:11 -0600
> Anthony Liguori wrote:
>
> > On 02/14/2011 12:34 PM, Luiz Capitulino wrote:
> > > On Mon, 14 Feb 2011 08:39:11 -0600
> > > Anthony Liguori wrote:
> > >
> > >
> > >> On 02/14/2011 06:45 AM, Luiz
On Mon, 14 Feb 2011 13:34:11 -0600
Anthony Liguori wrote:
> On 02/14/2011 12:34 PM, Luiz Capitulino wrote:
> > On Mon, 14 Feb 2011 08:39:11 -0600
> > Anthony Liguori wrote:
> >
> >
> >> On 02/14/2011 06:45 AM, Luiz Capitulino wrote:
> >>
> >>> So the question is: how does the schema ba
On 02/14/2011 11:56 AM, Chris Wright wrote:
Please send in any agenda items you are interested in covering.
- QAPI and QMP events
- qdev future
I don't really have a coherent plan for the second one yet so let's just
discuss this as time permits.
Regards,
Anthony Liguori
thanks,
-chr
[Apologies for the cross-post - I originally sent this to the KVM ML -
obviously, it's far more appropriate here]
Hi,
I've been doing some work with /block/nbd.c with the aim of improving
its behaviour when the NBD server is inaccessible or goes away.
Current behaviour is to exit on startup if c
On 02/14/2011 12:34 PM, Luiz Capitulino wrote:
On Mon, 14 Feb 2011 08:39:11 -0600
Anthony Liguori wrote:
On 02/14/2011 06:45 AM, Luiz Capitulino wrote:
So the question is: how does the schema based design support extending
commands or events? Does it require adding new commands/even
On 02/08/2011 11:18 AM, Paolo Bonzini wrote:
From: Anthony Liguori
Signed-off-by: Anthony Liguori
Applied. Thanks.
Regards,
Anthony Liguori
---
cpus.c |4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/cpus.c b/cpus.c
index 6a85dc8..474be16 100644
--- a/cpus
On 02/07/2011 08:14 AM, Gleb Natapov wrote:
TPR blocks all interrupts in a priority class, so simple "less or
equal" check is not enough.
Signed-off-by: Gleb Natapov
Reviewed-by: Jan Kiszka
Applied. Thanks.
Regards,
Anthony Liguori
diff --git a/hw/apic.c b/hw/apic.c
index 2f8376a..218
This bug was fixed in the package qemu-kvm - 0.12.3+noroms-0ubuntu9.4
---
qemu-kvm (0.12.3+noroms-0ubuntu9.4) lucid-security; urgency=low
* SECURITY UPDATE: Setting VNC password to empty string silently
disables all authentication (LP: #697197)
- debian/patches/697197-fix-vn
This bug was fixed in the package qemu-kvm - 0.11.0-0ubuntu6.4
---
qemu-kvm (0.11.0-0ubuntu6.4) karmic-security; urgency=low
* SECURITY UPDATE: Setting VNC password to empty string silently
disables all authentication (LP: #697197)
- debian/patches/697197-fix-vnc-password-se
This bug was fixed in the package qemu-kvm - 0.12.5+noroms-0ubuntu7.2
---
qemu-kvm (0.12.5+noroms-0ubuntu7.2) maverick-security; urgency=low
[ Dustin Kirkland ]
* SECURITY UPDATE: Setting VNC password to empty string silently
disables all authentication (LP: #697197).
- de
On Mon, 14 Feb 2011 08:39:11 -0600
Anthony Liguori wrote:
> On 02/14/2011 06:45 AM, Luiz Capitulino wrote:
> > So the question is: how does the schema based design support extending
> > commands or events? Does it require adding new commands/events?
> >
>
> Well, let me ask you, how do we do
On 11 February 2011 15:10, wrote:
> From: Christophe Lyon
>
> This patch series provides fixes such that ARM Neon instructions
> VRSHR, VRSRA, VQRSHRN, VQRSHRUN, VRSHRN, VQSHRN, VSHRN, VQSHRUN now
> pass all my tests.
>
> I have reworked all these patches and I hope they are now easier to
> revi
On 11 February 2011 15:10, wrote:
> From: Christophe Lyon
>
> Fix rshl helpers (s8, s16, s64, u8, u16)
>
> Signed-off-by: Christophe Lyon
> ---
> target-arm/neon_helper.c | 6 +++---
> 1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/target-arm/neon_helper.c b/target-arm/ne
On Thu, Feb 10, 2011 at 11:53:10AM +0200, Riku Voipio wrote:
> The following changes since commit 343c1de916b1841cd5fd5f813add9c87590d72e8:
>
> x86: Fix MCA broadcast parameters for TCG case (2011-02-08 12:37:30 +0100)
>
> are available in the git repository at:
> git://gitorious.org/qemu-mae
On 11 February 2011 15:10, wrote:
> +uint32_t HELPER(neon_rshl_s32)(uint32_t valop, uint32_t shiftop)
> +{
> + int32_t dest;
> + int32_t val = (int32_t)valop;
> + int8_t shift = (int8_t)shiftop;
> + if (shift >= 32) {
> + dest = 0;
> + } else if (shift < -32) {
> + de
Please send in any agenda items you are interested in covering.
thanks,
-chris
On 11 February 2011 15:11, wrote:
> From: Christophe Lyon
>
> Fix decoding of 64 bits variants of VSHRN, VRSHRN, VQSHRN, VQSHRUN, VQRSHRN,
> VQRSHRUN, taking into account whether inputs are unsigned or not.
>
> Signed-off-by: Christophe Lyon
Mostly OK (gives correct answers). Style issues:
>
On 14 February 2011 17:46, Peter Maydell wrote:
> On 11 February 2011 15:11, wrote:
>> NEON_VOP_ENV(qrshl_s8, neon_s8, 4)
>> @@ -924,7 +924,11 @@ uint32_t HELPER(neon_qrshl_s32)(CPUState *env, uint32_t
>> valop, uint32_t shiftop)
>> dest = val << shift;
>> if ((dest >> shift) !
On 11 February 2011 15:11, wrote:
> --- a/target-arm/neon_helper.c
> +++ b/target-arm/neon_helper.c
> @@ -903,7 +903,7 @@ uint64_t HELPER(neon_qrshl_u64)(CPUState *env, uint64_t
> val, uint64_t shiftop)
> dest = src1 << tmp; \
> if ((dest >> tmp) != src1) { \
> SET_Q
On 11 February 2011 15:11, wrote:
> From: Christophe Lyon
>
> Call the normal shift helpers instead of the rounding ones.
>
> Signed-off-by: Christophe Lyon
Reviewed-by: Peter Maydell
On 11 February 2011 15:10, wrote:
> From: Christophe Lyon
>
> Fix range of shift amounts which always give 0 as result.
>
> Signed-off-by: Christophe Lyon
Reviewed-by: Peter Maydell
On Mon, Feb 14, 2011 at 12:42 AM, Anthony Liguori wrote:
> On 02/13/2011 03:00 PM, Blue Swirl wrote:
>>
>> On Sun, Feb 13, 2011 at 9:57 PM, Anthony Liguori
>> wrote:
>>
>>>
>>> On 02/13/2011 01:37 PM, Blue Swirl wrote:
>>>
On Sun, Feb 13, 2011 at 5:31 PM, Anthony Liguori
wrote:
>>
On Sun, 13 Feb 2011 23:43:40 +0100
Alexander Graf wrote:
> > struct kvmppc_book3e_tlb_entry {
> > union {
> > __u64 mas8_1;
> > struct {
> > __u32 mas8;
> > __u32 mas1;
> > };
> > };
> > __u64 mas2;
> > un
RST bit is (1 << 3) bit, not (1 << 2), fix condition
that enables i2s if ENB is set and RST is not set.
Signed-off-by: Vasily Khoruzhick
---
hw/pxa2xx.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/hw/pxa2xx.c b/hw/pxa2xx.c
index d966846..68b67ae 100644
--- a/hw/pxa2
These two special values are needed to implement some helper functions, which
return these values in some cases.
Signed-off-by: Christophe Lyon
---
fpu/softfloat-specialize.h |9 +
fpu/softfloat.h|2 ++
2 files changed, 11 insertions(+), 0 deletions(-)
diff --git a
From: Jan Kiszka
Currently, we only configure and process MCE-related SIGBUS events if
CONFIG_IOTHREAD is enabled. The groundwork is laid, we just need to
factor out the required handler registration and system configuration.
Signed-off-by: Jan Kiszka
CC: Huang Ying
CC: Hidetoshi Seto
CC: Jin
From: Jan Kiszka
Improve the readability of the exit dispatcher by moving the static
return value of kvm_handle_io to its caller.
Signed-off-by: Jan Kiszka
Signed-off-by: Marcelo Tosatti
---
kvm-all.c | 17 -
1 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/kvm
From: Jan Kiszka
The number of slots and the location of private ones changed several
times in KVM's early days. However, it's stable since 2.6.29 (our
required baseline), and slots 8..11 are no longer reserved since then.
So remove this unneeded restriction.
Signed-off-by: Jan Kiszka
CC: Alex
From: Jan Kiszka
To prepare splitting up KVM and TCG CPU entry/exit, move the debug
exception into cpus.c and invoke cpu_handle_debug_exception on return
from qemu_cpu_exec.
This also allows to clean up the debug request signaling: We can assign
the job of informing main-loop to qemu_system_debu
From: Jan Kiszka
Move {tcg,kvm}_init_ipi and block_io_signals to avoid prototypes, rename
the former two to clarify that they deal with more than SIG_IPI. No
functional changes - except for the tiny fixup of strerror usage.
The forward declaration of sigbus_handler is just temporarily, it will
b
From: Jan Kiszka
Do not ignore errors of kvm_init_vcpu, they are fatal.
Signed-off-by: Jan Kiszka
Signed-off-by: Marcelo Tosatti
---
cpus.c | 19 +++
1 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/cpus.c b/cpus.c
index 8232d44..3a72d06 100644
--- a/cpus.c
++
From: Jan Kiszka
Pure interface cosmetics: Ensure that only kvm core services (as
declared in kvm.h) start with "kvm_". Prepend "qemu_" to those that
violate this rule in cpus.c. Also rename the corresponding tcg functions
for the sake of consistency.
Signed-off-by: Jan Kiszka
Signed-off-by: Ma
From: Jan Kiszka
Found by Stefan Hajnoczi: There is a race in kvm_cpu_exec between
checking for exit_request on vcpu entry and timer signals arriving
before KVM starts to catch them. Plug it by blocking both timer related
signals also on !CONFIG_IOTHREAD and process those via signalfd.
As this f
On Mon, Feb 14, 2011 at 3:01 PM, Gary Mort wrote:
> I was wondering if there is any documentation on what the original source
> for the VNC/RDP/Spice/etc remote disktop servers and what changes were
> needed to integrate with Qemu.
>
> I'm in the process of setting up a Virtual server and I notice
From: Glauber Costa
If the machine is stopped, we should not record two different tsc values
upon a save operation. The same problem happens with kvmclock.
But kvmclock is taking a different diretion, being now seen as a separate
device. Since this is unlikely to happen with the tsc, I am taking
From: Jan Kiszka
Will be required for SIGBUS handling. For obvious reasons, this will
remain a nop on Windows hosts.
Signed-off-by: Jan Kiszka
Reviewed-by: Paolo Bonzini
Signed-off-by: Marcelo Tosatti
---
Makefile.objs |2 +-
cpus.c| 117 +++--
From: Jan Kiszka
Effectively no functional change yet as kvm_irqchip_in_kernel still only
returns 0, but this patch will allow qemu-kvm to adopt the VCPU loop of
upsteam KVM.
Signed-off-by: Jan Kiszka
Signed-off-by: Marcelo Tosatti
---
target-i386/kvm.c | 69 +---
From: Jan Kiszka
Move qemu_kvm_eat_signals around and call it also when the IO-thread is
not used. Do not yet process SIGBUS, will be armed in a separate step.
Signed-off-by: Jan Kiszka
Signed-off-by: Marcelo Tosatti
---
cpus.c | 90 +-
From: Jan Kiszka
If some I/O operation ends up calling qemu_system_reset_request in VCPU
context, we record this and inform the io-thread, but we do not
terminate the VCPU loop. This can lead to fairly unexpected behavior if
the triggering reset operation is supposed to work synchronously.
Fix t
From: Jan Kiszka
Signed-off-by: Jan Kiszka
Signed-off-by: Marcelo Tosatti
---
kvm-all.c |1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/kvm-all.c b/kvm-all.c
index 2ec9e09..55f6ac3 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -219,6 +219,7 @@ int kvm_init_vcpu(CPUState *e
From: Jan Kiszka
We do not check them, and the only arch with non-empty implementations
always returns 0 (this is also true for qemu-kvm).
Signed-off-by: Jan Kiszka
CC: Alexander Graf
Signed-off-by: Marcelo Tosatti
---
kvm.h |5 ++---
target-i386/kvm.c |8 ++--
targ
From: Anthony PERARD
In order to use log_start/log_stop with Xen as well in the vga code,
this two operations have been put in CPUPhysMemoryClient.
The two new functions cpu_physical_log_start,cpu_physical_log_stop are
used in hw/vga.c and replace the kvm_log_start/stop. With this, vga does
no l
From: Jan Kiszka
KVM requires to reenter the kernel after IO exits in order to complete
instruction emulation. Failing to do so will leave the kernel state
inconsistently behind. To ensure that we will get back ASAP, we issue a
self-signal that will cause KVM_RUN to return once the pending
operat
From: Jan Kiszka
Signed-off-by: Jan Kiszka
Signed-off-by: Marcelo Tosatti
---
hw/cirrus_vga.c |1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c
index 5f45b5d..2724f7b 100644
--- a/hw/cirrus_vga.c
+++ b/hw/cirrus_vga.c
@@ -31,7 +31,6 @@
From: Jan Kiszka
If kvmclock is used, which implies the kernel supports it, register a
kvmclock device with the sysbus. Its main purpose is to save and restore
the kernel state on migration, but this will also allow to visualize it
one day.
Signed-off-by: Jan Kiszka
CC: Glauber Costa
Signed-of
From: Jan Kiszka
Except for timer events, we currently do not leave the loop over all
VCPUs if an IO event was filed. That may cause unexpected IO latencies
under !CONFIG_IOTHREAD in SMP scenarios. Fix it by setting the global
exit_request which breaks the loop.
Signed-off-by: Jan Kiszka
Signed
From: Jan Kiszka
Signed-off-by: Jan Kiszka
Signed-off-by: Marcelo Tosatti
---
cpus.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/cpus.c b/cpus.c
index 0abc009..8232d44 100644
--- a/cpus.c
+++ b/cpus.c
@@ -603,8 +603,8 @@ static void *kvm_cpu_thread_fn(void *arg)
From: Jan Kiszka
Block SIG_IPI, unblock it during KVM_RUN, just like in io-thread mode.
It's unused so far, but this infrastructure will be required for
self-IPIs and to process SIGBUS plus, in KVM mode, SIGIO and SIGALRM. As
Windows doesn't support signal services, we need to provide a stub for
From: Jan Kiszka
Provide arch-independent kvm_on_sigbus* stubs to remove the #ifdef'ery
from cpus.c. This patch also fixes --disable-kvm build by providing the
missing kvm_on_sigbus_vcpu kvm-stub.
Signed-off-by: Jan Kiszka
Reviewed-by: Paolo Bonzini
Acked-by: Alexander Graf
Signed-off-by: Mar
From: Jan Kiszka
Define and use dedicated constants for vm_stop reasons, they actually
have nothing to do with the EXCP_* defines used so far. At this chance,
specify more detailed reasons so that VM state change handlers can
evaluate them.
Signed-off-by: Jan Kiszka
Signed-off-by: Marcelo Tosat
From: Jan Kiszka
Introduce qemu_cpu_kick_self to send SIG_IPI to the calling VCPU
context. First user will be kvm.
Signed-off-by: Jan Kiszka
Signed-off-by: Marcelo Tosatti
---
cpus.c| 21 +
qemu-common.h |1 +
2 files changed, 22 insertions(+), 0 deletions(-)
From: Jan Kiszka
A pending vmstop request is also a reason to leave the inner main loop.
So far we ignored it, and pending stop requests issued over VCPU threads
were simply ignored.
Signed-off-by: Jan Kiszka
Signed-off-by: Marcelo Tosatti
---
vl.c | 14 +-
1 files changed, 5 in
From: Jan Kiszka
KVM-assisted devices need access to it but we have no clean channel to
distribute a reference. As a workaround until there is a better
solution, export kvm_state for global use, though use should remain
restricted to the mentioned scenario.
Signed-off-by: Jan Kiszka
Signed-off-
From: Jan Kiszka
We do not use the timeout, so drop its logic. As we always poll our
signals, we do not need to drop the global lock. Removing those calls
allows some further simplifications. Also fix the error processing of
sigpending at this chance.
Signed-off-by: Jan Kiszka
Reviewed-by: Paol
From: Jan Kiszka
First of all, vm_can_run is a misnomer, it actually means "no request
pending". Moreover, there is no need to check all pending requests
twice, the first time via the inner loop check and then again when
actually processing the requests. We can simply remove the inner loop
and do
From: Jan Kiszka
Instead of fiddling with debug_requested and vmstop_requested directly,
introduce qemu_system_debug_request and turn qemu_system_vmstop_request
into a public interface. This aligns those services with exiting ones in
vl.c.
Signed-off-by: Jan Kiszka
Signed-off-by: Marcelo Tosatt
From: Jan Kiszka
We do not need to abort, but the user should be notified that weird
things go on.
Signed-off-by: Jan Kiszka
Signed-off-by: Marcelo Tosatti
---
target-i386/kvm.c | 16 +---
1 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/target-i386/kvm.c b/target
1 - 100 of 154 matches
Mail list logo