Lei Li | 24 May 2013 09:41
Picon

[PATCH] migration: Remove double set of bandwidth_limit in migrate_init

bandwidth_limit is double set in migrate_init(), so remove one.

Signed-off-by: Lei Li <lilei <at> linux.vnet.ibm.com>
---
 migration.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/migration.c b/migration.c
index bfbc345..058f9e6 100644
--- a/migration.c
+++ b/migration.c
 <at>  <at>  -349,7 +349,6  <at>  <at>  static MigrationState *migrate_init(const MigrationParams *params)
            sizeof(enabled_capabilities));

     memset(s, 0, sizeof(*s));
-    s->bandwidth_limit = bandwidth_limit;
     s->params = *params;
     memcpy(s->enabled_capabilities, enabled_capabilities,
            sizeof(enabled_capabilities));
--

-- 
1.7.7.6

Amos Kong | 24 May 2013 08:44
Picon
Favicon
Gravatar

[PATCH v4] net: introduce command to query rx-filter information

We want to implement mac programming over macvtap through Libvirt. The
related rx-filter information of the nic contains main mac, rx-mode
items.

This patch adds a QMP event to notify management of rx-filter change,
and adds a monitor command for management to query rx-filter
information.

A flag for each nic is used to avoid events flooding, if management
doesn't query rx-filter after it receives one event, new events won't
be emitted to QMP monitor.

There maybe exist an uncontrollable delay, guests normally expect
rx-filter updates immediately, but it's another separate issue, we
can investigate it after Libvirt work is done.

Signed-off-by: Amos Kong <akong <at> redhat.com>
---
v2: add argument to filter mac-table info of single nic (Stefan)
    update the document, add event notification
v3: rename to rx-filter, add main mac, avoid events flooding (MST)
    fix error process (Stefan), fix qmp interface (Eric)
v4: process qerror in hmp, cleanup (Luiz)
    set flag for each device, add device path in event, add
    helper for g_strdup_printf (MST)
    fix qmp document (Eric)
---
 QMP/qmp-events.txt        | 19 ++++++++++
 hmp-commands.hx           |  2 ++
 hmp.c                     | 48 +++++++++++++++++++++++++
(Continue reading)

peter.crosthwaite | 24 May 2013 08:23
Favicon

[RFC/RFT PATCH v1 1/2] audio/intel-hda: Fix Inheritance hierachy

From: Peter Crosthwaite <peter.crosthwaite <at> xilinx.com>

The ich6 and ich9 variants either need to inherit one from the other,
or both from a common base class, otherwise its not possible to create
a QOM cast macro for use by the shared implementation functions.
Went for option B, with a common base class.

Signed-off-by: Peter Crosthwaite <peter.crosthwaite <at> xilinx.com>
---

 hw/audio/intel-hda.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/hw/audio/intel-hda.c b/hw/audio/intel-hda.c
index 1016af0..8a34337 100644
--- a/hw/audio/intel-hda.c
+++ b/hw/audio/intel-hda.c
 <at>  <at>  -189,6 +189,8  <at>  <at>  struct IntelHDAState {
     uint32_t msi;
 };

+#define TYPE_INTEL_HDA_GENERIC "intel-hda-generic"
+
 struct IntelHDAReg {
     const char *name;      /* register name */
     uint32_t   size;       /* size in bytes */
 <at>  <at>  -1232,7 +1234,7  <at>  <at>  static Property intel_hda_properties[] = {
     DEFINE_PROP_END_OF_LIST(),
 };

(Continue reading)

Stefan Priebe | 24 May 2013 07:50

qmp commands get rejected

Hello list,

since upgrading from qemu 1.4.1 to 1.5.0 i've problems with qmp commands.

With Qemu 1.5 i've the following socket communication:

'{"execute":"qmp_capabilities","id":"12125:1","arguments":{}}'

'{"return": {}, "id": "12125:1"}'

'{"execute":"qom-set","id":"12125:2","arguments":{"value":2,"path":"machine/peripheral/balloon0","property":"guest-stats-polling-interval"}}'

'{"QMP": {"version": {"qemu": {"micro": 0, "minor": 5, "major": 1}, 
"package": ""}, "capabilities": []}}'

'{"id": "12125:2", "error": {"class": "CommandNotFound", "desc": "The 
command qom-set has not been found"}}'

It seems that the command mode (qmp_capabilities) gets resets by the 
welcome banner?

Greets,
Stefan

peter.crosthwaite | 24 May 2013 07:46
Favicon

[PATCH v3 0/5] Data Driven device registers & Zynq DEVCFG

From: Peter Crosthwaite <peter.crosthwaite <at> xilinx.com>

