From: KONRAD Frederic fred.kon...@greensocs.com
This is the async_safe_work introduction bit of the Multithread TCG work.
Rebased on current upstream (6169b60285fe1ff730d840a49527e721bfb30899).
It can be cloned here:
http://git.greensocs.com/fkonrad/mttcg.git branch async_work_v2
The first
From: KONRAD Frederic fred.kon...@greensocs.com
This flag indicates if the VCPU is currently executing TCG code.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
Changes V1 - V2:
* do both tcg_executing = 0 or 1 in cpu_exec().
---
cpu-exec.c| 2 ++
include/qom/cpu.h | 3 +++
From: KONRAD Frederic fred.kon...@greensocs.com
This protects queued_work_* used by async_run_on_cpu, run_on_cpu and
flush_queued_work with a new lock (work_mutex) to prevent multiple (concurrent)
access.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
Changes V1 - V2:
* Unlock the
From: KONRAD Frederic fred.kon...@greensocs.com
This protects queued_work_* used by async_run_on_cpu, run_on_cpu and
flush_queued_work with a new lock (work_mutex) to prevent multiple (concurrent)
access.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
cpus.c| 9
From: KONRAD Frederic fred.kon...@greensocs.com
This introduces a DPCD module. It wires on a aux-bus and can be accessed by
driver to get lane-speed, etc.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
default-configs/aarch64-softmmu.mak | 1 +
hw/display/Makefile.objs
From: KONRAD Frederic fred.kon...@greensocs.com
This is the implementation of the DisplayPort.
It has an aux-bus to access dpcd and edid .
Graphic plane is connected to the channel 3.
Video plane is connected to the channel 0.
Audio stream are connected to the channels 4 and 5.
Signed-off-by:
From: KONRAD Frederic fred.kon...@greensocs.com
This does a write to every slaves when the I2C bus get a write to address 0.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
hw/i2c/core.c | 45 -
1 file changed, 44 insertions(+), 1
From: KONRAD Frederic fred.kon...@greensocs.com
This adds the DP and the DPDMA to the Zynq MP.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
Reviewed-by: Peter Crosthwaite peter.crosthwa...@xilinx.com
---
hw/arm/xlnx-zynqmp.c | 20
From: KONRAD Frederic fred.kon...@greensocs.com
This is the implementation of the DPDMA.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
hw/dma/Makefile.objs | 1 +
hw/dma/xlnx_dpdma.c | 789 +++
hw/dma/xlnx_dpdma.h | 77 +
3
From: Peter Maydell peter.mayd...@linaro.org
Implement an I2C slave which implements DDC and returns the
EDID data for an attached monitor.
Signed-off-by: Peter Maydell peter.mayd...@linaro.org
- Rebased on the current master.
- Modified for QOM.
Signed-off-by: KONRAD Frederic
was to implement a dummy-clk
driver in the kernel. It's a clock which does nothing but fakes a clock such
that the DPDMA driver works. The patch will be send separately.
* The graphic plane works on channel 3, video on channel 0 and audios on
channel 4 and 5.
Thanks,
Fred
V2 - V3 changes:
* dpcd
From: KONRAD Frederic fred.kon...@greensocs.com
This introduces a new bus: aux-bus.
It contains an address space for aux slaves devices and a bridge to an I2C bus
for I2C through AUX transactions.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
default-configs/aarch64-softmmu.mak
From: KONRAD Frederic fred.kon...@greensocs.com
Seems this field is not needed.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
hw/i2c/core.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/hw/i2c/core.c b/hw/i2c/core.c
index 5a64026..e0f92de 100644
--- a/hw/i2c/core.c
+++
qemu-system-arm
We don't benefit significantly, though, when the guest is not fully
loading a host CPU.
Note that this patch depends on
http://thread.gmane.org/gmane.comp.emulators.qemu/118657
Changes from Fred Konrad:
* Rebase on the current HEAD.
* Fixes a deadlock in qemu_devices_reset
From: KONRAD Frederic fred.kon...@greensocs.com
spinlock is only used in two cases:
* cpu-exec.c: to protect TranslationBlock
* mem_helper.c: for lock helper in target-i386 (which seems broken).
It's a pthread_mutex_t in user-mode so better using QemuMutex directly in this
case.
It allows as
From: KONRAD Frederic fred.kon...@greensocs.com
This removes tcg_halt_cond global variable.
We need one QemuCond per virtual cpu for multithread TCG.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
cpus.c | 18 +++---
1 file changed, 7 insertions(+), 11 deletions(-)
From: KONRAD Frederic fred.kon...@greensocs.com
This makes qemu_cpu_kick_thread public.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
cpus.c| 2 +-
include/sysemu/cpus.h | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/cpus.c b/cpus.c
index
From: KONRAD Frederic fred.kon...@greensocs.com
Some architectures allow to flush the tlb of other VCPUs. This is not a problem
when we have only one thread for all VCPUs but it definitely needs to be an
asynchronous work when we are in true multithreaded work.
TODO: Some test case, I fear some
From: KONRAD Frederic fred.kon...@greensocs.com
This switches on multithread.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
Changes V5 - V6:
* make qemu_cpu_kick calling qemu_cpu_kick_thread in case of TCG.
---
cpus.c | 95
From: KONRAD Frederic fred.kon...@greensocs.com
We need to know whether any other VCPU is executing code or not it's possible
with this flag.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
cpu-exec.c| 1 +
cpus.c| 1 +
include/qom/cpu.h | 3 +++
qom/cpu.c
From: KONRAD Frederic fred.kon...@greensocs.com
Instead of doing the jump cache invalidation directly in tb_invalidate delay it
after the exit so we don't have an other CPU trying to execute the code being
invalidated.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
translate-all.c
From: KONRAD Frederic fred.kon...@greensocs.com
This mechanism replaces the existing load/store exclusive mechanism which seems
to be broken for multithread.
It follows the intention of the existing mechanism and stores the target address
and data values during a load operation and checks that
From: KONRAD Frederic fred.kon...@greensocs.com
tb_flush is not thread safe we definitely need to exit VCPUs to do that.
This introduces tb_flush_safe which just creates an async safe work which will
do a tb_flush later.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
From: KONRAD Frederic fred.kon...@greensocs.com
This changes just the tb_flush called from tb_alloc.
TODO:
* changes the other tb_flush.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
translate-all.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
From: KONRAD Frederic fred.kon...@greensocs.com
We already had async_run_on_cpu but we need all VCPUs outside their execution
loop to execute some tb_flush/invalidate task:
async_run_on_cpu_safe schedule a work on a VCPU but the work start when no more
VCPUs are executing code.
When a safe work
From: Guillaume Delbergue guillaume.delber...@greensocs.com
WARNING: spin lock is currently not implemented on WIN32
Signed-off-by: Guillaume Delbergue guillaume.delber...@greensocs.com
---
include/qemu/thread-posix.h | 4
include/qemu/thread-win32.h | 4
include/qemu/thread.h
From: KONRAD Frederic fred.kon...@greensocs.com
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
cpus.c| 2 +-
include/qom/cpu.h | 11 +++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/cpus.c b/cpus.c
index 4f0e54d..2d62a35 100644
--- a/cpus.c
From: KONRAD Frederic fred.kon...@greensocs.com
This is the 6th round of the MTTCG patch series with hopefully a lot of
improvements since the last version. Basically the atomic patch has been
significantly improved, some issues has been fixed and the speed has been
improved.
It can be cloned
From: KONRAD Frederic fred.kon...@greensocs.com
This just removes spinlock as it is not used anymore.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
include/exec/spinlock.h | 49 -
scripts/checkpatch.pl | 9 ++---
2 files
From: KONRAD Frederic fred.kon...@greensocs.com
This removes exit_request global and adds a variable in CPUState for this.
Only the flag for the first cpu is used for the moment as we are still with one
TCG thread.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
cpu-exec.c | 15
From: KONRAD Frederic fred.kon...@greensocs.com
This protects TBContext with tb_lock to make tb_* thread safe.
We can still have issue with tb_flush in case of multithread TCG:
An other CPU can be executing code during a flush.
This can be fixed later by making all other TCG thread exiting
From: KONRAD Frederic fred.kon...@greensocs.com
This just use the new mechanism to ensure that each VCPU thread flush its own
VCPU.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
target-arm/helper.c | 45 +++--
1 file changed, 7
From: KONRAD Frederic fred.kon...@greensocs.com
This mechanism replaces the existing load/store exclusive mechanism which seems
to be broken for multithread.
It follows the intention of the existing mechanism and stores the target address
and data values during a load operation and checks that
From: KONRAD Frederic fred.kon...@greensocs.com
This is the implementation of the DPDMA.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
hw/dma/Makefile.objs | 1 +
hw/dma/xilinx_dpdma.c | 779 ++
hw/dma/xilinx_dpdma.h | 71 +
From: KONRAD Frederic fred.kon...@greensocs.com
This is the implementation of the DisplayPort.
It has an aux-bus to access dpcd and edid needed for the driver to complete.
Graphic plane is connected to the channel 3.
Video plane is connected to the channel 0.
Audio stream are connected to the
but fakes a clock such
that the DPDMA driver works. The patch will be send separately.
* The graphic plane works on channel 3, video on channel 0 and audios on
channel 4 and 5.
Thanks,
Fred
V1 - V2 changes:
* xlnx-zynqmp:
* Remove the dummy object_property_add_child(..).
* dpcd
From: KONRAD Frederic fred.kon...@greensocs.com
This introduces a DPCD modules. It wires on a aux-bus and can be accessed by
driver to get lane-speed, etc.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
hw/display/Makefile.objs | 1 +
hw/display/dpcd.c| 151
From: KONRAD Frederic fred.kon...@greensocs.com
This adds the DP and the DPDMA to the Zynq MP.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
hw/arm/xlnx-zynqmp.c | 20
include/hw/arm/xlnx-zynqmp.h | 4
2 files changed, 24 insertions(+)
diff
From: Peter Maydell peter.mayd...@linaro.org
Implement an I2C slave which implements DDC and returns the
EDID data for an attached monitor.
Signed-off-by: Peter Maydell peter.mayd...@linaro.org
- Rebased on the current master.
- Modified for QOM.
Signed-off-by: KONRAD Frederic
From: KONRAD Frederic fred.kon...@greensocs.com
This introduces a new bus: aux-bus.
It contains an address space for aux slaves devices and a bridge to an I2C bus
for I2C through AUX transactions.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
hw/misc/Makefile.objs | 1 +
From: KONRAD Frederic fred.kon...@greensocs.com
This does a write to every slaves when the I2C bus get a write to address 0.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
hw/i2c/core.c | 46 +-
1 file changed, 45 insertions(+), 1
From: KONRAD Frederic fred.kon...@greensocs.com
This mechanism replaces the existing load/store exclusive mechanism which seems
to be broken for multithread.
It follows the intention of the existing mechanism and stores the target address
and data values during a load operation and checks that
From: KONRAD Frederic fred.kon...@greensocs.com
This adds the DP and the DPDMA to the Zynq MP.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
hw/arm/xlnx-zynqmp.c | 23 +++
include/hw/arm/xlnx-zynqmp.h | 4
2 files changed, 27 insertions(+)
diff
From: KONRAD Frederic fred.kon...@greensocs.com
This allows to create a surface with a different format than xrgb.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
Cc: Gerd Hoffmann kra...@redhat.com
---
include/ui/console.h | 2 ++
ui/console.c | 25
From: KONRAD Frederic fred.kon...@greensocs.com
This is the implementation of the DPDMA.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
hw/dma/Makefile.objs |1 +
hw/dma/xilinx_dpdma.c | 1149 +
hw/dma/xilinx_dpdma.h | 71 +++
From: Peter Maydell peter.mayd...@linaro.org
Implement an I2C slave which implements DDC and returns the
EDID data for an attached monitor.
Signed-off-by: Peter Maydell peter.mayd...@linaro.org
- Rebased on the current master.
- Modified for QOM.
Signed-off-by: KONRAD Frederic
in the kernel. It's a clock which does nothing but fakes a clock such
that the DPDMA driver works. The patch will be send separately.
* The graphic plane works on channel 3, video on channel 0 and audios on
channel 4 and 5.
Thanks,
Fred
KONRAD Frederic (7):
Introduce AUX bus.
i2c: implement
From: KONRAD Frederic fred.kon...@greensocs.com
This introduces a DPCD modules. It wires on a aux-bus and can be accessed by
driver to get lane-speed, etc.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
hw/display/Makefile.objs | 1 +
hw/display/dpcd.c| 139
From: KONRAD Frederic fred.kon...@greensocs.com
This introduces a new bus: aux-bus.
It contains an address space for aux slaves devices and a bridge to an I2C bus
for I2C through AUX transactions.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
hw/misc/Makefile.objs | 1 +
From: KONRAD Frederic fred.kon...@greensocs.com
This does a write to every slaves when the I2C bus get a write to address 0.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
hw/i2c/core.c | 46 +-
1 file changed, 45 insertions(+), 1
From: KONRAD Frederic fred.kon...@greensocs.com
This is the implementation of the DisplayPort.
It has an aux-bus to access dpcd and edid needed for the driver to complete.
Graphic plane is connected to the channel 3.
Video plane is connected to the channel 0.
Audio stream are connected to the
*** This bug is a duplicate of bug 1346917 ***
https://bugs.launchpad.net/bugs/1346917
Same bluescreen again on day 9 after the kernel upgrade.
So upgrading Kernel from 3.13 to 3.16 did not help.
Still looking for a fix.
--
You received this bug notification because you are a member of
*** This bug is a duplicate of bug 1346917 ***
https://bugs.launchpad.net/bugs/1346917
Just wanted to add that upgrading my kernel to a newer version fixed the
problem for me, too.
Host: 2x E5-2620V2, Ubuntu 14.04 LTS
Guest: 24 virtual cores, Windows Server 2008 R2
Before fix:
sudo uname -a
From: KONRAD Frederic fred.kon...@greensocs.com
spinlock is only used in two cases:
* cpu-exec.c: to protect TranslationBlock
* mem_helper.c: for lock helper in target-i386 (which seems broken).
It's a pthread_mutex_t in user-mode so better using QemuMutex directly in this
case.
It allows as
From: KONRAD Frederic fred.kon...@greensocs.com
This adds a lock to avoid multiple exclusive access at the same time in case of
TCG multithread.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
V1 - V2:
Removed qemu_mutex_destroy().
---
target-arm/cpu.c | 14 ++
qemu-system-arm
We don't benefit significantly, though, when the guest is not fully
loading a host CPU.
Note that this patch depends on
http://thread.gmane.org/gmane.comp.emulators.qemu/118657
Changes from Fred Konrad:
* Rebase on the current HEAD.
* Fixes a deadlock in qemu_devices_reset
From: KONRAD Frederic fred.kon...@greensocs.com
This just removes spinlock as it is not used anymore.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
include/exec/spinlock.h | 49 -
scripts/checkpatch.pl | 9 ++---
2 files
From: KONRAD Frederic fred.kon...@greensocs.com
This removes tcg_halt_cond global variable.
We need one QemuCond per virtual cpu for multithread TCG.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
cpus.c | 18 +++---
1 file changed, 7 insertions(+), 11 deletions(-)
From: KONRAD Frederic fred.kon...@greensocs.com
In order to have one TCGContext per thread and a single TBContext we have to
extract TBContext from TCGContext.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
cpu-exec.c| 18 ++---
linux-user/main.c | 6 ++---
From: KONRAD Frederic fred.kon...@greensocs.com
This removes exit_request global and adds a variable in CPUState for this.
Only the flag for the first cpu is used for the moment as we are still with one
TCG thread.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
cpu-exec.c|
From: KONRAD Frederic fred.kon...@greensocs.com
We need a different TranslationBlock list for each core in case of multithread
TCG.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
translate-all.c | 40 ++--
1 file changed, 22 insertions(+), 18
From: KONRAD Frederic fred.kon...@greensocs.com
This switches on multithread.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
cpus.c | 85 +++---
1 file changed, 30 insertions(+), 55 deletions(-)
diff --git a/cpus.c
From: KONRAD Frederic fred.kon...@greensocs.com
Hi everybody,
This is the start of our work on TCG multithread.
We send it for comment to be sure we are taking the right direction.
We already discussed the first patch but we keep it for simplicity.
We choice to keep a common tbs array for all
From: KONRAD Frederic fred.kon...@greensocs.com
This protects TBContext with tb_lock to make tb_* thread safe.
We can still have issue with tb_flush in case of multithread TCG:
An other CPU can be executing code during a flush.
This can be fixed later by making all other TCG thread exiting
From: KONRAD Frederic fred.kon...@greensocs.com
This adds a lock to avoid multiple exclusive access at the same time in case of
TCG multithread.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
target-arm/cpu.c | 15 +++
target-arm/cpu.h | 3 +++
From: KONRAD Frederic fred.kon...@greensocs.com
This removes num_irq parameter from gic_init_irqs_and_distributor as it is not
used.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
hw/intc/arm_gic.c | 4 ++--
hw/intc/armv7m_nvic.c | 2 +-
hw/intc/gic_internal.h | 2 +-
3
From: KONRAD Frederic fred.kon...@greensocs.com
This makes qemu_savevm_state public for reverse-execution.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
Reviewed-by: Amit Shah amit.s...@redhat.com
Reviewed-by: Juan Quintela quint...@redhat.com
---
include/sysemu/sysemu.h | 1 +
From: KONRAD Frederic fred.kon...@greensocs.com
Hi everybody,
This is the seventh version of this RFC (see the changes below).
The first patches:
migration: make qemu_savevm_state public.
icount: introduce icount timer.
icount: check for icount clock deadline when cpu loop exits.
From: KONRAD Frederic fred.kon...@greensocs.com
This adds some trace-events for reverse execution.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
trace-events | 6 ++
1 file changed, 6 insertions(+)
diff --git a/trace-events b/trace-events
index fb58963..573dea9 100644
---
From: KONRAD Frederic fred.kon...@greensocs.com
This introduces the basic reverse-execution mechanism.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
Makefile.target | 1 +
cpus.c | 6 +
include/reverse-execution.h | 41 ++
From: KONRAD Frederic fred.kon...@greensocs.com
This allows QEMU to trigger a debug exception when rexec_dbg_requested
is set.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
cpu-exec.c | 13 +
1 file changed, 13 insertions(+)
diff --git a/cpu-exec.c b/cpu-exec.c
index
From: KONRAD Frederic fred.kon...@greensocs.com
This introduces a new timer based only on instruction counter and without any
compensation.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
cpus.c | 21 +
include/qemu/timer.h | 9 -
From: KONRAD Frederic fred.kon...@greensocs.com
This creates QEMU options for reverse execution.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
cpus.c | 15 +++
qemu-options.hx | 5 -
vl.c| 9 +++--
3 files changed, 26 insertions(+), 3
From: KONRAD Frederic fred.kon...@greensocs.com
This allows gdb to reverse step QEMU: reverse-stepi and reverse-cont commands
are allowed.
When step_backward is called, QEMU restores a snapshot before the actual
instruction and stops (with a debug exit) when the previous instruction is
reached.
From: KONRAD Frederic fred.kon...@greensocs.com
Notify events on icount clock when CPU loop exits.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
Reviewed-by: Paolo Bonzini pbonz...@redhat.com
---
cpus.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/cpus.c b/cpus.c
index
From: KONRAD Frederic fred.kon...@greensocs.com
We don't want to warp on host clock as it is not deterministic for replay.
So this patch warp icount on the next QEMU_VIRTUAL_CLOCK event if reverse
execution is enabled.
The normal behaviour is kept when reverse execution is disabled.
From: KONRAD Frederic fred.kon...@greensocs.com
This takes icount clock in account for icount extra computation so icount
clock's timers will be triggered at the exact time.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
Reviewed-by: Paolo Bonzini pbonz...@redhat.com
---
cpus.c | 10
for migration based snapshot).
They are rebased on uq/master of
git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git
And can be cloned here:
git://git.greensocs.com/qemu_cexe.git:cexe_1_3_v6_rebased
Thanks,
Fred
KONRAD Frederic (7):
icount: put icount variables into TimerState.
migration: migrate
From: KONRAD Frederic fred.kon...@greensocs.com
This takes icount clock in account for icount extra computation so icount
clock's timers will be triggered at the exact time.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
Reviewed-by: Paolo Bonzini pbonz...@redhat.com
---
cpus.c | 10
From: KONRAD Frederic fred.kon...@greensocs.com
This fixes a bug where qemu_icount and qemu_icount_bias are not migrated.
It adds a subsection timer/icount to vmstate_timers so icount is migrated only
when needed.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
Reviewed-by: Amit Shah
From: KONRAD Frederic fred.kon...@greensocs.com
This puts qemu_icount and qemu_icount_bias into TimerState structure to allow
them to be migrated.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
Reviewed-by: Paolo Bonzini pbonz...@redhat.com
---
cpus.c | 29
From: KONRAD Frederic fred.kon...@greensocs.com
This makes qemu_savevm_state public for reverse-execution.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
Reviewed-by: Amit Shah amit.s...@redhat.com
Reviewed-by: Juan Quintela quint...@redhat.com
---
include/sysemu/sysemu.h | 1 +
From: KONRAD Frederic fred.kon...@greensocs.com
This introduces a new timer based only on instruction counter and without any
compensation.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
cpus.c | 21 +
include/qemu/timer.h | 9 -
From: KONRAD Frederic fred.kon...@greensocs.com
Notify events on icount clock when CPU loop exits.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
Reviewed-by: Paolo Bonzini pbonz...@redhat.com
---
cpus.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/cpus.c b/cpus.c
index
From: KONRAD Frederic fred.kon...@greensocs.com
This adds cpu_icount_to_ns function which is needed for reverse execution.
It returns the time for a specific instruction.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
Reviewed-by: Paolo Bonzini pbonz...@redhat.com
---
cpus.c
From: KONRAD Frederic fred.kon...@greensocs.com
Segfault occurs when there are less than two serial backends with zynq platform.
This checks that s-chr is not NULL before using it.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
Reviewed-by: Peter Crosthwaite
From: KONRAD Frederic fred.kon...@greensocs.com
This checks that s-chr is not NULL before using it.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
hw/char/cadence_uart.c | 15 +++
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/hw/char/cadence_uart.c
From: KONRAD Frederic fred.kon...@greensocs.com
This allows gdb to reverse step QEMU: reverse-stepi and reverse-cont commands
are allowed.
When step_backward is called, QEMU restores a snapshot before the actual
instruction and stops (with a debug exit) when the previous instruction is
reached.
From: KONRAD Frederic fred.kon...@greensocs.com
This adds some trace-events for reverse execution.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
trace-events | 6 ++
1 file changed, 6 insertions(+)
diff --git a/trace-events b/trace-events
index 11a17a8..66f9e08 100644
---
From: Sebastian Tanase sebastian.tan...@openwide.fr
Make icount parameter use QemuOpts style options in order
to easily add other suboptions.
Signed-off-by: Sebastian Tanase sebastian.tan...@openwide.fr
Tested-by: Camille Bégué camille.be...@openwide.fr
---
cpus.c| 10 +-
From: KONRAD Frederic fred.kon...@greensocs.com
This puts qemu_icount and qemu_icount_bias into TimerState structure to allow
them to be migrated.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
Reviewed-by: Paolo Bonzini pbonz...@redhat.com
---
cpus.c | 29
From: KONRAD Frederic fred.kon...@greensocs.com
This introduces the basic reverse-execution mechanism.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
Makefile.target | 1 +
cpus.c | 6 +
include/reverse-execution.h | 41 ++
From: KONRAD Frederic fred.kon...@greensocs.com
This adds cpu_icount_to_ns function which is needed for reverse execution.
It returns the time for a specific instruction.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
Reviewed-by: Paolo Bonzini pbonz...@redhat.com
---
cpus.c
From: KONRAD Frederic fred.kon...@greensocs.com
We don't want to warp on host clock as it is not deterministic for replay.
So this patch warp icount on the next QEMU_VIRTUAL_CLOCK event if reverse
execution is enabled.
The normal behaviour is kept when reverse execution is disabled.
From: KONRAD Frederic fred.kon...@greensocs.com
This makes qemu_savevm_state public for reverse-execution.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
Reviewed-by: Amit Shah amit.s...@redhat.com
Reviewed-by: Juan Quintela quint...@redhat.com
---
include/sysemu/sysemu.h | 1 +
From: KONRAD Frederic fred.kon...@greensocs.com
This allows QEMU to trigger a debug exception when rexec_dbg_requested
is set.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
cpu-exec.c | 13 +
1 file changed, 13 insertions(+)
diff --git a/cpu-exec.c b/cpu-exec.c
index
From: KONRAD Frederic fred.kon...@greensocs.com
This creates QEMU options for reverse execution.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
cpus.c | 15 +++
qemu-options.hx | 6 +-
vl.c| 6 ++
3 files changed, 26 insertions(+), 1
From: KONRAD Frederic fred.kon...@greensocs.com
This fixes a bug where qemu_icount and qemu_icount_bias are not migrated.
It adds a subsection timer/icount to vmstate_timers so icount is migrated only
when needed.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
Reviewed-by: Amit Shah
From: KONRAD Frederic fred.kon...@greensocs.com
Hi everybody,
This is the sixth version of this RFC (see the changes below).
Those are the two first patch-set we have been worked on for reverse execution.
The first part is fully reviewed except the icount: introduce icount timer
patch maybe we
From: KONRAD Frederic fred.kon...@greensocs.com
This introduces a new timer based only on instruction counter and without any
compensation.
Signed-off-by: KONRAD Frederic fred.kon...@greensocs.com
---
cpus.c | 19 ---
include/qemu/timer.h | 9 -
201 - 300 of 809 matches
Mail list logo