Add a model of the generic DMA found on Xilinx ZynqMP.
Signed-off-by: Francisco Iglesias
Signed-off-by: Edgar E. Iglesias
---
hw/dma/Makefile.objs | 1 +
hw/dma/xlnx-zdma.c | 833 +
include/hw/dma/xlnx-zdma.h | 84 +
3 files chang
The ZynqMP contains two instances of a generic DMA, the GDMA, located in the
FPD (full power domain), and the ADMA, located in LPD (low power domain). This
patch adds these two DMAs to the ZynqMP board.
Signed-off-by: Francisco Iglesias
---
hw/arm/xlnx-zynqmp.c | 53
Hi,
The ZynqMP Soc contains two separate instances of a generic DMA, one located in
the FPD (full power domain) called GDMA and a second one located in the LPD
(low power domain) called ADMA. This patch series attempts to add emulation
support for these two DMAs on the ZynqMP board. The first patc
Ive been looking into the possibility of using a unix signal to send an
acpi shutdown request to a VM, and came across a posting on this l in
March 1. See
https://lists.nongnu.org/archive/html/qemu-devel/2017-03/msg04169.html
To summarise to refresh memories there was a patch proposed using
I am getting the exact same issue. The freeze occurred when I tried to
install Ubuntu 18.04 with qemu-2.12. However, it seems to be working
just fine with qemu-2.11.1. So it seems that something in between 2.11.1
and 2.12 is the culprit.
--
You received this bug notification because you are a mem
Repairing OFLAG_COPIED is usually safe because it is done after the
refcounts have been repaired. Therefore, it we did not find anyone else
referencing a data or L2 cluster, it makes no sense to not set
OFLAG_COPIED -- and the other direction (clearing OFLAG_COPIED) is
always safe, anyway, it may
This adds a test for an I/O error during snapshot deletion, and maybe
more importantly, for how to repair the resulting image. If the
snapshot has been deleted before the error occurs, the only negative
result will be leaked clusters -- and those should be repairable with
qemu-img check -r leaks.
Suppose you have an image with consistent OFLAG_COPIED and refcounts.
Now further suppose that image has leaked clusters (single reference,
but refcount 2). When checking such an image with qemu-img check, it
will notify you of the leakage, and that's it.
Now when trying to repair that image, you
For qemu-io, a function returns an integer with two possible values: 0
for "qemu-io may continue execution", or 1 for "qemu-io should exit".
However, there is only a single command that returns 1, and that is
"quit".
So let's turn this case into a global variable instead so we can make
better use
As a showcase of how you can use qemu-io's exit code to determine
success or failure (same for qemu-img), this test is changed to use
qemu_io_silent() instead of qemu_io(), and to assert the exit code
instead of logging the filtered result.
One real advantage of this is that in case of an error, y
This is basically what everything else in the qemu code base does, so we
can do it here, too.
Signed-off-by: Max Reitz
---
include/qemu-io.h | 4 +-
qemu-io-cmds.c| 346 --
qemu-io.c | 34 --
3 files changed, 227 insertions(+
Currently, qemu-io basically always returns success when it gets to
interactive mode (so once the whole command line has been parsed; even
before the commands on the command line are interpreted). That is not
very useful.
This patch makes qemu-io return failure when any of the executed
commands f
With qemu-io now returning a useful exit code, some tests may find it
sufficient to just query that instead of logging (and filtering) the
whole output.
Signed-off-by: Max Reitz
---
tests/qemu-iotests/iotests.py | 9 +
1 file changed, 9 insertions(+)
diff --git a/tests/qemu-iotests/iote
Right now, qemu-io's exit code is rather useless as it is usually 0.
Except sometimes, then it's 1 in case of an error (mostly when you
specify a filename as an argument and it cannot open that).
At the same time, most command functions' return values are rather
useless as they are usually 0 (mean
This patch enables using -loadvm in recording mode to allow starting
the execution recording from any of the available snapshots.
It also fixes loading of the record/replay state, therefore snapshots
created in replay mode may also be used for starting the new recording.
Signed-off-by: Pavel Dovga
Non-empty record/replay queue prevents saving and loading the VM state,
because it includes pending bottom halves and block coroutines.
But when the new VM state is loaded, we don't have to preserve the consistency
of the current state anymore. Therefore this patch just flushes the queue
allowing t
Ciro Santilli reported that commit a5ed352596a8b7eb2f9acce34371b944ac3056c4
breaks the execution replay. It happens due to the probing the clock
for the new instances of iothread.
However, this probing was made in replay mode for the timer lists that
are empty.
This patch removes clock probing in r
This patch adds events processing when emulation finishes instead
of just cleaning the queue. Now the bdrv coroutines will be in consistent
state when emulator closes. It allows correct polling of the block layer
at exit.
Signed-off-by: Pavel Dovgalyuk
---
replay/replay-events.c | 14 +--
This patch introduces the icount field for saving within the snapshot.
It is required for navigation between the snapshots in record/replay mode.
Signed-off-by: Pavel Dovgalyuk
--
v2:
- documented format changes in docs/interop/qcow2.txt
(suggested by Eric Blake)
---
block/qcow2-snapshot.c
This patch adds support of the reverse continue operation for gdbstub.
Reverse continue finds the last breakpoint that would happen in normal
execution from the beginning to the current moment.
Implementation of the reverse continue replays the execution twice:
to find the breakpoints that were hit
This patch updates the documentation and describes usage of the reverse
debugging in QEMU+GDB.
Signed-off-by: Pavel Dovgalyuk
---
docs/replay.txt | 33 +
1 file changed, 33 insertions(+)
diff --git a/docs/replay.txt b/docs/replay.txt
index f7def53..086d3f8 1006
This patch introduces 'info replay' monitor command and
corresponding qmp request.
These commands request the current record/replay mode, replay log file name,
and the execution step (number or recorded/replayed instructions).
Signed-off-by: Pavel Dovgalyuk
--
v2:
- renamed info_replay qmp int
QEMU cannot pass through the breakpoints when 'si' command is used
in remote gdb. This patch disables inserting the breakpoints
when we are already single stepping though the gdb remote protocol.
This patch also fixes icount calculation for the blocks that include
breakpoints - instruction with bre
GDB remote protocol supports two reverse debugging commands:
reverse step and reverse continue.
This patch adds support of the first one to the gdbstub.
Reverse step is intended to step one instruction in the backwards
direction. This is not possible in regular execution.
But replayed execution is
Saving icount as a parameters of the snapshot allows navigation between
them in the execution replay scenario.
This information can be used for finding a specific snapshot for rewinding
the recorded execution to the specific moment of the time.
E.g., 'reverse step' action needs to load the nearest
After recent updates block devices cannot be closed on qemu exit.
This happens due to the block request polling when replay is not finished.
Therefore now we stop execution recording before closing the block devices.
Signed-off-by: Pavel Dovgalyuk
---
replay/replay.c |2 ++
vl.c|
This patch removes refactoring artifacts from the replay/replay-time.c
Signed-off-by: Pavel Dovgalyuk
---
replay/replay-time.c | 27 ++-
1 file changed, 10 insertions(+), 17 deletions(-)
diff --git a/replay/replay-time.c b/replay/replay-time.c
index 6a7565e..40030b8 10
This patch updates the description of the command lines for using
record/replay with attached block devices.
Signed-off-by: Pavel Dovgalyuk
---
docs/replay.txt | 12 +---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/docs/replay.txt b/docs/replay.txt
index 2e21e9c..f7de
This patch introduces replay_break qmp and hmp commands.
These commands allow stopping at the specified instruction.
It may be useful for debugging when there are some known
events that should be investigated.
The commands have one argument - number of instructions
executed since the start of the r
In record/replay mode bdrv queue is controlled by replay mechanism.
It does not allow saving or loading the snapshots
when bdrv queue is not empty. Stopping the VM is not blocked by nonempty
queue, but flushing the queue is still impossible there,
because it may cause deadlocks in replay mode.
This
This patch adds hmp/qmp commands replay_seek/replay-seek that proceed
the execution to the specified step.
The commands automatically loads nearest snapshot and replay the execution
to find the desired step.
Signed-off-by: Pavel Dovgalyuk
--
v2:
- renamed replay_seek qmp command into replay-se
GDB remote protocol supports reverse debugging of the targets.
It includes 'reverse step' and 'reverse continue' operations.
The first one finds the previous step of the execution,
and the second one is intended to stop at the last breakpoint that
would happen when the program is executed normally.
From: Pavel Dovgalyuk
This patch disables setting '-snapshot' option on by default
in record/replay mode. This is needed for creating vmstates in record
and replay modes.
Signed-off-by: Pavel Dovgalyuk
---
vl.c | 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/vl
From: Pavel Dovgalyuk
This patch enables making snapshots with blkreplay used in
block devices.
This function is required to make bdrv_snapshot_goto without
calling .bdrv_open which is not implemented.
Signed-off-by: Pavel Dovgalyuk
---
block/blkreplay.c |8
1 file changed, 8 inse
On 2018-04-26 04:12, Eric Blake wrote:
> On 04/25/2018 10:08 AM, Max Reitz wrote:
>
>>
>>> Also, that does raise the question of whether you have more work to
>>> support write-zero requests with WRITE_UNCHANGED (which indeed sounds
>>> like something plausible to support).
>>
>> I'm afraid I don'
On 2018-04-27 08:22, Fam Zheng wrote:
> On Sat, 04/21 00:09, Max Reitz wrote:
>> When creating a file, we should take the WRITE and RESIZE permissions.
>> We do not need either for the creation itself, but we do need them for
>> clearing and resizing it. So we can take the proper permissions by
>>
> > > > +int err;
> > > > +
> > > > +sg_init_one(&sg, buf, sizeof(buf));
> > > > +
> > > > +err = virtqueue_add_outbuf(vpmem->req_vq, &sg, 1, buf,
> > > > GFP_KERNEL);
> > > > +
> > > > +if (err) {
> > > > +dev_err(&vdev->dev, "failed to send comman
On Sat, Apr 28, 2018 at 10:27 AM, Pavel Dovgalyuk wrote:
>
>
>> -Original Message-
>> From: Ciro Santilli [mailto:ciro.santi...@gmail.com]
>> Sent: Saturday, April 28, 2018 11:13 AM
>> To: Pavel Dovgalyuk
>> Subject: Re: [RFC PATCH 00/17] reverse debugging
>>
>> Forgetting about debugging,
ppc64 uses a BC instruction to call the tcg_out_qemu_ld/st
slow path. BC instruction uses a relative address encoded
on 14 bits.
The slow path functions are added at the end of the generated
instructions buffer, in the reverse order of the callers.
So more we have slow path functions more the dist
On Sat, Apr 28, 2018 at 9:12 AM, Pavel Dovgalyuk wrote:
>> From: Ciro Santilli [mailto:ciro.santi...@gmail.com]
>> On Thu, Apr 26, 2018 at 1:34 PM, Pavel Dovgalyuk wrote:
>> >> From: Ciro Santilli [mailto:ciro.santi...@gmail.com]
>> >> On Wed, Apr 25, 2018 at 1:45 PM, Pavel Dovgalyuk
>> >> wrote
Forgetting about debugging, I belive there is a deadlock in the replay
at 63d426dfa4fbfac3d50cda3f553cd975de2b85ea , but it is rare.
I have only reproduced it on ARM so far, and I haven't checked pre-patch.
The setup is
https://github.com/cirosantilli/qemu-test/tree/6a3497f0d84e7c86ef80f7322e24e
From: Xiao Guangrong
Fix the bug introduced by da3f56cb2e767016 (migration: remove
ram_save_compressed_page()), It should be 'return' rather than
'res'
Sorry for this stupid mistake :(
Signed-off-by: Xiao Guangrong
---
migration/ram.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
dif
42 matches
Mail list logo