Statistics
| Branch: | Revision:

root @ 67af42ac

# Date Author Comment
67af42ac 01/07/2011 06:20 pm Wolfgang Schildbach

Remove dead code for ARM semihosting commandline handling

There are some bits in the code which were used to store the commandline for
the semihosting call. These bits are now write-only and can be removed.

Signed-off-by: Wolfgang Schildbach <>...

2e8785ac 01/07/2011 06:20 pm Wolfgang Schildbach

Fix commandline handling for ARM semihosted executables

Use the copy of the command line that loader_build_argptr() sets up in guest
memory as the command line to return from the ARM SYS_GET_CMDLINE semihosting
call. Previously we were using a pointer to memory which had already been...

3ebe80c2 01/07/2011 05:38 pm Peter Maydell

linux-user: Fix incorrect NaN detection in ARM nwfpe emulation

The code in the linux-user ARM nwfpe emulation was incorrectly
checking only for quiet NaNs when it should have been checking
for any kind of NaN. This is probably because the code in
question was taken from the Linux kernel, whose copy of the...

2bed652f 01/07/2011 05:35 pm Peter Maydell

softfloat: Implement floatx80_is_any_nan() and float128_is_any_nan()

Implement versions of float*_is_any_nan() for the floatx80 and
float128 types.

Acked-by: Aurelien Jarno <>
Signed-off-by: Peter Maydell <>
Signed-off-by: Riku Voipio <>

285da2b9 01/07/2011 05:20 pm Peter Maydell

linux-user: Implement FS_IOC_FIEMAP ioctl

Implement the FS_IOC_FIEMAP ioctl using the new support for
custom handling of ioctls; this is needed because the struct
that is passed includes a variable-length array.

Signed-off-by: Peter Maydell <>...

d2ef05bb 01/07/2011 05:20 pm Peter Maydell

linux-user: Support ioctls whose parameter size is not constant

Some ioctls (for example FS_IOC_FIEMAP) use structures whose size is
not constant. The generic argument conversion code in do_ioctl()
cannot handle this, so add support for implementing a special-case...

c727f47d 01/07/2011 05:13 pm Peter Maydell

linux-user: Implement sync_file_range{,2} syscalls

Implement the missing syscalls sync_file_range and sync_file_range2.
The latter in particular is used by newer versions of apt on Ubuntu
for ARM.

Signed-off-by: Peter Maydell <>
Signed-off-by: Riku Voipio <>

2a704b13 01/07/2011 01:50 pm Edgar E. Iglesias

cris: Avoid useless tmp in t_gen_cc_jmp()

Signed-off-by: Edgar E. Iglesias <>

78935c4a 01/06/2011 11:29 pm Aurelien Jarno

cirrus: delete GCC 4.6 warnings

Commit 92d675d1c1f23f3617e24b63c825074a1d1da44b triggered uninitialized
variables warning with GCC 4.6. Fix them by adding zero initializers.

Acked-by: Blue Swirl <>
Signed-off-by: Aurelien Jarno <>

37d18660 01/06/2011 11:16 pm Peter Maydell

softfloat: Implement flushing input denormals to zero

Add support to softfloat for flushing input denormal float32 and float64
to zero. softfloat's existing 'flush_to_zero' flag only flushes denormals
to zero on output. Some CPUs need input denormals to be flushed before...

b12c390b 01/06/2011 11:16 pm Peter Maydell

target-arm: Set softfloat cumulative exc flags from correct FPSCR bits

When handling a write to the ARM FPSCR, set the softfloat cumulative
exception flags from the cumulative flags in the FPSCR, not the
exception-enable bits. Also don't apply a mask: vfp_exceptbits_to_host...

cecd8504 01/06/2011 11:16 pm Peter Maydell

target-arm: wire up the softfloat flush_input_to_zero flag