Hi All. This is a new scheme i've come up with handling device registers in a
data driven way. My motivation for this is to factor out a lot of the access
checking that seems to be replicated in every device. See P2 commit message for
further discussion.

P1 is a trivial addition to bitops.h
P2 is the main patch, adds the register definition functionality
P3 adds helpers that glue the register API to the Memory API
P4 is an example new device (the Xilinx Zynq devcfg) that uses this scheme.
P5 adds devcfg to the Zynq machine model

This devcfg device was particularly finnicky with per-bit restrictions which
prompted all this. I'm also looking for a higher-than-usual modelling fidelity
on the register space, with semantics defined for random reserved bits
in-between otherwise consistent fields.

Heres an example of the qemu_log output for the devcfg device. This is produced
by now generic sharable code:

/machine/unattached/device[44]:Addr 0x000008:CFG: write of value 00000508
/machine/unattached/device[44]:Addr 0x000080:MCTRL: write of value 00800010
/machine/unattached/device[44]:Addr 0x000010:INT_MASK: write of value ffffffff
/machine/unattached/device[44]:Addr 00000000:CTRL: write of value 0c00607f

And an example of a rogue guest banging on a bad bit:

/machine/unattached/device[44]:Addr 0x000014:STATUS bits 0x000001 may not be \
								written to 1
(Continue reading)

Fam Zheng | 24 May 2013 07:36
Picon
Favicon

[PATCH v6 00/12] curl: fix curl read

CURL library API has changed, the current curl driver is not working with
current libcurl. It may or may not have worked with old libcurl, but currently,
when testing with apache http URL, it just hangs before fetching any data.  The
problem is because the mismatch of our code and how libcurl wants to be used.
(man 3 curl_multi_socket_action, section 'TYPICAL USAGE')

 - Step 3. We need timer to support libcurl timeout.
 - Step 6. We'll call the right API function, replacing the deprecated.
 - Step 5, 8. Manage socket properly (take actions on socket fd that are passed
   into socket callback from libcurl)

This patch rewrites the use of API as well as the structure of internal states:

BDRVCURLState holds the pointer to curl multi interface (man 3
libcurl-multi), and 4 lists for internal states:
 - CURLState holds state for libcurl connection (man 3 libcurl-easy)
 - CURLSockInfo holds information for libcurl socket interface (man 3
   curl_multi_socket_action).
 - CURLDataCache holds the user data read from libcurl, it is in a list
   ordered by access, the used cache is moved to list head on access, so
   the tail element is freed first. BDRVCURLState.cache_quota is the
   threshold to start freeing cache.
 - CURLAIOCB holds ongoing aio information.

Changes from v5:
  05: Rename bs to s for BDRVCURLState.
  06: Use int64_t for offsets.
      Fix printf format string.
      Move introducing of use_count to 07.
  07: Drop explicit cast.
(Continue reading)

peter.crosthwaite | 24 May 2013 07:14
Favicon

[PATCH arm-devs v2 0/5] SD and SDHCI Fixes

From: Peter Crosthwaite <peter.crosthwaite <at> xilinx.com>

Fixes found in SD and SDHCI found doing some corner case testing.

Changed from v1:
Corrected ACMD41 patch.
Moved ACMD41 patch to back of series.

Peter Crosthwaite (5):
  sd/sdhci.c: Only reset data_count on new commands
  sd/sdhci: Fix Buffer Write Ready interrupt
  sd/sdhci.c: Fix bdata_read DPRINT message
  sd/sdhci:ADMA: fix interrupt
  sd/sd.c: Fix "inquiry" ACMD41

 hw/sd/sd.c    |  3 ++-
 hw/sd/sdhci.c | 28 ++++++++++++++--------------
 2 files changed, 16 insertions(+), 15 deletions(-)

--

-- 
1.8.3.rc1.44.gb387c77.dirty

liguang | 24 May 2013 04:47
Favicon

[PATCH 0/4] debugcon: fix some bugs when DEBUG_DEBUGCON

when enable DEBUG_DEBUGCON, there are some message
printing bugs, so fix them.

this patch-set based on previous 3 patches,
http://comments.gmane.org/gmane.comp.emulators.qemu/212550
http://comments.gmane.org/gmane.comp.emulators.qemu/212551
http://comments.gmane.org/gmane.comp.emulators.qemu/212552

cover-letter and patch [4/4] are new, no changes
for other 3.

Li Guang (4)
	 debugcon: fix always print "addr=0x0, val=0x0" bug when use DEBUG_DEBUGCON
	 debugcon: make debug message more readable
	 debugcon: fix compiler warning when open DEBUG_DEBUGCON
	 debugcon: use fprintf(stderr...) instead of printf

