Il 10/08/2013 13:05, Alex Bligh ha scritto:
> Despite the fact we both dislike the name TimerListGroup, I
> think the way to go here is (1). (2) does not really save lines
> of code (certainly not compiled instructions) - it's main saving
> is removing a pile of commenting from include/qemu/timer.h
Paolo,
--On 11 August 2013 09:53:38 +0200 Paolo Bonzini
wrote:
There is actually a disadvantage of moving TimerListGroup to AioContext.
The disadvantage is that GSources can only work with millisecond
resolution. Thus you would need anyway some special casing of the
"timer AioContext" to g
On Fri, Aug 9, 2013 at 7:19 PM, Richard Henderson wrote:
> We have one host platform (aarch64), and three target platforms
> (openrisc, unicore32, xtensa) with no built-in disassembly support,
> thanks largely to gplv3 silliness.
>
> Here's a first-cut at handling these cases with an external tool
We're going to a (hopefully) 3-week vacation starting
today, and I don't expect any internet access there.
So I wont be able to handle trivial-patches during
this time (till Aug-2013).
Thanks,
/mjt
On Fri, Aug 02, 2013 at 10:27:31AM +0200, Paolo Bonzini wrote:
> On 08/02/2013 09:04 AM, Hu Tao wrote:
> >The problem with pvpanic being an internal device is that VMs running
> >operating systems without a driver for this device will have problems
> >when qemu will be upgraded (from qemu without t
I was unable to reproduce the original issue on Mac OS X 10.8.4 using
the current master. However, I was also unable to reproduce the original
issue on the stable-1.5 branch which does not have the fix by Izumi
Tsutsui linked above. As this second fix is only for a problem that
appears in certain l
The redundant notification caused the Windows' driver to duplicate the
pending write request's buffer. The driver was fixed, but I think this
change is still required.
Signed-off-by: Gal Hammer
---
hw/char/virtio-serial-bus.c | 6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git
On Fri, Jul 26, 2013 at 04:41:27PM +0100, Peter Maydell wrote:
> A queue size of 0 is used to indicate a nonexistent queue, so
> don't allow the guest to flip a queue between zero-size and
> non-zero-size. Don't permit setting of negative queue sizes
> either.
>
> Signed-off-by: Peter Maydell
R
On Fri, Jul 26, 2013 at 04:41:28PM +0100, Peter Maydell wrote:
> The virtio-mmio spec says that QueueNumMax must read zero for queues
> which are unavailable; implement this, rather than always returning
> VIRTQUEUE_MAX_SIZE.
>
> Signed-off-by: Peter Maydell
Reviewed-by: Michael S. Tsirkin
>
On Fri, Aug 09, 2013 at 04:47:40PM +0100, Peter Maydell wrote:
> On 26 July 2013 16:41, Peter Maydell wrote:
> > These patches fix a couple of bugs in virtio-mmio's
> > handling of the registers that deal with the queue size:
> >
> > * as mst points out, letting the guest flip a queue between
> >
On Sat, Aug 10, 2013 at 01:09:08AM +1000, Alexey Kardashevskiy wrote:
> A PCI device's DMA address space (possibly an IOMMU) is returned by a
> method on the PCIBus. At the moment that only has one caller, so the
> method is simply open coded. We'll need another caller for VFIO, so
> this patch i
Hi,
Am 10.08.2013 13:20, schrieb Alex Bligh:
> Occasionally running make check I am seeing the following opaque error:
> ERROR:tests/libqtest.c:69:init_socket: assertion failed (ret != -1): (-1
> != -1)
>
> Rerunning it it runs clean. Any ideas?
Most likely a previous qtest will have failed, lea
On 08/11/2013 11:58 PM, Michael S. Tsirkin wrote:
> On Sat, Aug 10, 2013 at 01:09:08AM +1000, Alexey Kardashevskiy wrote:
>> A PCI device's DMA address space (possibly an IOMMU) is returned by a
>> method on the PCIBus. At the moment that only has one caller, so the
>> method is simply open coded.
Am 11.08.2013 12:33, schrieb Michael S. Tsirkin:
> On Fri, Aug 02, 2013 at 10:27:31AM +0200, Paolo Bonzini wrote:
>> On 08/02/2013 09:04 AM, Hu Tao wrote:
>>> The problem with pvpanic being an internal device is that VMs running
>>> operating systems without a driver for this device will have probl
Hi,
This problem has been solved by
commit 7b7ab18d0b9769b5f39e663fa55caed461b1202e:
Author: Michael Roth
Date: Tue Jul 30 13:04:22 2013 -0500
chardev: fix CHR_EVENT_OPENED events for mux chardevs
Patch link:
http://patchwork.ozlabs.org/patch/263458/
** Changed in: qemu
Status: New
On 11 Aug 2013, at 15:22, Andreas Färber wrote:
> Am 10.08.2013 13:20, schrieb Alex Bligh:
>> Occasionally running make check I am seeing the following opaque error:
>> ERROR:tests/libqtest.c:69:init_socket: assertion failed (ret != -1): (-1
>> != -1)
>>
>> Rerunning it it runs clean. Any ideas?
This patch is based on Hu Tao's:
http://lists.nongnu.org/archive/html/qemu-devel/2013-08/msg00124.html
No need to hard-code pvpanic as part of the machine.
It can be added with "-device pvpanic" from command line (The next patch).
Anyway, for backport compatibility it is still part of 1.5
machine.
This patch is based on Hu Tao's:
http://lists.nongnu.org/archive/html/qemu-devel/2013-08/msg00125.html
The pvpanic device may be enabled now with "-device pvpanic"
from command line.
Signed-off-by: Marcel Apfelbaum
---
Changes from V1:
- Addressed Andreas Färber review (removed bus type)
- Sma
On Sun, Aug 11, 2013 at 04:45:03PM +0200, Andreas Färber wrote:
> Am 11.08.2013 12:33, schrieb Michael S. Tsirkin:
> > On Fri, Aug 02, 2013 at 10:27:31AM +0200, Paolo Bonzini wrote:
> >> On 08/02/2013 09:04 AM, Hu Tao wrote:
> >>> The problem with pvpanic being an internal device is that VMs runnin
Creating the pvpanic device as part of the machine type has the
potential to trigger guest OS, guest firmware and driver bugs.
The potential of such was originally viewed as minimal.
However, since releasing 1.5 with pvpanic as part
of the builtin machine type, several issues were observed
in the f
On Sun, 2013-08-11 at 16:45 +0200, Andreas Färber wrote:
> Am 11.08.2013 12:33, schrieb Michael S. Tsirkin:
> > On Fri, Aug 02, 2013 at 10:27:31AM +0200, Paolo Bonzini wrote:
> >> On 08/02/2013 09:04 AM, Hu Tao wrote:
> >>> The problem with pvpanic being an internal device is that VMs running
> >>>
VMware ESX hosts use a variant of the VMDK3 format, identified by the
vmfsSparse create type ad the VMFSSPARSE extent type.
It has 16 KB grain tables (L2) and a variable-size grain directory (L1).
In addition, the grain size is always 512, but that is not a problem
because it is included in the he
VMware ESX hosts also use different create and extent types for flat
files, respectively "vmfs" and "VMFS". This is not documented, but it
can be found at http://kb.vmware.com/kb/10002511 (Recreating a missing
virtual machine disk (VMDK) descriptor file).
Signed-off-by: Paolo Bonzini
---
block/
So I thought I was on vacation, but my neighbor (who has a small data
recovery company) asked me if I knew how to extract metadata from
ESX images.
Sure, said I, thinking there would be no better test case for my metadata
dump patches. However, ESX files are slightly different from "hosted"
files
Rename qemu_new_clock to qemu_clock_new.
Expose clock types.
Signed-off-by: Alex Bligh
---
include/qemu/timer.h |4
qemu-timer.c | 12
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/include/qemu/timer.h b/include/qemu/timer.h
index a9afdb3..da43cb
Add utility functions to qemu-timer.c for nanosecond timing.
Add qemu_clock_deadline_ns to calculate deadlines to
nanosecond accuracy.
Add utility function qemu_soonest_timeout to calculate soonest deadline.
Add qemu_timeout_ns_to_ms to convert a timeout in nanoseconds back to
milliseconds for w
Where supported, called prctl(PR_SET_TIMERSLACK, 1, ...) to
set one nanosecond timer slack to increase precision of timer
calls.
Signed-off-by: Alex Bligh
---
configure| 18 ++
qemu-timer.c |7 +++
2 files changed, 25 insertions(+)
diff --git a/configure b/configur
Add a QEMUTimerListGroup each AioContext (meaning a QEMUTimerList
associated with each clock is added) and delete it when the
AioContext is freed.
Signed-off-by: Alex Bligh
---
async.c |2 ++
include/block/aio.h |4
tests/test-aio.c |3 +++
tests/te
Add aio_timer_init and aio_timer_new wrapper functions.
Signed-off-by: Alex Bligh
---
include/block/aio.h | 43 +++
1 file changed, 43 insertions(+)
diff --git a/include/block/aio.h b/include/block/aio.h
index a13f6e8..07d5053 100644
--- a/include/block
On qemu_mod_timer_ns, ensure qemu_notify or aio_notify is called to
end the appropriate poll(), irrespective of use_icount value.
On qemu_clock_enable, ensure qemu_notify or aio_notify is called for
all QEMUTimerLists attached to the QEMUClock.
Signed-off-by: Alex Bligh
---
include/qemu/timer.h
Convert mainloop to use timeout from default timerlist group
(i.e. the current 3 static timers)
Signed-off-by: Alex Bligh
---
main-loop.c | 45 ++---
1 file changed, 34 insertions(+), 11 deletions(-)
diff --git a/main-loop.c b/main-loop.c
index a44fff6.
Introduce new API for creating timers - timer_new and
_ns, _ms, _us derivatives.
Signed-off-by: Alex Bligh
---
include/qemu/timer.h | 69 ++
1 file changed, 69 insertions(+)
diff --git a/include/qemu/timer.h b/include/qemu/timer.h
index 11a6c61.
Rename four functions in preparation for new API.
Rename qemu_timer_expired to timer_expired
Rename qemu_timer_expire_time_ns to timer_expire_time_ns
Rename qemu_timer_pending to timer_pending
Rename qemu_timer_expired_ns to timer_expired_ns
Signed-off-by: Alex Bligh
---
backends/baum.c
Add a test harness for AioContext timers. The g_source equivalent is
unsatisfactory as it suffers from false wakeups.
Signed-off-by: Alex Bligh
---
tests/test-aio.c | 136 ++
1 file changed, 136 insertions(+)
diff --git a/tests/test-aio.c b/t
Convert aio_poll to use deadline based on AioContext's timers.
aio_poll has been changed to return accurately whether progress
has occurred. Prior to this commit, aio_poll always returned
true if g_poll was entered, whether or not any progress was
made. This required a change to tests/test-aio.c w
Add documentation for existing qemu timer calls. Add new format
calls of the format timer_XXX rather than qemu_XXX_timer
for consistency.
Signed-off-by: Alex Bligh
---
include/qemu/timer.h | 206 --
1 file changed, 184 insertions(+), 22 deletions(
Remove the legacy interface from include/qemu/timers.h.
Ensure struct QEMUClock is not exposed at all.
Signed-off-by: Alex Bligh
---
include/qemu/timer.h | 214 +-
qemu-timer.c | 35 +
2 files changed, 5 insertions(+), 244 delet
Calculate the timeout in aio_ctx_prepare taking into account
the timers attached to the AioContext.
Alter aio_ctx_check similarly.
Signed-off-by: Alex Bligh
---
async.c | 13 +++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/async.c b/async.c
index 2b9ba9b..d8656cc
Convert rtc_clock to be a QEMUClockType
Move rtc_clock users to use the new API
Signed-off-by: Alex Bligh
---
hw/arm/omap1.c|4 ++--
hw/arm/pxa2xx.c | 35 +++
hw/arm/strongarm.c| 10 +-
hw/timer/m48t59.c |
[ This patch set is available from git at:
https://github.com/abligh/qemu/tree/aio-timers10
As autogenerated patch 30 of the series is too large for the mailing list. ]
This patch series adds support for timers attached to an AioContext clock
which get called within aio_poll.
In doing so it re
include/qemu/timer.h has no need to include main-loop.h and
doing so causes an issue for the next patch. Unfortunately
various files assume including timers.h will pull in main-loop.h.
Untangle this mess.
Signed-off-by: Alex Bligh
---
dma-helpers.c |1 +
hw/dma/xilinx_axidma.c
Rearrange timer.h so it is in order by function type.
Make legacy functions call non-legacy functions rather than vice-versa.
Convert cpus.c to use new API.
Signed-off-by: Alex Bligh
---
cpus.c | 112 -
hw/acpi/piix4.c |2 +-
hw/input/tsc2005.c |4 +-
hw/i
Remove qemu_clock_deadline and qemu_timerlist_deadline now we are using
the ns functions throughout.
Signed-off-by: Alex Bligh
---
include/qemu/timer.h | 16
qemu-timer.c | 20
2 files changed, 36 deletions(-)
diff --git a/include/qemu/timer.h b
Notify all timerlists derived from vm_clock in icount warp
calculations.
When calculating timer delay based on vm_clock deadline, use
all timerlists.
For compatibility, maintain an apparent bug where when using
icount, if no vm_clock timer was set, qemu_clock_deadline
would return INT32_MAX and a
Split QEMUClock into QEMUClock and QEMUTimerList so that we can
have more than one QEMUTimerList associated with the same clock.
Introduce a main_loop_timerlist concept and make existing
qemu_clock_* calls that actually should operate on a QEMUTimerList
call the relevant QEMUTimerList implementati
Convert block_job_sleep_ns and co_sleep_ns to use the new timer
API.
Signed-off-by: Alex Bligh
---
block/backup.c|4 ++--
block/commit.c|2 +-
block/mirror.c|4 ++--
block/stream.c|2 +-
blockjob.c|4 ++--
includ
Now we have timerlistgroups implemented and main_loop_tlg, we
no longer need the concept of a default timer list associated
with each clock. Remove it and simplify initialisation of
clocks and timer lists.
Signed-off-by: Alex Bligh
---
include/qemu/timer.h |6 +
qemu-timer.c |
Remove alarm timers from qemu-timers.c now we use g_poll / ppoll
instead.
Signed-off-by: Alex Bligh
---
include/qemu/timer.h |3 -
main-loop.c |4 -
qemu-timer.c | 500 +-
vl.c |4 +-
4 files changed, 4
Make qemu_run_timers and qemu_run_all_timers return progress
so that aio_poll etc. can determine whether a timer has been
run.
Signed-off-by: Alex Bligh
---
include/qemu/timer.h | 21 +++--
qemu-timer.c | 18 --
2 files changed, 31 insertions(+), 8 del
Add utility functions qemu_clock_get_ms and qemu_clock_get_us
Signed-off-by: Alex Bligh
---
include/qemu/timer.h | 28
1 file changed, 28 insertions(+)
diff --git a/include/qemu/timer.h b/include/qemu/timer.h
index 899a11a..8a154c2 100644
--- a/include/qemu/timer.
Add scripts/switch-timer-api to programatically rewrite source
files to use the new timer system.
Signed-off-by: Alex Bligh
---
scripts/switch-timer-api | 178 ++
1 file changed, 178 insertions(+)
diff --git a/scripts/switch-timer-api b/scripts/switc
Add a -C option to skip volume creation on qemu-img convert.
This is useful for targets such as rbd / ceph, where the
target volume may already exist; we cannot always rely on
qemu-img convert to create the image, as dependent on the
output format, there may be parameters which are not possible
to
Add qemu_poll_ns which works like g_poll but takes a nanosecond
timeout.
Signed-off-by: Alex Bligh
---
configure| 19 +++
include/qemu/timer.h | 12
qemu-timer.c | 24
3 files changed, 55 insertions(+)
diff --git a/
Make treatment of disabled clocks consistent in deadline calculation
Signed-off-by: Alex Bligh
---
qemu-timer.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/qemu-timer.c b/qemu-timer.c
index df8f12b..be29adf 100644
--- a/qemu-timer.c
+++ b/qemu-timer.c
@@ -264,7 +264,7
Add QEMUTimerListGroup and helper functions, to represent
a QEMUTimerList associated with each clock. Add a default
QEMUTimerListGroup representing the default timer lists
which are not associated with any other object (e.g.
an AioContext as added by future patches).
Signed-off-by: Alex Bligh
---
Add a notify pointer to QEMUTimerList so it knows what to notify
on a timer change.
Signed-off-by: Alex Bligh
---
async.c |7 ++-
include/qemu/timer.h | 27 +++
qemu-timer.c | 31 ---
3 files changed, 53 inserti
From: "Aneesh Kumar K.V"
Don't update the global register count if not requested.
Without this patch a remote gdb session gives
(gdb) target remote localhost:1234
Remote debugging using localhost:1234
Remote 'g' packet reply is too long:
2884c0ccba50c0c ...
...
(
Anthony Liguori writes:
> Rusty Russell writes:
>> (Qemu run under eatmydata to eliminate syncs)
>
> FYI, cache=unsafe is equivalent to using eatmydata.
Ah, thanks!
> I can reproduce this although I also see a larger standard deviation.
>
> BEFORE:
> MIN: 496
> MAX: 1055
> A
Benjamin Herrenschmidt writes:
> This whole exercise should have nothing to do with the current endian
> mode of the CPU. If for example you are running lx86 (the x86 emulator
> IBM provides) which exploits MSR:LE on POWER7 to run x86 binaries in
> userspace, you don't want virtio to suddenly chan
On Mon, 2013-08-12 at 09:58 +0930, Rusty Russell wrote:
> Benjamin Herrenschmidt writes:
> > This whole exercise should have nothing to do with the current endian
> > mode of the CPU. If for example you are running lx86 (the x86 emulator
> > IBM provides) which exploits MSR:LE on POWER7 to run x86
On Sun, 08/11 18:13, Paolo Bonzini wrote:
> VMware ESX hosts use a variant of the VMDK3 format, identified by the
> vmfsSparse create type ad the VMFSSPARSE extent type.
>
> It has 16 KB grain tables (L2) and a variable-size grain directory (L1).
> In addition, the grain size is always 512, but th
On Sun, Aug 11, 2013 at 06:10:42PM +0300, Marcel Apfelbaum wrote:
> This patch is based on Hu Tao's:
> http://lists.nongnu.org/archive/html/qemu-devel/2013-08/msg00124.html
>
> No need to hard-code pvpanic as part of the machine.
> It can be added with "-device pvpanic" from command line (The next
On Sun, Aug 11, 2013 at 06:10:43PM +0300, Marcel Apfelbaum wrote:
> This patch is based on Hu Tao's:
> http://lists.nongnu.org/archive/html/qemu-devel/2013-08/msg00125.html
>
> The pvpanic device may be enabled now with "-device pvpanic"
> from command line.
>
> Signed-off-by: Marcel Apfelbaum
On 08/08/2013 04:04 PM, Andreas Färber wrote:
> Am 08.08.2013 09:26, schrieb Prerna Saxena:
>>
>> From: Prerna Saxena
>> Date: Thu, 8 Aug 2013 06:38:03 +0530
>> Subject: [PATCH 2/2] Enhance CPU nodes of device tree to be PAPR compliant.
>>
>> This is based on patch from Andreas which enables the d
On Mon, 2013-08-12 at 10:07 +0530, Prerna Saxena wrote:
.../...
> I dont know what context lead to this observation.
> However, PAPR mentions the following nomenclature guideline:
>
> "The value of this property shall be of the form: “PowerPC,”,
> where is the name of the processor chip which
On 08/10/13 05:10, Kevin O'Connor wrote:
> On Fri, Aug 09, 2013 at 08:25:00AM +0200, Gerd Hoffmann wrote:
>>> I don't think SeaBIOS should continue to do the above once the tables
>>> are moved to QEMU. QEMU has all the info SeaBIOS has, so it can
>>> generate the tables correctly on its own.
>>
>
On Sun, 08/11 18:31, Alex Bligh wrote:
> Add a -C option to skip volume creation on qemu-img convert.
> This is useful for targets such as rbd / ceph, where the
> target volume may already exist; we cannot always rely on
> qemu-img convert to create the image, as dependent on the
> output format, t
Hi,
> If we make it a rule that PCI is`setup before ACPI tables
> are read, then QEMU can do the patching itself when
> it detects BIOS reading the tables.
Approach makes sense to me. The ordering constrain shouldn't be a big
burden, hardware detection+bringup (including pci setup) is the firs
> Il 10/08/2013 05:24, Wenchao Xia ha scritto:
>> Hi folks,
>>I'd like form a series which remove AioContext's concept and
>> bind to glib's main loop more closely. Since changed place will be
>> a bit much so want to know your opinion before real coding:
>
> I'm not sure I understand... What
于 2013-8-10 19:05, Alex Bligh 写道:
Paolo,
On 9 Aug 2013, at 15:59, Paolo Bonzini wrote:
It's not papering over anything.
Timers right now are provided by the event loop. If you make
AioContexts have timers, you can have a new AioContext for the timers
that the event loop handles before your p
70 matches
Mail list logo