Wire up the new softfloat support for flushing input denormals
to zero on ARM. The FPSCR FZ bit enables flush-to-zero for
both inputs and outputs, but the reporting of when inputs are
flushed to zero is via a separate IDC bit rather than the UFC...

838fa72d 01/06/2011 11:16 pm Aurelien Jarno

target-arm: fix SMMLA/SMMLS instructions

SMMLA and SMMLS are broken on both in normal and thumb mode, that is
both (different) implementations are wrong. They try to avoid a 64-bit
add for the rounding, which is not trivial if you want to support both
SMMLA and SMMLS with the same code....

71df0eeb 01/06/2011 08:25 pm Blue Swirl

block: delete a write-only variable

Avoid a warning with GCC 4.6.0:
/src/qemu/block.c: In function 'bdrv_img_create':
/src/qemu/block.c:2862:25: error: variable 'fmt' set but not used [-Werror=unused-but-set-variable]

CC: Kevin Wolf <>
Signed-off-by: Blue Swirl <>

3fbb33d0 01/06/2011 08:25 pm Blue Swirl

cirrus_vga: Declare as little endian

This patch replaces explicit bswaps with endianness hints to the
mmio layer.

CC: Alexander Graf <>
Signed-off-by: Blue Swirl <>

4b78a802 01/06/2011 08:24 pm Blue Swirl

pc: move port 92 stuff back to pc.c from pckbd.c

956a3e6bb7386de48b642d4fee11f7f86a2fcf9a introduced a bug concerning
reset bit for port 92.

Since the keyboard output port and port 92 are not compatible anyway,
let's separate them.

Reported-by: Peter Lieven <>...

e024e881 01/06/2011 05:29 pm Aurelien Jarno

target-ppc: Implement correct NaN propagation rules

Implement the correct NaN propagation rules for PowerPC targets by
providing an appropriate pickNaN function.

Also fix the #ifdef tests for default NaN definition, the correct name
is TARGET_PPC instead of TARGET_POWERPC....

084d19ba 01/06/2011 05:29 pm Aurelien Jarno

target-mips: Implement correct NaN propagation rules

Implement the correct NaN propagation rules for MIPS targets by
providing an appropriate pickNaN function.

Signed-off-by: Aurelien Jarno <>

1f398e08 01/06/2011 05:29 pm Aurelien Jarno

softfloat: use float{32,64,x80,128}_maybe_silence_nan()

Use float{32,64,x80,128}_maybe_silence_nan() instead of toggling the
sNaN bit manually. This allow per target implementation of sNaN to qNaN
conversion.

Signed-off-by: Aurelien Jarno <>...

f6a7d92a 01/06/2011 05:29 pm Aurelien Jarno

softfloat: add float{x80,128}_maybe_silence_nan()

Add float{x80,128}_maybe_silence_nan() functions, they will be need by
propagateFloat{x80,128}NaN().

Reviewed-by: Peter Maydell <>
Signed-off-by: Aurelien Jarno <>

93ae1c6f 01/06/2011 05:29 pm Aurelien Jarno

softfloat: fix float{32,64}_maybe_silence_nan() for MIPS

On targets that define sNaN with the sNaN bit as one, simply clearing
this bit may correspond to an infinite value.

Convert it to a default NaN if SNAN_BIT_IS_ONE, as it corresponds to
the MIPS implementation, the only emulated CPU with SNAN_BIT_IS_ONE....

d735d695 01/06/2011 05:29 pm Aurelien Jarno

softfloat: rename *IsNaN variables to *IsQuietNaN

Similarly to what has been done in commit
185698715dfb18c82ad2a5dbc169908602d43e81 rename the misnamed *IsNaN
variables into *IsQuietNaN.

Reviewed-by: Peter Maydell <>
Signed-off-by: Aurelien Jarno <>

34d23861 01/06/2011 05:29 pm Aurelien Jarno

softfloat: remove HPPA specific code

We don't have any HPPA target, so let's remove HPPA specific code. It
can be re-added when someone adds an HPPA target.