hw/char/debugcon.c | 13 +-
1 files changed, 7 insertions(+), 6 deletions(-)

Luiz Capitulino | 23 May 2013 20:20
Picon
Favicon

[PULL 00/12] QMP queue

The changes (since 95de21a430f7bc4166a153b1f69b1425c8a99c7b) are available
in the following repository:

    git://repo.or.cz/qemu/qmp-unstable.git queue/qmp

Amos Kong (1):
  ui/input.c: replace magic numbers with macros

Luiz Capitulino (1):
  monitor: allow to disable the default monitor

Michael Roth (10):
  qapi: qapi-types.py, native list support
  qapi: qapi-visit.py, fix list handling for union types
  qapi: qapi-visit.py, native list support
  qapi: enable generation of native list code
  json-parser: fix handling of large whole number values
  qapi: add QMP input test for large integers
  qapi: fix visitor serialization tests for numbers/doubles
  qapi: add native list coverage for visitor serialization tests
  qapi: add native list coverage for QMP output visitor tests
  qapi: add native list coverage for QMP input visitor tests

 Makefile                           |   6 +-
 qapi-schema-test.json              |  15 ++
 qemu-options.hx                    |   1 +
 qobject/json-parser.c              |  26 +-
 scripts/qapi-types.py              |  45 +++-
 scripts/qapi-visit.py              |  36 ++-
 scripts/qapi.py                    |  23 ++
(Continue reading)

Corey Bryant | 23 May 2013 19:44
Picon

[PATCH 0/7] VNVRAM persistent storage

This patch series provides VNVRAM persistent storage support that
QEMU can use internally.  The initial target user will be a software
vTPM 1.2 backend that needs to store keys in VNVRAM and be able to
reboot/migrate and retain the keys.

This support uses QEMU's block driver to provide persistent storage
by reading/writing VNVRAM data from/to a drive image.  The VNVRAM
drive image is provided with the -drive command line option just like
any other drive image and the vnvram_create() API will find it.

The APIs allow for VNVRAM entries to be registered, one at a time,
each with a maximum blob size.  Entry blobs can then be read/written
from/to an entry on the drive.  Here's an example of usage:

VNVRAM *vnvram;
int errcode
const VNVRAMEntryName entry_name;
const char *blob_w = "blob data";
char *blob_r;
uint32_t blob_r_size;

vnvram = vnvram_create("drive-ide0-0-0", false, &errcode);
strcpy((char *)entry_name, "first-entry");
vnvram_register_entry(vnvram, &entry_name, 1024);
vnvram_write_entry(vnvram, &entry_name, (char *)blob_w, strlen(blob_w)+1);
vnvram_read_entry(vnvram, &entry_name, &blob_r, &blob_r_size);
vnvram_delete(vnvram);

Thanks,
Corey
(Continue reading)

Petar Jovanovic | 23 May 2013 19:37

[PATCH] target-mips: fix multiplication in mipsdsp_rndq15_mul_q15_q15

From: Petar Jovanovic <petar.jovanovic <at> imgtec.com>

Multiplication of Q15 fractional halfword vectors was incorrect in the
previous implementation of mipsdsp_rndq15_mul_q15_q15. It failed to take
element signs into account. This change fixes it, and it adds a test case
for it.

The change also removes unnecessary cast in the function
mipsdsp_mul_q15_q15_overflowflag21().

Signed-off-by: Petar Jovanovic <petar.jovanovic <at> imgtec.com>
---
 target-mips/dsp_helper.c               |    4 ++--
 tests/tcg/mips/mips32-dsp/mulq_rs_ph.c |   19 ++++++++++++++++++-
 2 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/target-mips/dsp_helper.c b/target-mips/dsp_helper.c
index 4116de9..c718a78 100644
--- a/target-mips/dsp_helper.c
+++ b/target-mips/dsp_helper.c
 <at>  <at>  -390,7 +390,7  <at>  <at>  static inline int32_t mipsdsp_mul_q15_q15_overflowflag21(uint16_t a, uint16_t b,
         temp = 0x7FFFFFFF;
         set_DSPControl_overflow_flag(1, 21, env);
     } else {
-        temp = ((int32_t)(int16_t)a * (int32_t)(int16_t)b) << 1;
+        temp = ((int16_t)a * (int16_t)b) << 1;
     }

     return temp;
 <at>  <at>  -622,7 +622,7  <at>  <at>  static inline int16_t mipsdsp_rndq15_mul_q15_q15(uint16_t a, uint16_t b,
(Continue reading)


Gmane