Statistics
| Branch: | Revision:

root @ d29275f1

# Date Author Comment
131ec1bd 10/05/2009 05:32 pm Gerd Hoffmann

qdev: device free fixups.

Two bug fixes: * When freeing a device we unregister even stuff we didn't register in
the first place because the ->init() callback failed. * When freeing a device with child busses attached, we fail to zap the
child bus (and the devices attached to it)....

d29275f1 10/05/2009 05:32 pm Gerd Hoffmann

Add exit callback to DeviceInfo.

This adds a exit callback for device destruction to DeviceInfo, so
we can hook cleanups into qdev device destruction.

Followup patches will put that into use.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

1f850f10 10/05/2009 05:32 pm Gerd Hoffmann

switch ide bus to inplace allocation.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

21eea4b3 10/05/2009 05:32 pm Gerd Hoffmann

support inplace allocation for pci bus, split irq init.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

03587182 10/05/2009 05:32 pm Gerd Hoffmann

convert pci bridge to qdev

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

7cd9eee0 10/05/2009 05:32 pm Gerd Hoffmann

piix_pci: kill PIIX3IrqState

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

1ac7105e 10/05/2009 05:32 pm Gerd Hoffmann

update pcbios submodule to current master

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

907265db 10/05/2009 05:32 pm Gerd Hoffmann

update pc-bios/bios.bin

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

021f0674 10/05/2009 05:32 pm Gerd Hoffmann

parallel: convert isa to qdev

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

ca9c39fa 10/05/2009 05:32 pm Gerd Hoffmann

switch scsi bus to inplace allocation.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

b2317837 10/05/2009 05:32 pm Gerd Hoffmann

switch usb bus to inplace allocation.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

f64382ba 10/05/2009 05:32 pm Jan Kiszka

win32: Drop dead dyntick timer code

nearest_delta_us is calculated but not used. Drop it.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Anthony Liguori <>

21d5d12b 10/05/2009 05:32 pm Jan Kiszka

Introduce QEMU_CLOCK_HOST

Despite its name QEMU_CLOCK_REALTIME is (normally) not using
CLOCK_REALTIME / the host system time as base. In order to allow also
non-trivial RTC emulations (MC146818) to follow the host time instead of
the virtual guest time, introduce the new clock type QEMU_CLOCK_HOST. It...

1ed2fc1f 10/05/2009 05:32 pm Jan Kiszka

Refactor RTC command line switches

Deprecate -localtime, -setdate and -rtc-td-hack in favor of a new
unified command line switch:

-rtc [base=utc|localtime|date][,driftfix=none|slew]

Signed-off-by: Jan Kiszka <>
Signed-off-by: Anthony Liguori <>

6875204c 10/05/2009 05:32 pm Jan Kiszka

Enable host-clock-based RTC

Switch RTC emulations to the new host_clock instead of vm_clock by
default. This has the advantage that the emulated RTC will follow
automatically the host time while it might be tuned via NTP. vm_clock
can still be selected by passing '-rtc clock=vm' on the command line....

5f30fa18 10/05/2009 05:32 pm Jan Kiszka

gdbstub: x86: Switch 64/32 bit registers dynamically

Commit 56aebc891674cd2d07b3f64183415697be200084 changed gdbstub in way
that debugging 32 or 16-bit guest code is no longer possible with qemu
for x86_64 guest CPUs. Since that commit, qemu only provides registers...

b3807725 10/05/2009 05:32 pm Jan Kiszka

kvm: Fix guest single-stepping

Hopefully the last regression of 4c0960c0: KVM_SET_GUEST_DEBUG requires
properly synchronized guest registers (on x86: eflags) on entry.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Anthony Liguori <>

828566bc 10/05/2009 05:32 pm Glauber Costa

temporary fix for on_vcpu

Recent changes made on_vcpu hit the abort() path, even with the IO thread
disabled. This is because cpu_single_env is no longer set when we call this
function. Although the correct fix is a little bit more complicated that that,...

cd739fb6 10/05/2009 05:32 pm Gerd Hoffmann