This has been blessed by Stuart Brady <>, author of the
target-hppa fork.

Reviewed-by: Peter Maydell <>...

82b323cd 01/06/2011 05:12 pm Aurelien Jarno

target-ppc: use float32_is_any_nan()

Use the new function float32_is_any_nan() instead of
float32_is_quiet_nan() || float32_is_signaling_nan().

Acked-by: Alexander Graf <>
Signed-off-by: Aurelien Jarno <>

3eb28bbd 01/06/2011 05:10 pm Aurelien Jarno

target-ppc: fix default qNaN

On PPC the default qNaN doesn't have the sign bit set.

Acked-by: Alexander Graf <>
Signed-off-by: Aurelien Jarno <>

dd94ad96 01/06/2011 05:10 pm Aurelien Jarno

target-ppc: remove PRECISE_EMULATION define

The PRECISE_EMULATION is "hardcoded" to one in target-ppc/exec.h and not
something easily tunable. Remove it and non-precise emulation code as
it doesn't make a noticeable difference in speed. People wanting speed...

23979dc5 01/05/2011 03:23 am Edgar E. Iglesias

microblaze: Use more TB chaining

For some workloads with tight loops this ~doubles the emulation
speed.

Signed-off-by: Edgar E. Iglesias <>

9ae19b65 01/04/2011 10:58 pm Aurelien Jarno

Fix curses on big endian hosts

On big endian hosts, the curses interface is unusable: the emulated
graphic card only displays garbage, while the monitor interface displays
nothing (or rather only spaces).

The curses interface is waiting for data in native endianness, so...

92d675d1 01/04/2011 10:58 pm Aurelien Jarno

cirrus_vga: fix division by 0 for color expansion rop

Commit d85d0d3883f5a567fa2969a0396e42e0a662b3fa introduces a regression
with Windows ME that leads to a division by 0 and a crash.

It uses the color expansion rop with the source pitch set to 0. This is...

8a7d0890 01/04/2011 02:53 am Michael Walle

noaudio: correctly account acquired samples

This will fix the return value of the function which otherwise returns too
many samples because sw->total_hw_samples_acquired isn't correctly
accounted.

Signed-off-by: Michael Walle <>
Signed-off-by: malc <>

011da610 01/03/2011 12:59 am Peter Maydell

target-arm: Implement correct NaN propagation rules

Implement the correct NaN propagation rules for ARM targets by
providing an appropriate pickNaN function.

Signed-off-by: Peter Maydell <>
Signed-off-by: Aurelien Jarno <>

354f211b 01/03/2011 12:58 am Peter Maydell

softfloat: abstract out target-specific NaN propagation rules

IEEE754 doesn't specify precisely what NaN should be returned as
the result of an operation on two input NaNs. This is therefore
target-specific. Abstract out the code in propagateFloat*NaN()
which was implementing the x87 propagation rules, so that it...

18569871 01/02/2011 12:15 pm Peter Maydell

softfloat: Rename float*_is_nan() functions to float*_is_quiet_nan()

The softfloat functions float*_is_nan() were badly misnamed,
because they return true only for quiet NaNs, not for all NaNs.
Rename them to float*_is_quiet_nan() to more accurately reflect...

f96a3834 12/31/2010 11:23 pm Aurelien Jarno

TCG: Improve tb_phys_hash_func()

Most of emulated CPU have instructions aligned on 16 or 32 bits, while
on others GCC tries to align the target jump location. This means that
1/2 or 3/4 of tb_phys_hash entries are never used.

Update the hash function tb_phys_hash_func() to ignore the two lowest...

8aac08b1 12/31/2010 11:22 pm Aurelien Jarno

target-arm: fix UMAAL instruction

UMAAL should use unsigned multiply instead of signed.

This patch fixes this issue by handling UMAAL separately from
UMULL/UMLAL/SMULL/SMLAL as these instructions are different
enough. It also explicitly list instructions in case and catch...

