Nikos Filippakis writes:
> Hello everyone! I am interested in getting to know the codebase a little
> better
> so that I can eventually apply for a GSOC position.
> This is my first attempt at posting a patch to a mailing list, any feedback
> is greatly appreciated.
OK first things first this
> On Mar 1, 2016, at 3:01 PM, Paolo Bonzini wrote:
>
> This is done
> because the worker threads only care about the queued request list, not
> about active or completed requests.
Do you think it would be useful to add an API for inserting one request back
to the queued list? For example, In c
> On Mar 1, 2016, at 3:34 PM, Stefan Hajnoczi wrote:
>
> Have you seen Linux Documentation/device-mapper/delay.txt?
>
> You could set up a loopback block device and put the device-mapper delay
> target on top to simulate latency.
I’m working on one idea to emulate the latency of SSD read/wri
By using utilities in bitops and bitmap, this patch tries to make it more
friendly to audience. No functional change.
Signed-off-by: Wei Yang
---
kvm-all.c | 34 ++
1 file changed, 10 insertions(+), 24 deletions(-)
diff --git a/kvm-all.c b/kvm-all.c
index bd9e764
On Mar 5, 2016, at 7:03 PM, Eric Blake wrote:
> On 03/04/2016 10:17 PM, Programmingkid wrote:
>> Add the power and keypad equal keys. These keys are found on a real Macintosh
>> keyboard.
>>
>> Signed-off-by: John Arbuckle
>> ---
>> qapi-schema.json | 3 ++-
>> 1 file changed, 2 insertions(+), 1
On Mar 5, 2016, at 7:02 PM, Eric Blake wrote:
> On 03/04/2016 10:15 PM, Programmingkid wrote:
>> This commit implements the adb-keys.h file. It holds information on adb
>> keycode
>> values.
>>
>> Signed-off-by: John Arbuckle
>> ---
>> Changed name of file from MacKeys.h to adb-keys.h.
>> Chan
On 03/04/2016 10:15 PM, Programmingkid wrote:
> This commit implements the adb-keys.h file. It holds information on adb
> keycode
> values.
>
> Signed-off-by: John Arbuckle
> ---
> Changed name of file from MacKeys.h to adb-keys.h.
> Changed name of constants from MAC_KEYS_ to ADB_KEYS_.
>
>
On 03/04/2016 10:17 PM, Programmingkid wrote:
> Add the power and keypad equal keys. These keys are found on a real Macintosh
> keyboard.
>
> Signed-off-by: John Arbuckle
> ---
> qapi-schema.json | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
Reviewed-by: Eric Blake
--
Eric Blake
Returning a partial object on error is an invitation for a careless
caller to leak memory. As no one outside the testsuite was actually
relying on these semantics, it is cleaner to just document and
guarantee that ALL pointer-based visit_type_FOO() functions always
leave a safe value in *obj durin
The visitor interface for mapping between QObject/QemuOpts/string
and QAPI is scandalously under-documented, making changes to visitor
core, individual visitors, and users of visitors difficult to
coordinate. Among other questions: when is it safe to pass NULL,
vs. when a string must be provided;
As mentioned in previous patches, we want to call visit_end_struct()
functions unconditionally, so that visitors can release resources
tied up since the matching visit_start_struct() without also having
to worry about error priority if more than one error occurs.
Even though error_propagate() can
We have three classes of QAPI visitors: input, output, and dealloc.
Currently, all implementations of these visitors have one thing in
common based on their visitor type: the implementation used for the
visit_type_enum() callback. But since we plan to add more such
common behavior, in relation to
Don't embed the root of the visit into the stack of current
containers being visited. That way, we no longer get confused
on whether the first visit of a dictionary is to the dictionary
itself or to one of the members of the dictionary, and we no
longer have to require the root visit to pass name=
Refactor the code to advance the QListEntry pointer at the point
where visit_type_FOO() is called, rather than visit_next_list().
This will allow a future patch to move the visit of the list head
into visit_start_list(), and get rid of the 'first' flag.
Signed-off-by: Eric Blake
---
v13: no chan
The qmp-input visitor was playing rather fast and loose: when
visiting a QDict, you could grab members of the root dictionary
without first pushing into the dict. But we are about to tighten
the input visitor, at which point user_creatable_add_type() MUST
follow the same paradigms as everyone else
The qmp-input visitor was playing rather fast and loose: when
visiting a QDict, you could grab members of the root dictionary
without first pushing into the dict. But we are about to tighten
the input visitor, at which point the generated marshal code
MUST follow the same paradigms as everyone els
Our existing input visitors were not very consistent on errors
in a function taking 'TYPE **obj'. While all of them set '*obj'
to allocated storage on success, it was not obvious whether
'*obj' was guaranteed safe on failure, or whether it was left
uninitialized. But a future patch wants to guaran
We have two uses of list visits in the entire code base: one in
spapr_drc (which completely avoids visit_next_list(), feeding in
integers from a different source than uint8List), and one in
qapi-visit.py (that is, all other list visitors are generated
in qapi-visit.c, and share the same paradigm ba
Add a new qmp_output_visitor_reset(), which must be called before
reusing an exising QmpOutputVisitor on a new root object. Tighten
assertions to require that qmp_output_get_qobject() can only be
called after pairing a visit_end_* for every visit_start_* (rather
than allowing it to return a partia
Ever since QMP was first added back in commit 43c20a43, we have
never had any QmpCommandType other than QCT_NORMAL. It's
pointless to carry around the cruft.
Signed-off-by: Eric Blake
---
v13: no change
v12: new patch
---
include/qapi/qmp/dispatch.h | 6 --
qapi/qmp-dispatch.c | 1
Implement the new type_null() callback for the qmp input and
output visitors. While we don't yet have a use for this in QAPI
input (the generator will need some tweaks first), one usage
is already envisioned: when changing blockdev parameters, it
would be nice to have a difference between leaving a
Right now, qmp-output-visitor happens to produce a QNull result
if nothing is actually visited between the creation of the visitor
and the request for the resulting QObject. A stronger protocol
would require that a QMP output visit MUST visit something. But
to still be able to produce a JSON 'nul
Now that the QMP output visitor supports an explicit null
output, we should utilize it to make it easier to diagnose
the difference between a missing fdt ('null') vs. a
present-but-empty one ('{}').
(Note that this reverts the behavior of commit ab8bf1d, taking
us back to the behavior of commit 6c
Management of the top of stack was a bit verbose; creating a
temporary variable and adding some comments makes the existing
code more legible before the next few patches improve things.
No semantic changes other than asserting that we are always
visiting a QObject, and not a NULL value.
Signed-off
Requires these patches first ("v4 implicit types"):
https://lists.gnu.org/archive/html/qemu-devel/2016-03/msg01205.html
which in turn requires Markus' qapi-next branch:
https://lists.gnu.org/archive/html/qemu-devel/2016-03/msg01182.html
v13: Minor rebase improvements
v12: https://lists.gnu.org/ar
Add a new test, for checking reference counting of qnull(). As
part of the new file, move a previous reference counting change
added in commit a861564 into a more logical place.
Signed-off-by: Eric Blake
---
v13: no change
v12: new patch
---
tests/check-qnull.c | 60
Commit e8316d7 mistakenly passed consume=true when checking if
an optional member was present, but the mistake was silently
ignored since the code happily let us extract a member more than
once. Tighten up the input visitor to ensure that a member is
consumed exactly once. To keep the testsuite h
Hello everyone! I am interested in getting to know the codebase a little better
so that I can eventually apply for a GSOC position.
This is my first attempt at posting a patch to a mailing list, any feedback
is greatly appreciated.
Signed-off-by: Nikos Filippakis
---
net/net.c | 17 -
This patch add support of escape sequence "\e[5,6n".
This implementation similar to that of linux tty driver.
Signed-off-by: Ren Kimura
---
ui/console.c | 32 +++-
1 file changed, 31 insertions(+), 1 deletion(-)
diff --git a/ui/console.c b/ui/console.c
index ae61382.
Signed-off-by: Ren Kimura
---
ui/console.c | 32 +++-
1 file changed, 31 insertions(+), 1 deletion(-)
diff --git a/ui/console.c b/ui/console.c
index ae61382..854ec98 100644
--- a/ui/console.c
+++ b/ui/console.c
@@ -757,6 +757,25 @@ static void console_clear_xy(QemuCon
On Fri, Mar 04, 2016 at 03:49:37PM +, Li, Liang Z wrote:
> > > > > > > Only detect the unmapped/zero mapped pages is not enough.
> > > > Consider
> > > > > > the
> > > > > > > situation like case 2, it can't achieve the same result.
> > > > > >
> > > > > > Your case 2 doesn't exist in the real
On 16.02.2016 10:37, Changlong Xie wrote:
> From: Wen Congyang
>
> The new QMP command name is x-blockdev-change. It's just for adding/removing
> quorum's child now, and doesn't support all kinds of children, all kinds of
> operations, nor all block drivers. So it is experimental now.
>
> Signed
On 16.02.2016 10:37, Changlong Xie wrote:
> From: Wen Congyang
>
> Signed-off-by: Wen Congyang
> Signed-off-by: zhanghailiang
> Signed-off-by: Gonglei
> Signed-off-by: Changlong Xie
> ---
> block.c | 8 ++--
> block/quorum.c| 122
> +++
We discriminate here between opcodes that are illegal in the current
cpu mode or with illegal arguments (such as modrm.mod == 3) and
encodings that are unknown (such as an unimplemented isa extension).
Signed-off-by: Richard Henderson
---
PS: The upshot of this rule is that most if's are illegal
On 05/03/2016 07:45, Sarah Khan wrote:
> util/envlist.c:This patch replaces malloc with g_malloc
This should be placed in the subject. Please follow the instructions at
http://wiki.qemu.org/Contribute/SubmitAPatch#Submitting_your_Patches to
format the patch correctly.
> - if ((envlist = ma
Sorry that I wasn't so pedantic last time; or maybe I should rather be
sorry that I'm so pedantic this time.
On 16.02.2016 10:37, Changlong Xie wrote:
> From: Wen Congyang
>
> In some cases, we want to take a quorum child offline, and take
> another child online.
>
> Signed-off-by: Wen Congyang
Now that the generator supports it, we might as well use an
anonymous base rather than breaking out a single-use Base
structure, for all three of our current QMP flat unions.
Oddly enough, this change does not affect the resulting
introspection output (because we already inline the members of
a ba
We already have several places that want to visit all the members
of an implicit object within a larger context (simple union variant,
event with anonymous data, command with anonymous arguments struct);
and will be adding another one soon (the ability to declare an
anonymous base for a flat union)
Every non-implicit entity is associated with an 'info'
dictionary, but it is not easy to reverse-engineer the name of
the top-most entity associated with that 'info'. Our use of
'case_whitelist' (added in commit 893e1f2) is thus currently
tied to the owner of a member instead; but as the previous
QAPISchemaType.c_type() was a bit awkward. Rather than having two
optional orthogonal boolean flags that should never both be true,
and where all callers should pass a compile-time constant (well,
our use of is_unboxed wasn't constant, but a future patch is about
to remove the special case for sim
The generator special-cased
{ 'command':'foo', 'data': {} }
to avoid emitting a visitor variable, but failed to see that
{ 'struct':'NamedEmptyType, 'data': {} }
{ 'command':'foo', 'data':'NamedEmptyType' }
needs the same treatment. There, the generator happily generates a
visitor to get no
Rather than generate inline per-member visits, take advantage
of the 'visit_type_FOO_members()' function for both event and
command marshalling. This is possible now that implicit
structs can be visited like any other.
Generated code shrinks accordingly; events initialize a struct
based on parame
This is patches 10-19 of v2:
https://lists.gnu.org/archive/html/qemu-devel/2016-02/msg06079.html
Depends on Markus' qapi-next branch (which includes v3 of this
series mapping to the first half of v2).
Also available as a tag at this location:
git fetch git://repo.or.cz/qemu/ericb.git qapi-implici
Rather than requiring all flat unions to explicitly create
a separate base struct, we can allow the qapi schema to specify
the common members via an inline dictionary. This is similar to
how commands can specify an inline anonymous type for its 'data'.
We already have several struct types that only
Simple unions were carrying a special case that hid their 'data'
QMP member from the resulting C struct, via the hack method
QAPISchemaObjectTypeVariant.simple_union_type(). But by using
the work we started by unboxing flat union and alternate
branches, coupled with the ability to visit the member
Originally, gen_marshal_input_visit() (or gen_visitor_input_block()
before commit f1538019) was factored out to make it easy to do two
passes of a visit to each member of a (possibly-implicit) object,
without duplicating lots of code. But after recent changes, those
visits now occupy a single line
We are getting closer to the point where we could use one union
as the base or variant type within another union type (as long
as there are no collisions between any possible combination of
member names allowed across all discriminator choices). But
until we get to that point, it is worth assertin
On 03.03.2016 12:01, Daniel P. Berrange wrote:
> On Wed, Mar 02, 2016 at 05:13:59PM +0100, Max Reitz wrote:
>> On 19.02.2016 17:47, Daniel P. Berrange wrote:
>>> The qdict_flatten() method will take a dict whose elements are
>>> further nested dicts/lists and flatten them by concatenating
>>> keys.
On 03/04/2016 03:18 AM, Alex Bennée wrote:
+case '+':
+{
+unsigned long len;
+err |= qemu_strtoull(r2, NULL, 0, &len);
+if (len > 0) {
+range.end = range.begin + (len - 1);
+
According to linux kernel commit <89c1e79eb30> ("linux/bitmap.h: improve
BITMAP_{LAST,FIRST}_WORD_MASK"), these two macro could be improved.
This patch takes this change and also move them all in header file.
Signed-off-by: Wei Yang
---
include/qemu/bitmap.h | 7 ++-
util/bitmap.c |
On 04.03.2016 21:00, John Snow wrote:
On 02/17/2016 10:28 AM, Vladimir Sementsov-Ogievskiy wrote:
This series add persistent dirty bitmaps feature to qcow2.
Specification is in docs/spec/qcow2.txt (not merged yet, see
[PATCH v10] spec: add qcow2 bitmaps extension specification)
This series are
On 03/02/2016 04:14 AM, Cédric Le Goater wrote:
The IPMI command handlers in the BMC simulator use a macro
IPMI_ADD_RSP_DATA() to push bytes in a response buffer. The macro
hides the fact that it implicitly uses variables local to the handler,
which is misleading.
This patch introduces a simple
On 03/02/2016 04:14 AM, Cédric Le Goater wrote:
The third byte in the response buffer of an IPMI command holds the
error code. In many IPMI command handlers, this byte is updated
directly. This patch adds a helper routine to clarify why this byte is
being used.
Signed-off-by: Cédric Le Goater
On 03/02/2016 04:14 AM, Cédric Le Goater wrote:
Most IPMI command handlers in the BMC simulator start with a call to
the macro IPMI_CHECK_CMD_LEN() which verifies that a minimal number of
arguments expected by the command are indeed available. To achieve
this task, the macro implicitly uses local
Your commit message isn't quite right, yet. The first line is empty,
which leads to
Subject: [PATCH v2][Outreachy Round 12]
in e-mail, which isn't really useful. It should be a line of the form
subsystem: Headline describing the patch briefly
In e-mail, this becomes something like
Hi,
I am trying to execute an image created by ARM in QEMU using windows
OS, could you give me guide to example the command line?
The command line in Unix work well, but I don't understood all the options.
This the reason that I looking for some help
/home/nhcu02t/yocto_i686/prebuild/s
From: Eric Blake
Several commits have been changing the generator, but not updating
the docs to match:
- The implicit tag member is named "type", not "kind". Screwed up in
commit 39a1815.
- Commit 9f08c8ec made list types lazy, and thereby dropped
UserDefOneList if nothing explicitly uses the li
From: Eric Blake
We started moving away from the use of the 'void *data' member
in the C union corresponding to a QAPI union back in commit
544a373; recent commits have gotten rid of other uses. Now
that it is completely unused, we can remove the member itself
as well as the FIXME comment. Upda
From: Eric Blake
An upcoming patch will alter how simple unions, like InputEvent, are
laid out, which will impact all lines of the form 'evt->u.XXX'
(expanding it to the longer 'evt->u.XXX.data'). For better
legibility in that patch, and less need for line wrapping, it's better
to use a temporar
From: "Daniel P. Berrange"
Pretty printing of JSON responses is important to be able to understand
large responses from query commands in particular. Unfortunately this
was broken during the addition of the verbose flag in
commit 1ceca07e48ead0dd2e41576c81d40e6a91cafefd
Author: John Snow
From: Eric Blake
Commit d0d7708b made ChardevDummy be an empty wrapper type around
ChardevCommon. But there is no technical reason for this indirection,
so simplify the code by directly using the base type.
Also change the fallback assignment to assign u.null rather than
u.data, since a future
From: Eric Blake
QAPI code generators currently create a 'void *data' member as
part of the anonymous union embedded in the C struct corresponding
to a QAPI union. However, directly assigning to this member of
the union feels a bit fishy, when we can assign to another member
of the struct instea
From: Eric Blake
Dan Berrange reported a case where he needs to work with a
QCryptoBlockOptions union type using the OptsVisitor, but only
visit one of the branches of that type (the discriminator is not
visited directly, but learned externally). When things were
boxed, it was easy: just visit t
From: Eric Blake
C types and JSON objects don't have fields, but members. We
shouldn't gratuitously invent terminology. This patch is a
strict renaming of static genarated functions, plus the naming
of the dummy filler member for empty structs, before the next
patch exposes some of that naming
From: Eric Blake
An upcoming patch will alter how simple unions, like SocketAddress,
are laid out, which will impact all lines of the form 'addr->u.XXX'
(expanding it to the longer 'addr->u.XXX.data'). For better
legibility in that patch, and less need for line wrapping, it's better
to use a tem
From: Eric Blake
C types and JSON objects don't have fields, but members. We
shouldn't gratuitously invent terminology. This patch is a
strict renaming of generator code internals (including testsuite
comments), before later patches rename C interfaces.
No change to generated code with this pa
From: Eric Blake
No need to roll our own use of the dealloc visitors when we can
just directly use the qapi_free_FOO() functions that do what we
want in one line.
In net.c, inline net_visit() into its remaining lone caller.
After this patch, test-visitor-serialization.c is the only
non-generate
From: Eric Blake
An upcoming patch will alter how simple unions, like ChardevBackend,
are laid out, which will impact all lines of the form 'backend->u.XXX'
(expanding it to the longer 'backend->u.XXX.data'). For better
legibility in that patch, and less need for line wrapping, it's better
to us
v2: Missing S-o-b supplied
The following changes since commit 3c0f12df65da872d5fbccae469f2cb21ed1c03b7:
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20160304'
into staging (2016-03-04 11:46:32 +)
are available in the git repository at:
git://repo.or.cz/qemu/armbr
69 matches
Mail list logo