allow qdev busses allocations be inplace

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

d5b61ddd 10/05/2009 05:32 pm Jan Kiszka

musicpal: Add VMState support

Register all relevant fields of Musicpal device states with the VMState
framework. This involves a few type changes of state variables.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Anthony Liguori <>

b6e31c12 10/05/2009 05:32 pm Juan Quintela

slirp: It needs to use QEMU_CFLAGS not CFLAGS

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

a316e378 10/05/2009 05:32 pm Juan Quintela

Add Wold-style* flags

This time, I add them in configure only if target compiler supports it

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

47cbc7aa 10/05/2009 05:32 pm Juan Quintela

bdf: Remove last users of FALSE/TRUE

This brings bfd_boolean to the wonderful world of <stdbool.h>, it is needed
because it defines bdf_boolean as an enum with values true and false,
and some architectures use TRUE, FALSE and give problems when you try to use...

e5bc201d 10/05/2009 05:32 pm Glauber Costa

do proper cpu_self check

Currently, our check for qemu_cpu_self only checks if there is a cpu
currently in execution (represented by cpu_single_env being set). While
this might be okay for tcg, it is certainly not okay for kvm, since multiple
cpus might be executing....

a9796703 10/05/2009 05:32 pm Glauber Costa

Correctly free nd structure

When we "free" a NICInfo structure, we can leak pointers, since we don't do
much more than setting used = 0.

We free() the model parameter, but we don't set it to NULL. This means that
a new user of this structure will see garbage in there. It was not noticed...

0148fde5 10/05/2009 05:32 pm Luiz Capitulino

Fix exit on 'pci_add' Monitor command

If the user issues one of the following commands to the Monitor:

pci_add pci_addr=auto nic model=None
pci_add pci_addr=auto nic model=?

QEMU will exit, because the function used to perform sanity
checks (qemu_check_nic_model_list()) exits on error....

0fdddf80 10/05/2009 05:32 pm Jan Kiszka

Rename QEMU_TIMER_* to QEMU_CLOCK_*

These constants select clocks, not timers. And init_timers initializes
clocks.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Anthony Liguori <>

3c8ce630 10/05/2009 05:32 pm Juan Quintela

x86: factor out cpu_get/put_fpreg()

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

f11f6a5f 10/05/2009 05:32 pm Juan Quintela

vmstate: Add suppot for field_exist() test

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

0cb892aa 10/05/2009 05:32 pm Juan Quintela

x86: port cpu to vmstate

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

2e87c5b9 10/05/2009 05:32 pm Jan Kiszka

musicpal: Catch null TX qeueues

They likely represent invalid queues that should be skipped. We already
do this for RX queues. Wish I had a spec...

Credits go to malc for analyzing the issue and suggesting this fix.

Signed-off-by: Jan Kiszka <>...

708afdf3 10/05/2009 05:32 pm Jan Kiszka

musicpal: Rework GPIO input events

The qdev_gpio conversion of 343ec8e caused come polarity mismatch of key
event pins and left an overly complex solution behind. Take this chance
and refactor the GPIO input system of the Musicpal, moving it closer to
reality:...

243cd13c 10/05/2009 05:32 pm Jan Kiszka

musicpal: Clean up typecasts

Signed-off-by: Jan Kiszka <>
Signed-off-by: Anthony Liguori <>

49fedd0d 10/05/2009 05:32 pm Jan Kiszka

musicpal: Coding style fixes

Signed-off-by: Jan Kiszka <>
Signed-off-by: Anthony Liguori <>

30624c92 10/05/2009 05:32 pm Jan Kiszka

musicpal: True reset support for GPIO

Signed-off-by: Jan Kiszka <>
Signed-off-by: Anthony Liguori <>

267c4840 10/05/2009 05:32 pm Jan Kiszka

musicpal: True reset support for audio device

Signed-off-by: Jan Kiszka <>
Signed-off-by: Anthony Liguori <>

c88d6bde 10/05/2009 05:32 pm Jan Kiszka

musicpal: Make PIT emulation more robust