6d5c34fa 12/31/2010 10:17 pm Mike Pall

Fix translation of unary PPC/SPE instructions (efdneg etc.).

Signed-off-by: Mike Pall <>
Signed-off-by: Aurelien Jarno <>

0fcec41e 12/28/2010 08:44 pm Aurelien Jarno

target-sparc: fix udiv(cc) and sdiv(cc)

Since commit 5a4bb580cdb10b066f9fd67658b31cac4a4ea5e5, Xorg crashes on
a Debian Etch image. The commit itself is fine, but it triggers a bug
due to wrong computation of flags for udiv(cc) and sdiv(cc).

This patch only compute cc_src2 for the cc version of udiv/sdiv. It...

818c2e1b 12/27/2010 11:59 pm Aurelien Jarno

Merge branch 'spice.v23.pull' of git://anongit.freedesktop.org/spice/qemu

  • 'spice.v23.pull' of git://anongit.freedesktop.org/spice/qemu:
    vnc/spice: add set_passwd monitor command.
    vnc: support password expire
    vnc: auth reject cleanup
    spice: add qmp 'query-spice' and hmp 'info spice' commands....
4058fd98 12/27/2010 11:02 pm Jan Kiszka

x86: Filter out garbage from segment flags dump

Only bits 8..23 of the segment flags contain valid data, so only dump
those when printing the CPU state.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Aurelien Jarno <>

5569fd7c 12/27/2010 10:43 pm Luiz Capitulino

Fix migrate set speed doc arg

We used to ignore any fractional part in 0.13, but due to recent
changes (started with 9f9b17a4f0865286391e4d3a0a735230122a2289)
migrate_set_speed will reject the fractional part.

We don't expect existing clients to be relying on this, but we...

9c486ad6 12/27/2010 10:21 pm Mattias Holm

target-arm: correct cp15 c1_sys reset value for cortex-a8

Signed-off-by: Juha Riihimäki <>
Signed-off-by: Aurelien Jarno <>

16440c5f 12/27/2010 10:21 pm Juha Riihimäki

target-arm: correct cp15 c1_sys reset value for arm1136 and cortex-a9

Signed-off-by: Juha Riihimäki <>
Signed-off-by: Aurelien Jarno <>

c0034328 12/27/2010 10:21 pm Juha Riihimäki

target-arm: fix vmsav6 access control

Override access control checks (including execute) for mmu translation
table descriptors assigned to manager domains.

Signed-off-by: Juha Riihimäki <>
Signed-off-by: Aurelien Jarno <>

a5d88f3e 12/27/2010 10:07 pm Peter Maydell

target-arm: Correct result in saturating cases for VQSHL of s8/16/32

Where VQSHL of a signed 8/16/32 bit value saturated, the result
value was not being calculated correctly (it should be either
the minimum or maximum value for the size of the signed type)....

620d791e 12/27/2010 10:07 pm Juha Riihimäki

target-arm: remove pointless else clause in VQSHL of u64

Remove a pointless else clause in the neon_qshl_u64 helper.

Signed-off-by: Juha Riihimäki <>
Reviewed-by: Peter Maydell <>
Signed-off-by: Aurelien Jarno <>

eb7a3d79 12/27/2010 10:07 pm Peter Maydell

target-arm: Fix VQSHL of signed 64 bit values by shift counts >= 64

VQSHL of a signed 64 bit non-zero value by a shift count >= 64 should
saturate; return the correct value in this case.

Signed-off-by: Peter Maydell <>
Signed-off-by: Aurelien Jarno <>

4c9b70ae 12/27/2010 10:07 pm Juha Riihimäki

target-arm: Fix VQSHL of signed 64 bit values

Add a missing '-' which meant that we were misinterpreting the shift
argument for VQSHL of 64 bit signed values and treating almost every
shift value as if it were an extremely large right shift.

Signed-off-by: Juha Riihimäki <>...

def126ce 12/27/2010 10:06 pm Juha Riihimäki

