Il 16/08/2013 23:58, Alex Williamson ha scritto:
> Since commit 23326164 we align access sizes to match the alignment of
> the address, but we don't align the access size itself. This means we
> let illegal access sizes (ex. 3) slip through if the address is
> sufficiently aligned (ex. 4). This r
This gives the dumped blob its correct address during disassembly,
which makes pc-relative insns much easier to interpret.
Signed-off-by: Richard Henderson
---
scripts/disas-objdump.pl | 18 +++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/scripts/disas-objdump.p
Il 16/08/2013 16:41, Mike Day ha scritto:
> This patch set merges Paolo's conversion of address spaces to enable
> RCU. There is one more patchset coming for TLB access that I'm
> debugging right now. After I submit the last one I'll start working on
> enabling RCU more widely - and the series will
The OBJD-[HT] tags will be used by a script to run the hex blob
through objdump --disassemble.
Signed-off-by: Richard Henderson
---
disas.c | 47 +--
1 file changed, 37 insertions(+), 10 deletions(-)
diff --git a/disas.c b/disas.c
index 71007fb..0203e
The script massages the output produced for architectures that are
not supported internally by qemu though an external objdump program
for disassembly.
Signed-off-by: Richard Henderson
---
scripts/disas-objdump.pl | 87
1 file changed, 87 insertio
V2 adds the --adjust-vma idea from Max Filippov.
r~
Richard Henderson (3):
disas: Implement fallback to dump object code as hex
disas: Add disas-objdump.pl
disas-objdump: Pass --adjust-vma to objdump
disas.c | 47 ++-
scripts/disas-objdump.pl | 99 ++
Il 02/08/2013 09:05, Peter Lieven ha scritto:
> can you give an update what are to current plans/schedule to merge this
> series? I have
> a few patches in the queue that in their current version depend on this
> series being merged.
It should go in soon, perhaps a couple of weeks.
Paolo
Ping.
r~
On 07/24/2013 12:50 PM, Richard Henderson wrote:
> It has been pointed out on LKML that the alpha umount syscall numbers
> are named wrong, and a patch to rectify that has been posted for 3.11.
>
> Glibc works around this by treating NR_umount as NR_umount2 if
> NR_oldumount exists. T
Ping.
r~
On 08/05/2013 11:28 AM, Richard Henderson wrote:
> About half of these patches are focused on reducing the number of
> full 64-bit constants that need to be generated for addresses:
>
> E.g. patch 5, looking through the function descriptor. If the
> program is built --disable-pie, the
Il 16/08/2013 14:41, ashish yadav ha scritto:
> Hi All,
>
> I am using CentOS 6.3 .
>
> I want to use qemu-1.4.0 with it ( due to dpdk_ovs requirement) .
> If qemu-1.4.0 is supported with Centos 6.3 ( kernel version 2.6.32-279) ?
It works, you just have to compile it yourself.
Paolo
Signed-off-by: Richard Henderson
---
hw/alpha/typhoon.c | 202 +
1 file changed, 174 insertions(+), 28 deletions(-)
diff --git a/hw/alpha/typhoon.c b/hw/alpha/typhoon.c
index b7fb044..2450045 100644
--- a/hw/alpha/typhoon.c
+++ b/hw/alpha/typho
Il 16/08/2013 11:45, Alexey Kardashevskiy ha scritto:
>
> Did this patch go anywhere? I could not find it in
> git://github.com/bonzini/qemu.git scsi-next or anywhere else.
>
> Should I repost it as qemu 1.6 was released and we started new cycle?
>
> I am asking because I have 2 more patches abo
With appropriate flushing when the PALBR changes, the target of
a CALL_PAL is so predictable we can chain to it.
Signed-off-by: Richard Henderson
---
target-alpha/helper.h | 1 +
target-alpha/sys_helper.c | 5 +
target-alpha/translate.c | 20
3 files changed, 26 i
This allows significantly more threading, and occasionally larger TBs,
when processing code for the kernel and PALcode.
Signed-off-by: Richard Henderson
---
target-alpha/translate.c | 37 +
1 file changed, 29 insertions(+), 8 deletions(-)
diff --git a/target-
The destination of the call_pal, and the cpu state, is very predictable;
there's no need for exiting the cpu loop.
Signed-off-by: Richard Henderson
---
target-alpha/helper.h | 1 +
target-alpha/sys_helper.c | 12
target-alpha/translate.c | 25 ++---
3 files
No changes since the patch set was first posted, but rebased against head.
r~
The following changes since commit f202039811d8746b0586d2fd5f61de6c8cf68056:
Open up 1.7 development branch (2013-08-15 15:41:13 -0500)
are available in the git repository at:
git://github.com/rth7680/qemu.git
Instead of using a branch-call-branch sequence, arrange for a
call-branch sequence, using the ARM's conditional call insn.
This reduces the size of the slow-path within the TB, and makes
the GETPC_EXT implementation identical for TCG and not-TCG.
Signed-off-by: Richard Henderson
---
include/exec
Discontinue the jump-around-jump-to-jump scheme, trading it for a single
immediate move instruction. The two extra jumps always consume 7 bytes,
whereas the immediate move is either 5 or 7 bytes depending on where the
code_gen_buffer gets located.
Signed-off-by: Richard Henderson
---
include/ex
Use existing stack space for arguments; don't push/pop.
Use less ifdefs and more C ifs.
Signed-off-by: Richard Henderson
---
tcg/i386/tcg-target.c | 165 ++
1 file changed, 74 insertions(+), 91 deletions(-)
diff --git a/tcg/i386/tcg-target.c b/tcg
No point in splitting the write into 32-bit pieces.
Reviewed-by: Aurelien Jarno
Signed-off-by: Richard Henderson
---
tcg/i386/tcg-target.c | 3 +--
tcg/tcg.c | 7 +++
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/tcg/i386/tcg-target.c b/tcg/i386/tcg-target.c
ind
Avoid a loop in the tlb_fill path; the fill will either succeed or
generate an exception.
Inline the slow_ld/st function; it was a complete copy of the main
helper except for the actual cross-page unaligned code, and the
compiler was inlining it anyway.
Add unlikely markers optimizing for the mos
Signed-off-by: Richard Henderson
---
tcg/arm/tcg-target.c | 48 +++-
1 file changed, 43 insertions(+), 5 deletions(-)
diff --git a/tcg/arm/tcg-target.c b/tcg/arm/tcg-target.c
index 6c4854d..6cfceff 100644
--- a/tcg/arm/tcg-target.c
+++ b/tcg/arm/tcg-ta
V2:
* Feedback from Aurelien
* Added the first patch.
* ARM patches fixed.
Sorry about not merging back from the tree on my arm machine
before posting the patch set last time.
r~
Richard Henderson (9):
tcg: Tidy generated code for tcg_outN
tcg-i386: Add and use tcg_out64
tcg
Allow the code that tcg generates to be less obtuse, passing in
the return address directly instead of computing it in the helper.
Maintain the old entrance point unchanged as an alternate entry point.
Delete the helper_st*_cmmu prototypes; the implementations did not exist.
Signed-off-by: Richa
Use a 7 byte lea before the ultimate 10 byte movq.
Signed-off-by: Richard Henderson
---
tcg/i386/tcg-target.c | 25 -
1 file changed, 20 insertions(+), 5 deletions(-)
diff --git a/tcg/i386/tcg-target.c b/tcg/i386/tcg-target.c
index 841bd75..8226171 100644
--- a/tcg/i386/
Aliasing was forcing s->code_ptr to be re-read after the store.
Keep the pointer in a local variable to help the compiler.
Signed-off-by: Richard Henderson
---
tcg/tcg.c | 10 ++
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/tcg/tcg.c b/tcg/tcg.c
index dac8224..42c95af 10
> From: Stefan Hajnoczi
> Since .io_flush() is no longer called we do not need
> qemu_gluster_aio_flush_cb() anymore. It turns out that qemu_aio_count
> is unused now and can be dropped.
>
> Signed-off-by: Stefan Hajnoczi
Tested-by: Bharata B Rao
Tested GlusterFS backend, but it needed the b
Quoting Stefan Weil (2013-08-16 14:51:53)
> Commit 0b516ef0dfad9a7b34c675c98e8ec92ab4d38466 added version.o to all
> executables, but broke out-of-tree builds: for those builds the pattern
> rule %.o: %.rc from rules.mak does not match, so version.o was no longer
> built.
>
> Adding explicit build
Since commit 23326164 we align access sizes to match the alignment of
the address, but we don't align the access size itself. This means we
let illegal access sizes (ex. 3) slip through if the address is
sufficiently aligned (ex. 4). This results in an abort which would be
easy for a guest to tri
On Fri, 2013-08-16 at 23:00 +0200, Laszlo Ersek wrote:
> On 08/16/13 18:00, Alex Williamson wrote:
> > Since commit 23326164 we align access sizes to match the alignment of
> > the address, but we don't align the access size itself. This means we
> > let illegal access sizes (ex. 3) slip through i
On 08/16/13 18:00, Alex Williamson wrote:
> Since commit 23326164 we align access sizes to match the alignment of
> the address, but we don't align the access size itself. This means we
> let illegal access sizes (ex. 3) slip through if the address is
> sufficiently aligned (ex. 4). This results
Public bug reported:
In keeping with the spirit of serial modem control signals, de-asserting
DTR should cause the TCP connection to break; asserting DTR should cause
QEMU to initiate a new connection or for it to accept another (in server
mode; this may involve waiting for one to arrive, too).
*
On 08/16/2013 01:46 PM, Richard Henderson wrote:
> On 08/16/2013 08:37 AM, Alex Williamson wrote:
>> On Fri, 2013-08-16 at 08:27 -0700, Richard Henderson wrote:
>>> On 08/16/2013 05:50 AM, Alex Williamson wrote:
+/* Size must be a power of 2 */
+if (l & (l - 1)) {
+wh
Commit 0b516ef0dfad9a7b34c675c98e8ec92ab4d38466 added version.o to all
executables, but broke out-of-tree builds: for those builds the pattern
rule %.o: %.rc from rules.mak does not match, so version.o was no longer
built.
Adding explicit build rules fixes this.
Reported-by: Michael Roth
Signed-
On 08/16/2013 08:37 AM, Alex Williamson wrote:
> On Fri, 2013-08-16 at 08:27 -0700, Richard Henderson wrote:
>> On 08/16/2013 05:50 AM, Alex Williamson wrote:
>>> +/* Size must be a power of 2 */
>>> +if (l & (l - 1)) {
>>> +while (l & (access_size_max - 1)) {
>>> +acces
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
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
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 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 | 134 ++
1 file changed, 134 insertions(+)
diff --git a/tests/test-aio.c b/t
Quoting Michael Roth (2013-08-16 13:27:32)
> Quoting Stefan Weil (2013-08-16 00:55:07)
> > Am 16.08.2013 00:19, schrieb Michael Roth:
> >
> > Quoting Stefan Weil (2013-08-08 13:18:07)
> >
> > > QEMU executables for w32, w64 had included meta information built from
> > > version.rc. These rules
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 |
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 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
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
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
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
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
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 3e9506c..63b964f 100644
--- a/include/qemu/timer.
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
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(
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 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
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 cff0ab9..e458026
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.
main-loop.c produces a (possibly spurious) warning a
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 2d9774e.
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
---
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 619b7a2.
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 06f3aad..2efdf41 100644
--- a/include/block
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
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 |
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
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 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
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
[ This patch set is available from git at:
https://github.com/abligh/qemu/tree/aio-timers12
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
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
Quoting Stefan Weil (2013-08-16 00:55:07)
> Am 16.08.2013 00:19, schrieb Michael Roth:
>
> Quoting Stefan Weil (2013-08-08 13:18:07)
>
> > QEMU executables for w32, w64 had included meta information built from
> > version.rc. These rules were changed several times some months ago.
> >
> > Th
Am 16.08.2013 18:17, schrieb Herbei Dacian:
> my system should run in far less memory. something like 2-4MB.
I thought either 16MB or 64MB RAM was a lower limit for uCLinux?
If you want to write your own custom firmware then you can go pretty low
of course. For low-end ARM embedded development th
From: Eduardo Habkost
This will allow classes to specify a function to be called after all
instance_init functions were called.
This will be used by DeviceState to call qdev_prop_set_globals() at the
right moment.
Signed-off-by: Eduardo Habkost
Signed-off-by: Andreas Färber
---
include/qom/o
From: Tiejun Chen
It makes more sense and will make things simpler later.
Signed-off-by: Tiejun Chen
Signed-off-by: Andreas Färber
---
cpus.c | 14 +++---
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/cpus.c b/cpus.c
index 0f65e76..70cc617 100644
--- a/cpus.c
+++ b/cpu
From: Eduardo Habkost
This tests the qdev global-properties handling code.
Signed-off-by: Eduardo Habkost
Signed-off-by: Andreas Färber
---
tests/.gitignore | 1 +
tests/Makefile | 7 +++
tests/test-qdev-global-props.c | 107 ++
From: Igor Mammedov
- since hyperv_* helper functions are used only in target-i386/kvm.c
move them there as static helpers
Requested-by: Eduardo Habkost
Signed-off-by: Igor Mammedov
Signed-off-by: Andreas Färber
---
target-i386/Makefile.objs | 2 +-
target-i386/cpu-qom.h | 4 +++
tar
Hello Anthony,
This is my current QOM CPU patch queue. Please pull.
Thanks,
Andreas
Cc: Anthony Liguori
The following changes since commit f202039811d8746b0586d2fd5f61de6c8cf68056:
Open up 1.7 development branch (2013-08-15 15:41:13 -0500)
are available in the git repository at:
git://g
From: Eduardo Habkost
This way, properties registered in the instance_init function of
child classes will be handled properly by qdev_prop_set_globals(), too.
Includes a unit test for the new functionality.
Signed-off-by: Eduardo Habkost
Signed-off-by: Andreas Färber
---
hw/core/qdev.c
Commit a0e372f0c49ac01faeaeb73a6e8f50e8ac615f34 reorganized the register
counting for GDB. While it seems correct not to let the total number of
registers skyrocket in an SMP scenario through a static variable, the
distinction between total register count and 'g' packet register count
(last_reg vs.
On 16 August 2013 11:59, Andreas Färber wrote:
> Peter, could you verify the ARM FP registers are now as expected?
Yes, we seem to be back to sending them separately rather than
in the 'g' packet with the integer registers.
-- PMM
Andreas Färber writes:
>> https://github.com/ncultra/qemu/tree/rcu-for-1.7
>>
>> Mike Day (2):
>> fixup changes from commit f63ca950
>> fixup changes from commit f62a6b2f from Paulo Bonzini
>
> These two patches are certainly not acceptable for upstream, lacking any
> textual explanation a
On 08/15/2013 09:18:48 AM, Herbei Dacian wrote:
but you said that "qemu-system-arm" is not maintained and it doesn't
work.
Who said that?
git log --pretty=format:"%h %ci %s" hw/arm
be2f78b 2013-08-05 11:46:58 -0500 pxa2xx: Avoid
object_get_link_property() asser
cfc6b24 2013-07-29 21:06:2
my system should run in far less memory. something like 2-4MB.
but first I need to have a system running so that I can monitor with qemu the
addresses accessed for read execute and write by the code run by the emulator.
if I reach that is a real big deal.
dacian
___
Thanks Rob I think that should do it for me.
From: Rob Landley
To: Andreas Färber
Cc: Herbei Dacian ; QEmu Devel
Sent: Friday, 16 August 2013, 17:59
Subject: Re: [Qemu-devel] minimal linux distribution for qemu
On 08/15/2013 06:53:30 AM, Andreas Färbe
On 08/15/2013 09:01:19 AM, Herbei Dacian wrote:
yes but which binary do I use to call to run an emulated arm image?
is there an actual binary that can emulate an existing arm board,
anyboard?
qemu?
if not which is the emulator that works with arm?
If not where is the project that I can tweak
The .io_flush() handler no longer exists and has no users. Drop the
io_flush argument to aio_set_fd_handler() and related functions.
The AioFlushEventNotifierHandler and AioFlushHandler typedefs are no
longer used and are dropped too.
Reviewed-by: Paolo Bonzini
Signed-off-by: Stefan Hajnoczi
-
Since commit 23326164 we align access sizes to match the alignment of
the address, but we don't align the access size itself. This means we
let illegal access sizes (ex. 3) slip through if the address is
sufficiently aligned (ex. 4). This results in an abort which would be
easy for a guest to tri
On 08/15/2013 06:53:30 AM, Andreas Färber wrote:
Hi,
Am 15.08.2013 10:57, schrieb Herbei Dacian:
>
> please, can anyone recommend me a distribution that offers a
barebone
> linux kernel.
> minimum that I need on that image are:
> _ the kernel
> _ the compiler and development infrastructure to
Drop the io_flush argument to aio_set_event_notifier().
Reviewed-by: Paolo Bonzini
Signed-off-by: Stefan Hajnoczi
---
tests/test-aio.c | 22 --
1 file changed, 8 insertions(+), 14 deletions(-)
diff --git a/tests/test-aio.c b/tests/test-aio.c
index 1251952..7b2892a 100644
--
aio_poll(ctx, true) will soon block when fd handlers have been set.
Previously aio_poll() would return early if all .io_flush() returned
false. This means we need to check the equivalent of the .io_flush()
condition *before* calling aio_poll(ctx, true) to avoid deadlock.
Reviewed-by: Paolo Bonzin
.io_flush() is no longer called so drop flush_true() and flush_io().
Signed-off-by: Stefan Hajnoczi
---
hw/block/dataplane/virtio-blk.c | 17 ++---
1 file changed, 2 insertions(+), 15 deletions(-)
diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
index 5
.io_flush() is no longer called so drop return_true().
Signed-off-by: Stefan Hajnoczi
---
block/ssh.c | 10 +-
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/block/ssh.c b/block/ssh.c
index d7e7bf8..e149da9 100644
--- a/block/ssh.c
+++ b/block/ssh.c
@@ -740,14 +740,6 @@ sta
.io_flush() is no longer called so drop qemu_rbd_aio_flush_cb().
qemu_aio_count is unused now so drop it too.
Signed-off-by: Stefan Hajnoczi
---
block/rbd.c | 14 +-
1 file changed, 1 insertion(+), 13 deletions(-)
diff --git a/block/rbd.c b/block/rbd.c
index cb71751..71b4a0c 100644
.io_flush() is no longer called so drop qemu_laio_completion_cb(). It
turns out that count is now unused so drop that too.
Signed-off-by: Stefan Hajnoczi
---
block/linux-aio.c | 17 ++---
1 file changed, 2 insertions(+), 15 deletions(-)
diff --git a/block/linux-aio.c b/block/linux-
.io_flush() is no longer called so drop iscsi_process_flush().
Signed-off-by: Stefan Hajnoczi
---
block/iscsi.c | 9 +
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/block/iscsi.c b/block/iscsi.c
index e7c1c2b..180b827 100644
--- a/block/iscsi.c
+++ b/block/iscsi.c
@@ -146,
Since .io_flush() is no longer called we do not need
qemu_gluster_aio_flush_cb() anymore. It turns out that qemu_aio_count
is unused now and can be dropped.
Signed-off-by: Stefan Hajnoczi
---
block/gluster.c | 16 +---
1 file changed, 1 insertion(+), 15 deletions(-)
diff --git a/bl
.io_flush() is no longer called so drop thread_pool_active(). The block
layer is the only thread-pool.c user and it already tracks in-flight
requests, therefore we do not need thread_pool_active().
Signed-off-by: Stefan Hajnoczi
---
thread-pool.c | 8 +---
1 file changed, 1 insertion(+), 7
.io_flush() is no longer called so drop curl_aio_flush(). The acb[]
array that the function checks is still used in other parts of
block/curl.c. Therefore we cannot remove acb[], it is needed.
Signed-off-by: Stefan Hajnoczi
---
block/curl.c | 22 +++---
1 file changed, 3 insert
Check exit conditions before entering blocking aio_poll(). This is
mainly for consistency since it's unlikely that we are stopping in the
first event loop iteration.
Signed-off-by: Stefan Hajnoczi
---
hw/block/dataplane/virtio-blk.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
dif
.io_flush() is no longer called so drop nbd_have_request(). We cannot
drop in_flight since it is still used by other block/nbd.c code.
Signed-off-by: Stefan Hajnoczi
---
block/nbd.c | 13 +++--
1 file changed, 3 insertions(+), 10 deletions(-)
diff --git a/block/nbd.c b/block/nbd.c
inde
Now that aio_poll() users check their termination condition themselves,
it is no longer necessary to call .io_flush() handlers.
The behavior of aio_poll() changes as follows:
1. .io_flush() is no longer invoked and file descriptors are *always*
monitored. Previously returning 0 from .io_flush()
aio_poll(ctx, true) will soon block if any fd handlers have been set.
Previously it would only block when .io_flush() returned true.
This means that callers must check their wait condition *before*
aio_poll() to avoid deadlock.
Reviewed-by: Paolo Bonzini
Signed-off-by: Stefan Hajnoczi
---
test
If a block driver has no file descriptors to monitor but there are still
active requests, it can return 1 from .io_flush(). This is used to spin
during synchronous I/O.
Stop relying on .io_flush() and instead check
QLIST_EMPTY(&bs->tracked_requests) to decide whether there are active
requests.
T
1 - 100 of 188 matches
Mail list logo