Stop the periodic timers of the PIT on reset, disabling via the control
register and invalid parameters.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Anthony Liguori <>

e5cc6429 10/05/2009 05:32 pm Juan Quintela

x86: mcg_cap is never 0

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

acc68836 10/05/2009 05:32 pm Juan Quintela

x86: split FPReg union

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

c1a54d57 10/05/2009 05:32 pm Juan Quintela

x86: split MTRRVar union

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

f89a8e4e 10/05/2009 05:32 pm Juan Quintela

Add *TL functions to vmstate

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

66e6d55b 10/05/2009 05:32 pm Juan Quintela

x86: port segments to vmstate

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

c4c38c8c 10/05/2009 05:32 pm Juan Quintela

x86: factor out cpu_pre_save()

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

468f6581 10/05/2009 05:32 pm Juan Quintela

x86: factor out cpu_pre/post_load()

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

fc3b0aa2 10/05/2009 05:32 pm Juan Quintela

x86: factor out cpu_get/put_xmm_reg()

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

216c07c3 10/05/2009 05:32 pm Juan Quintela

x86: factor out cpu_get/put_mttr_var()

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

60a902f1 10/05/2009 05:32 pm Juan Quintela

x86: add fpregs_format_vmstate

Don't even ask, being able to load/save between 64<->80bit floats should be forbidden

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

ac74d0f1 10/05/2009 05:32 pm Juan Quintela

x86: mce_banks always have the same size

mce_banks is always MCE_BANKS_DEF * 4 in size, value never change

CC: Huang Ying <>
Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

496eb021 10/05/2009 05:32 pm Juan Quintela

x86: send mce_banks as an array

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

eb831623 10/05/2009 05:32 pm Juan Quintela

x86: fpuc is uint16_t not unsigned int

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

67b8f419 10/05/2009 05:32 pm Juan Quintela

x86: fpus is uint16_t not unsigned int

We save more that fpus on that 16 bits (fpstt), we need an additional field

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

cdc0c58f 10/05/2009 05:32 pm Juan Quintela

x86: add fptag_vmstate to the state

It is needed to store fptags

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

bfc179b6 10/05/2009 05:32 pm Juan Quintela

x86: add pending_irq_vmstate to the state

It is needed to save the interrupt_bitmap

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

f0495f56 10/05/2009 05:32 pm Juan Quintela

vmstate: port twl92230 device

Just don't look. struct tm members are ints' and they are sent as uint16_t.
VMState code complains as it should. Have to create hacky int32_as_uint16
type. Don't ever think about copying it

Signed-off-by: Juan Quintela <>...

19df438b 10/05/2009 05:32 pm Juan Quintela

vmstate: add support for arrays of pointers

We need this to send arrays of timers

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

e69f0602 10/05/2009 05:32 pm Juan Quintela

lm832x: make fields to have the same types that they are saved/loaded

They were saved as uint8_t already. To make things simpler, I just
reg == -1 used to indicate an error, I create LM832x_GENERAL_ERROR
with vale 0xff to represet it

Signed-off-by: Juan Quintela <>...

aa1e3b28 10/05/2009 05:32 pm Juan Quintela

vmstate: port lm832x device

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

6b0e766f 10/05/2009 05:32 pm Juan Quintela

vmstate: remove i2c_slave_load/save

All its users moved to vmstate

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

1f76b9b9 10/05/2009 05:32 pm Juan Quintela

x86: hflags is not modified at all, just save it directly

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

5ee0ffaa 10/05/2009 05:32 pm Juan Quintela

x86: make a20_mask int32_t