target-arm: Fix arguments passed to VQSHL helpers

Correct the arguments passed when generating neon qshl_{u,s}64()
helpers so that we use the correct registers.

Signed-off-by: Juha Riihimäki <>
Reviewed-by: Peter Maydell <>...

1a855029 12/27/2010 08:56 pm Aurelien Jarno

target-arm: fix bug in translation of REVSH

The translation of REVSH shifted the low byte 8 steps left before performing
an 8-bit sign extend, causing this part of the expression to alwas be 0.

Reported-by: Johan Bengtsson <>
Signed-off-by: Aurelien Jarno <>

5697f6ae 12/27/2010 07:29 pm Aurelien Jarno

Fix a missing trailing newline

Signed-off-by: Aurelien Jarno <>

4cdc1cd1 12/27/2010 01:58 am Aurelien Jarno

target-mips: fix host CPU consumption when guest is idle

When the CPU is in wait state, do not wake-up if an interrupt can't be
taken. This avoid host CPU running at 100% if a device (e.g. timer) has
an interrupt line left enabled.

Also factorize code to check if interrupts are enabled in...

6c33286a 12/26/2010 01:29 am Alexander Graf

s390: compile fixes

The s390 target doesn't compile out of the box anymore. This patch fixes all
the obvious glitches that got introduced in the last few weeks.

Signed-off-by: Alexander Graf <>
Signed-off-by: Aurelien Jarno <>

9ed5726c 12/22/2010 12:14 pm Nathan Froyd

target-mips: fix translation of MT instructions

The translation of dmt/emt/dvpe/evpe was doing the moral equivalent of:

int x;
... /* no initialization of x */
x = f (x);

which confused later bits of TCG rather badly, leading to crashes.

Fix the helpers to only return results (those instructions have no...

cbb608a5 12/21/2010 09:44 pm Brad

Use mmap() within code_gen_alloc() for OpenBSD.

Signed-off-by: Brad Smith <>
Signed-off-by: Blue Swirl <>

7ae63a51 12/21/2010 09:44 pm Brad

Add OpenBSD to ifdef list since it has CLOCK_MONOTONIC.

Signed-off-by: Brad Smith <>
Signed-off-by: Blue Swirl <>

5f668643 12/21/2010 09:44 pm Brad

Add support for OpenBSD to QEMU's tap driver.

Signed-off-by: Brad Smith <>
Signed-off-by: Blue Swirl <>

4a1e19ae 12/21/2010 08:32 pm Aurelien Jarno

tcg-arm: fix __clear_cache() warning

Use builtin_clear_cache() instead of __clear_cache() to avoid having
to define the function as extern. Fix the following warning:

| In file included from qemu/cpus.c:34: | qemu/exec-all.h: In function 'tb_set_jmp_target1':...

fcd61af6 12/21/2010 07:28 pm Stefan Weil

qdev: sysbus_get_default must not return a NULL pointer (fix regression)

Every system should have some sort of main system bus,
so sysbus_get_default should always return a valid bus.

Without this patch, at least mipssim and malta no longer
start but raise a null pointer access exception (caused by...

e0087e61 12/20/2010 11:08 pm Bob Breuer

sparc32: ledma extra registers need tracing too

Also trace the extra registers, and update the comments with new
info from Artyom Tarasenko.

Signed-off-by: Bob Breuer <>
Signed-off-by: Blue Swirl <>

ac6c4120 12/20/2010 11:03 pm Andreas Färber

target-i386: Fix accidental use of SoftFloat uint64 type

softfloat.h's uint64 type has least-width semantics.
Use uint64_t instead since that is used in helpers.

v4:
  • Summary change.
v3:
  • Split off.

Signed-off-by: Andreas Färber <>...

c910cf96 12/20/2010 11:03 pm Andreas Färber

wdt_ib700: Fix accidental use of SoftFloat int64 type

softfloat.h's int64 type has least-width semantics.
Since we're assigning an int64_t, use plain int64_t.

v4:
  • Summary change.
v3:
  • Split off.

Signed-off-by: Andreas Färber <>...

f5095c63 12/20/2010 11:02 pm Andreas Färber

apic: Fix accidental use of SoftFloat uint32 type

softfloat.h's uint32 type has least-width semantics.
Surrounding code uses uint32_t, so use uint32_t here, too.

v4:
  • Summary change.
v3:
  • Split off.

Signed-off-by: Andreas Färber <>...

4fd37a98 12/19/2010 04:05 pm Blue Swirl

Avoid a warning from OpenBSD linker

Avoid the warning below by using snprintf:
../libhw64/vl.o(.text+0x78d4): In function `get_boot_devices_list':
/src/qemu/vl.c:763: warning: sprintf() is often misused, please use snprintf()

Signed-off-by: Blue Swirl <>

d41160a3 12/19/2010 03:42 pm Blue Swirl

Sparc: implement monitor command 'info tlb'

Use existing dump_mmu() to implement monitor command 'info tlb'.

Signed-off-by: Blue Swirl <>

cdfe17df 12/19/2010 12:43 pm Blue Swirl

ahci: delete write-only variables (v2)

Avoid these warnings with GCC 4.6.0:
/src/qemu/hw/ide/ahci.c: In function 'ahci_reset_port':
/src/qemu/hw/ide/ahci.c:810:14: error: variable 'tfd' set but not used [-Werror=unused-but-set-variable]
/src/qemu/hw/ide/ahci.c: In function 'handle_cmd':...

6a0ee36a 12/19/2010 12:04 pm Blue Swirl

vga: Declare as little endian

This patch replaces explicit bswaps with endianness hints to the
mmio layer.

CC: Alexander Graf <>
Acked-by: Alexander Graf <>
Signed-off-by: Blue Swirl <>

5d6b423c 12/18/2010 08:58 pm Stefan Weil

win32: Fix CRLF problem in make_device_config.sh

QEMU source code with CRLF line endings
which is quite common on windows hosts
fails with current make_device_config.sh.

The awk script gets the name of the included
file with \r, so instead of pci.mak it will...

86d1c388 12/18/2010 08:31 pm Bob Breuer

sparc32: ledma extra registers

ledma has 0x20 bytes of registers according to OBP, and at least Solaris9
reads the 5th register which is beyond what we've mapped. So let's setup
a flag (inspired by a previous patch from Blue Swirl) to identify ledma
from espdma, and map another 16 bytes of registers which return 0....

4d22c6c2 12/17/2010 11:03 pm Blue Swirl

Fix warning on mingw32

Avoid this warning like other uses of setsockopt:
/src/qemu/net/socket.c: In function 'net_socket_mcast_create':
/src/qemu/net/socket.c:210: warning: passing argument 4 of 'setsockopt' from incompatible pointer type

Signed-off-by: Blue Swirl <>

653af235 12/17/2010 08:57 pm Kevin Wolf

ide: Build fix for via.c

Signed-off-by: Kevin Wolf <>

f56b18c0 12/17/2010 08:57 pm Kevin Wolf

ide: Fix build for cmd646.c

Signed-off-by: Kevin Wolf <>
Acked-by: Andreas Färber <>

e59d688a 12/17/2010 06:05 pm Stefan Hajnoczi

docs: Fix missing carets in QED specification

For some reason the carets ('^') in the QED specification disappeared.
This patch puts them back.

Signed-off-by: Stefan Hajnoczi <>
Signed-off-by: Kevin Wolf <>

6d85a57e 12/17/2010 05:15 pm Jes Sorensen

Add proper -errno error return values to qcow2_open()

In addition this adds missing braces to the function to be consistent
with the coding style.

Signed-off-by: Jes Sorensen <>
Signed-off-by: Kevin Wolf <>

7c80ab3f 12/17/2010 05:15 pm Jes Sorensen

block/qcow2.c: rename qcow_ functions to qcow2_

It doesn't really make sense for functions in qcow2.c to be named
qcow_ so convert the names to match correctly.

Signed-off-by: Jes Sorensen <>
Signed-off-by: Kevin Wolf <>

71af014f 12/17/2010 05:11 pm Stefan Hajnoczi

docs: Add QED image format specification

Signed-off-by: Stefan Hajnoczi <>
Signed-off-by: Kevin Wolf <>

75411d23 12/17/2010 05:11 pm Stefan Hajnoczi

qed: Add QEMU Enhanced Disk image format

This patch introduces the qed on-disk layout and implements image
creation. Later patches add read/write and other functionality.

Signed-off-by: Stefan Hajnoczi <>
Signed-off-by: Kevin Wolf <>

298800ca 12/17/2010 05:11 pm Stefan Hajnoczi

qed: Table, L2 cache, and cluster functions

This patch adds code to look up data cluster offsets in the image via
the L1/L2 tables. The L2 tables are writethrough cached in memory for
performance (each read/write requires a lookup so it is essential to
cache the tables)....

eabba580 12/17/2010 05:11 pm Stefan Hajnoczi

qed: Read/write support

This patch implements the read/write state machine. Operations are
fully asynchronous and multiple operations may be active at any time.

Allocating writes lock tables to ensure metadata updates do not
interfere with each other. If two allocating writes need to update the...

01979a98 12/17/2010 05:11 pm Stefan Hajnoczi

qed: Consistency check support

This patch adds support for the qemu-img check command. It also
introduces a dirty bit in the qed header to mark modified images as
needing a check. This bit is cleared when the image file is closed
cleanly.

If an image file is opened and it has the dirty bit set, a consistency...

38a08f05 12/17/2010 05:11 pm Sebastian Herbszt

ahci: set SATA Mode Select

Set SATA Mode Select to AHCI in the Address Map Register.

Signed-off-by: Sebastian Herbszt <>
Signed-off-by: Kevin Wolf <>

1bdaa28d 12/17/2010 05:11 pm Alexander Graf

ide: honor ncq for atapi

ATAPI also can do ncq, so let's expose the capability.

This patch makes CD-ROM support work on Windows 7 for me.

Signed-off-by: Alexander Graf <>
Signed-off-by: Kevin Wolf <>

53f76e58 12/17/2010 05:11 pm Kevin Wolf

qemu-img: Call error_set_progname

Call error_set_progname during the qemu-img initialization, so that error
messages printed with error_report() use the right prefix.

Signed-off-by: Kevin Wolf <>

f88e1a42 12/17/2010 05:11 pm Jes Sorensen

qemu-img.c: Re-factor img_create()

This patch re-factors img_create() moving the code doing the actual
work into block.c where it can be shared with QEMU. This is needed to
be able to create images from QEMU to be used for live snapshots.

Signed-off-by: Jes Sorensen <>...

f8882568 12/17/2010 05:11 pm Jes Sorensen

Introduce do_snapshot_blkdev() and monitor command to handle it.

The monitor command is:
snapshot_blkdev <device> [snapshot-file] [format]

Default format is qcow2. For now snapshots without a snapshot-file, eg
internal snapshots, are not supported.

Signed-off-by: Jes Sorensen <>...

792da93a 12/17/2010 05:11 pm Jes Sorensen

Prevent creating an image with the same filename as backing file

Signed-off-by: Jes Sorensen <>
Signed-off-by: Kevin Wolf <>

4f70f249 12/17/2010 05:11 pm Jes Sorensen

bdrv_img_create() use proper errno return values

Kevin suggested to have bdrv_img_create() return proper -errno values
on error.

Signed-off-by: Jes Sorensen <>
Signed-off-by: Kevin Wolf <>

15654a6d 12/17/2010 05:11 pm Jes Sorensen

qemu.img.c: Use error_report() instead of own error() implementation

Signed-off-by: Jes Sorensen <>
Signed-off-by: Kevin Wolf <>

ad717139 12/17/2010 05:11 pm Kevin Wolf

Remove NULL checks for bdrv_new return value

It's an indirect call to qemu_malloc, which never returns an error.

Signed-off-by: Kevin Wolf <>

61d9d6b0 12/17/2010 05:11 pm Stefan Hajnoczi

ide: Register vm change state handler once only

We register the vm change state handler in a PCI BAR map() function.
This function can be called multiple times throughout the lifetime of a
PCI IDE device. This results in duplicate vm change state handlers...

bb8bf76f 12/17/2010 05:11 pm Christoph Hellwig

block: add discard support

Add a new bdrv_discard method to free blocks in a mapping image, and a new
drive property to set the granularity for these discard. If no discard
granularity support is set discard support is disabled.

Signed-off-by: Christoph Hellwig <>...

ea3bd56f 12/17/2010 05:11 pm Christoph Hellwig

scsi-disk: support WRITE SAME (16) with unmap bit

Support discards via the WRITE SAME command with the unmap bit set, and
tell the initiator about the support for it via the block limit and the
new thin provisioning EVPD pages. Also fix the comment which incorrectly...

edff5db1 12/17/2010 05:11 pm Stefan Hajnoczi

qemu-io: Add discard command

discard [-Cq] off len -- discards a number of bytes at a specified
offset

discards a range of bytes from the given offset
Example:
'discard 512 1k' - discards 1 kilobyte from 512 bytes into the file
Discards a segment of the currently open file....
dce512de 12/17/2010 05:11 pm Christoph Hellwig

raw-posix: add discard support

Add support to discard blocks in a raw image residing on an XFS filesystem
by calling the XFS_IOC_UNRESVSP64 ioctl to punch holes. Support for other
hole punching mechanisms can be added when they become available.

Signed-off-by: Christoph Hellwig <>...

095343ad 12/17/2010 05:11 pm Kevin Wolf

qemu-io: Fix typo in help texts

Signed-off-by: Kevin Wolf <>

ccf0fd8b 12/17/2010 05:11 pm Roland Elek

ide: add ncq identify data for ahci sata drives

I modified ide_identify() to include the zero-based queue length
value in word 75, and set bit 8 in word 76 to signal NCQ support
in the identify data for AHCI SATA drives.

Signed-off-by: Roland Elek <>...

6ed6c24a 12/17/2010 05:11 pm Alexander Graf

pci: add storage class for sata

This patch adds the storage sata class id.

Signed-off-by: Alexander Graf <>
Signed-off-by: Kevin Wolf <>

1a5a86fb 12/17/2010 05:11 pm Alexander Graf

pci: add ich9 pci id

We need a PCI ID for our new AHCI adapter. I just picked an ICH-9
because that's the one in the Q35 chipset.

This patch adds a PCI ID define for an ICH-9 AHCI adapter.

Signed-off-by: Alexander Graf <>
Signed-off-by: Kevin Wolf <>

f6ad2e32 12/17/2010 05:11 pm Alexander Graf

ahci: add ahci emulation

This patch adds an emulation layer for an ICH-9 AHCI controller. For now
this controller does not do IDE legacy emulation. It is a pure AHCI controller.

Signed-off-by: Alexander Graf <>
Signed-off-by: Kevin Wolf <>

461d13d3 12/17/2010 05:11 pm Alexander Graf

config: move ide core and pci to pci.mak

Every device that can do PCI should also be able to do IDE. So let's move
the IDE definitions over to pci.mak.

Signed-off-by: Alexander Graf <>
Signed-off-by: Kevin Wolf <>

f675d5c8 12/17/2010 05:11 pm Alexander Graf

config: add ahci for pci capable machines

This patch enables AHCI for all machines supporting PCI.

Signed-off-by: Alexander Graf <>
Signed-off-by: Kevin Wolf <>