This makes the savevm code correct, and sign extensins gives us exactly
what we need (namely, sign extend to 64 bits when used with 64bit addresess.

Once there, change 0x100000 for 1 << 20, that maks all a20 use the same syntax....

b6bd0bdc 10/05/2009 05:32 pm Juan Quintela

vmstate: add uint8 array

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

1894839f 10/05/2009 05:32 pm Juan Quintela

vmstate: create VMSTATE_I2C_SLAVE

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

c1d803b3 10/05/2009 05:32 pm Juan Quintela

vmstate: port wm8750 device

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

7cb45faa 10/05/2009 05:32 pm Juan Quintela

vmstate: port max7310 device

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

840e9cef 10/05/2009 05:32 pm Juan Quintela

vmstate: create VMSTATE_STRUCT_POINTER

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

0211364d 10/05/2009 05:32 pm Juan Quintela

vmstate: port pxa2xx_i2c device

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

aed7278d 10/05/2009 05:32 pm Juan Quintela

vmstate: port ssd0303 device

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

289070c7 10/05/2009 05:32 pm Juan Quintela

vmstate: create VMSTATE_INT16_ARRAY

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

6f3a7798 10/05/2009 05:32 pm Juan Quintela

tmp105: change len and alorm to uint8_t

They were using only with very small integers, and they are sent/read as
bytes. They can't become negative as far as I can see

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

371a4468 10/05/2009 05:32 pm Juan Quintela

vmstate: port tmp105 device

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

b53d44e5 10/05/2009 05:32 pm Juan Quintela

twl92230: change pwrbtn_state to uint8_t

its value is always the level of an interrupt, 0 or 1

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

d4bfa4d7 10/05/2009 05:32 pm Juan Quintela

vmstate: remove const from pre_save() functions

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

db596c53 10/05/2009 05:32 pm Juan Quintela

vmstate: remove ps2_kbd_load_old()

Now that we have version_id on post_load() we don't need the old load
function

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

6680f01c 10/05/2009 05:32 pm Juan Quintela

vmstate: Add support for sending partial arrays

This one is needed for changees happening on fdc. It allows you to send
arrays of structs whose size we want to send it is another field with type
uint8_t. (If you have been able to read the whole sentence without...

c7cc172d 10/05/2009 05:32 pm Juan Quintela

qdev: Add support for uint8_t

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

5b7f5327 10/05/2009 05:32 pm Juan Quintela

i2c: addresses are load/save as uint8_t values, change types to reflect this

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

8d0eb050 10/05/2009 05:32 pm Juan Quintela

vmstate: port i2c_bus device

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

bcbe8068 10/05/2009 05:32 pm Juan Quintela

vmstate: port i2c_slave device

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

f22f5b07 10/05/2009 05:32 pm Juan Quintela

cirrus_vga: also assign gr0/1 when writting shadow_gr0/1

This is a regression/bug caused by previous vga_cleanup. This fixes
Ubuntu installer reported by:
Pierre Riteau

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

50af3246 10/05/2009 05:32 pm Juan Quintela

vga: move back dirty_log functions to vga.c

They are needed there on qemu-kvm.

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

84e2e3eb 10/05/2009 05:32 pm Juan Quintela

vmstate: remove const for put operations

In a later patch, we introduce pre_save() and post_save() functions.
The whole point of that operation is to change things in the state.
Without this patch, we have to remove the const qualifier in each
use with a cast...

e59fb374 10/05/2009 05:32 pm Juan Quintela

vmstate: add version_id argument to post_load

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

4e3db917 10/05/2009 05:29 pm Aurelien Jarno

Revert "eepro100: Remove unused device status entries"

This reverts commit 3031efabd0bb744126a53f32c5426580b5d394d5.

09d85fb8 10/05/2009 12:10 am Kevin Wolf

target-i386: Fix exceptions for fxsave/fxrstor

This patch corrects the following aspects of exception generation in
fxsave/fxrstor:

  • Generate #GP if the operand is not aligned to a 16 byte boundary
  • Generate #UD if the LOCK prefix is used
  • For CR0.EM = 1 #NM is generated, not #UD...
94f4af02 10/04/2009 04:30 pm Aurelien Jarno

tcg: allocate s->op_dead_iargs dynamically

Similarly to what is already done in tcg_liveness_analysis() when
USE_LIVENESS_ANALYSIS is not set.

Signed-off-by: Aurelien Jarno <>

8389c67b 10/04/2009 04:16 pm Aurelien Jarno

tcg: remove dead code

Signed-off-by: Aurelien Jarno <>

b7d43d03 10/04/2009 04:02 pm Paul Bolle

bsd-user: fix "#if 0"'d printf()

Make an "#if 0"'d printf() in load_elf_binary() reflect what the actual
code does (see commit 3bc0bdcaadef1100ce2413af818d9c8e2f6319fc).

Signed-off-by: Paul Bolle <>
Signed-off-by: Aurelien Jarno <>

c4c270e2 10/04/2009 03:59 pm Stefan Weil

eepro100: Add more i825xx devices

The new devices added here are still not functional -
partially because some patches are still missing,
partially because I cannot test them. Nevertheless
they belong to the same family and will be supported
by this driver some day....

3031efab 10/04/2009 03:54 pm Stefan Weil

eepro100: Remove unused device status entries

A lot of entries are unused (they were added by copy + paste
from other drivers during development of eepro100.c).

Removing them from nic_save, nic_load makes any
old saved status incompatible, so a new version...

1b050077 10/04/2009 03:46 pm Andre Przywara

target-i386: add RDTSCP support

RDTSCP reads the time stamp counter and atomically also the content
of a 32-bit MSR, which can be freely set by the OS. This allows CPU
local data to be queried by userspace.
Linux uses this to allow a fast implementation of the getcpu()...

d9f4bb27 10/04/2009 03:09 pm Andre Przywara

target-i386: add SSE4a instruction support

This adds support for the AMD Phenom/Barcelona's SSE4a instructions.
Those include insertq and extrq, which are doing shift and mask on
XMM registers, in two versions (immediate shift/length values and
stored in another XMM register)....

ccd59d09 10/04/2009 03:04 pm Andre Przywara

target-i386: add lock mov cr0 = cr8

AMD CPUs featuring a shortcut to access CR8 even from 32-bit mode.
If you use the LOCK prefix with "mov CR0", it accesses CR8 instead.
This behavior is guarded by the CR8_LEGACY CPUID bit
(Fn8000_0001:ECX1).

Signed-off-by: Andre Przywara <>...

317b7e67 10/04/2009 02:24 pm Michael S. Tsirkin

hw/omap_dma: add matching {} in if 0

MULTI_REQ is never defined, so it doesn't matter much, but since
we have an if statement there, let's add {} to clarify what it
should do if it's uncommented, and indent the code properly.

Signed-off-by: Michael S. Tsirkin <>...

ee682d27 10/04/2009 02:24 pm Stefan Weil

Check availability of uuid header / library

If available, the Universally Unique Identifier library
is used by the vdi block driver.

Other parts of QEMU (vl.c) could also use it.

Signed-off-by: Stefan Weil <>
Signed-off-by: Aurelien Jarno <>

3bc0bdca 10/04/2009 02:24 pm Paul Bolle

linux-user: fix "#if 0"'d printf()

Make an "#if 0"'d printf() in load_elf_binary(), probably left to aid in
debugging, reflect what the actual code does. The current printf() will
only confuse those who "#if 1" it (it certainly confused me enough to
write this trivial patch)....

cfc86988 10/04/2009 02:24 pm Aurelien Jarno

tcg: add ext{8,16,32}u_i{32,64} TCG ops

Currently zero extensions ops are implemented by a and op with a
constant. This is then catched in some backend, and replaced by
a zero extension instruction. While this works well on RISC
machines, this adds a useless register move on non-RISC machines....

64584218 10/04/2009 02:24 pm Aurelien Jarno

tcg/x86_64: add support for ext{8,16,32}u_i{32,64} TCG ops

Signed-off-by: Aurelien Jarno <>

5f0ce17f 10/04/2009 02:24 pm Aurelien Jarno

tcg/i386: add support for ext{8,16}u_i32 TCG ops

Signed-off-by: Aurelien Jarno <>

a628b869 10/03/2009 02:30 am malc

oss/alsa: Do not invoke UB described in 7.15.1.1 (this time for ADC)

Signed-off-by: malc <>

cbc18261 10/02/2009 10:46 pm Juan Quintela

libuser is a generated directory

Signed-off-by: Juan Quintela <>
Signed-off-by: Blue Swirl <>