sdk/emulator/qemu.git
15 years agonet: fix multiple NICs causing net opts process to stop
Mark McLoughlin [Mon, 12 Oct 2009 08:52:00 +0000 (09:52 +0100)]
net: fix multiple NICs causing net opts process to stop

For NICs, net_init_client() returns the index into the NICInfo table.

qemu_opts_foreach() interprets non-zero as an error return an stops
iterating over the options.

So, if you have more than one '-net nic' on the command line, subsequent
'-net' options do not get processed.

Fix this by making net_client_init() only return non-zero if
net_init_client() returns an error.

Reported-by: Peter Lieven <pl@dlh.net>
Patchworks-ID: 35736
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agonet: add queue for peer-to-peer packet forwarding
Mark McLoughlin [Thu, 8 Oct 2009 18:58:32 +0000 (19:58 +0100)]
net: add queue for peer-to-peer packet forwarding

Now that we have re-factored the packet queue code, we can re-use
it for peer-to-peer also.

Patchworks-ID: 35520
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agonet: refactor packet queueing code
Mark McLoughlin [Thu, 8 Oct 2009 18:58:31 +0000 (19:58 +0100)]
net: refactor packet queueing code

The packet queue code is fairly standalone, has some complex details and
easily reusable. It makes sense to split it out on its own. This patch
doesn't contain any functional changes.

Patchworks-ID: 35511
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agonet: allow NICs to be connected to netdevs
Mark McLoughlin [Thu, 8 Oct 2009 18:58:30 +0000 (19:58 +0100)]
net: allow NICs to be connected to netdevs

Introduce a 'peer' member to VLANClientState as an alternative
to a vlan. The idea being that packets are transfered directly
from peer clients rather than going through a vlan.

Patchworks-ID: 35516
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agonet: add -net nic,netdev= option
Mark McLoughlin [Thu, 8 Oct 2009 18:58:29 +0000 (19:58 +0100)]
net: add -net nic,netdev= option

Patchworks-ID: 35515
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agonet: maintain a list of vlan-less clients
Mark McLoughlin [Thu, 8 Oct 2009 18:58:28 +0000 (19:58 +0100)]
net: maintain a list of vlan-less clients

Allows them to be cleaned up at shutdown.

This is pretty lame, but will eventually go away as we make vlans
the special case.

Patchworks-ID: 35518
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agonet: handle -netdevice options
Mark McLoughlin [Thu, 8 Oct 2009 18:58:27 +0000 (19:58 +0100)]
net: handle -netdevice options

Same as for -net except for:

- only tap, user, vde and socket types are supported
- the vlan parameter is not allowed
- the name parameter is not allowed but the id parameter is
required

Patchworks-ID: 35517
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agonet: add -netdev option
Mark McLoughlin [Thu, 8 Oct 2009 18:58:26 +0000 (19:58 +0100)]
net: add -netdev option

Patchworks-ID: 35506
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agonet: add QemuOptsList arg to net_client_parse()
Mark McLoughlin [Thu, 8 Oct 2009 18:58:25 +0000 (19:58 +0100)]
net: add QemuOptsList arg to net_client_parse()

Patchworks-ID: 35505
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agonet: allow clients not associated with a vlan
Mark McLoughlin [Thu, 8 Oct 2009 18:58:24 +0000 (19:58 +0100)]
net: allow clients not associated with a vlan

Allow net clients to be created which are not connected to any vlan.

This is needed by Gerd in order to allow adding -device nic, where
the absence of a vlan parameter will not imply vlan=0. Also needed
to allow adding a -netdevice option which doesn't connect the backend
to a vlan.

Patchworks-ID: 35513
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agonet: use qtailq for vlan and client lists
Mark McLoughlin [Thu, 8 Oct 2009 18:58:23 +0000 (19:58 +0100)]
net: use qtailq for vlan and client lists

Patchworks-ID: 35507
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agonet: remove id field from NICInfo
Mark McLoughlin [Thu, 8 Oct 2009 18:58:22 +0000 (19:58 +0100)]
net: remove id field from NICInfo

Just use the name field instead since we now use the id paramater as
the name, if supplied. Only implication with this change is that if
id is not supplied, the value of the name paramater is used as an
id.

Patchworks-ID: 35512
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agonet: handle id= parameter for -net
Mark McLoughlin [Thu, 8 Oct 2009 18:58:21 +0000 (19:58 +0100)]
net: handle id= parameter for -net

Use id= in the same was as the current name= parameter; if both are
specified, id= is used.

Patchworks-ID: 35514
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agonet: remove unused qemu_handler_true()
Mark McLoughlin [Thu, 8 Oct 2009 18:58:20 +0000 (19:58 +0100)]
net: remove unused qemu_handler_true()

Patchworks-ID: 35504
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agonet: pass monitor handle to client init functions
Mark McLoughlin [Thu, 8 Oct 2009 18:58:19 +0000 (19:58 +0100)]
net: pass monitor handle to client init functions

Needed for e.g. looking up a file descriptor name using
monitor_get_fd() in net_init_tap()

Patchworks-ID: 35509
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agohotplug: safely iterate bus's sibling list while removing a device
Mark McLoughlin [Thu, 8 Oct 2009 18:58:18 +0000 (19:58 +0100)]
hotplug: safely iterate bus's sibling list while removing a device

Without this, I'm seeing a segfault when unpluging a NIC.

Cc: Gerd Hoffmann <kraxel@redhat.com>
Patchworks-ID: 35519
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoeepro100: Remove unused device status entries
Stefan Weil [Fri, 9 Oct 2009 17:49:58 +0000 (19:49 +0200)]
eepro100: Remove unused device status entries

Once upon the time when QEMU hacking was fun
there was a brave knight who wanted to have
a driver for a special intel nic.

So he started by cloning ne2000.c which also
meant that the new born eepro100.c was
immediately three years old.

Other knights who also wanted to have fun and
take their part in the battle thought that it
would be a good idea to remove stupid code
which says "missing nic load, missing nic save".

They saved everything they saw, man and women,
ne2000 code and runtime address offsets, and
put all saved elements in a prison called
vm data.

When the first knight came back and noticed
the unhappy prisoners, he wanted to set them
free. But the keepers of the keys told him
that they would have to stay there forever
for compatibility reasons.

So our brave knight now takes a new effort
to save the souls of the poor prisoners by
removing their names.

Their bodies will have to rot in the dungeons
of compatibility forever, watched by the
keepers of the keys.

Patchworks-ID: 35635
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agowinwave: ADC support
malc [Thu, 15 Oct 2009 06:43:45 +0000 (10:43 +0400)]
winwave: ADC support

Signed-off-by: malc <av1474@comtv.ru>
15 years agoaudio: remove last remnants of _t
malc [Wed, 14 Oct 2009 22:40:17 +0000 (02:40 +0400)]
audio: remove last remnants of _t

Signed-off-by: malc <av1474@comtv.ru>
15 years agowinwave: make error logging more consistent
malc [Wed, 14 Oct 2009 22:15:42 +0000 (02:15 +0400)]
winwave: make error logging more consistent

Signed-off-by: malc <av1474@comtv.ru>
15 years agowinwave: follow the rules when closing the output device
malc [Wed, 14 Oct 2009 22:11:25 +0000 (02:11 +0400)]
winwave: follow the rules when closing the output device

a. call waveOutReset to drain the queue
b. unprepare headers before freeing underlying memory

Signed-off-by: malc <av1474@comtv.ru>
15 years agoconfigure: clean temporary executable files even on Windows
malc [Wed, 14 Oct 2009 21:57:14 +0000 (01:57 +0400)]
configure: clean temporary executable files even on Windows

Signed-off-by: malc <av1474@comtv.ru>
15 years agoscsi disk block descriptor v2
Artyom Tarasenko [Tue, 13 Oct 2009 21:46:24 +0000 (23:46 +0200)]
scsi disk block descriptor v2

The SCSI-2 documentation suggests, that although the block
descriptor is optional for an arbitrary SCSI-2 device (chapter 8.2.10,
http://ldkelley.com/SCSI2/SCSI2/SCSI2/SCSI2/SCSI2-08.html )
it is mandatory for a disk: chapters 9.1.2, 9.3.3
( http://ldkelley.com/SCSI2/SCSI2/SCSI2/SCSI2-09.html ) don't say
"optional" any more, just "The block descriptor in the MODE SENSE
data describes the block lengths that are used on the medium."

v2: limit the number of sectors reported in the block descriptor to 24 bits.

Signed-off-by: Artyom Tarasenko <atar4qemu@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoAdd some chipset doc links
Blue Swirl [Tue, 13 Oct 2009 18:56:27 +0000 (18:56 +0000)]
Add some chipset doc links

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agouser: fix libuser build messages
Blue Swirl [Tue, 13 Oct 2009 16:57:32 +0000 (16:57 +0000)]
user: fix libuser build messages

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agosparc64: fix done instruction pc
Igor V. Kovalenko [Sun, 4 Oct 2009 21:49:27 +0000 (01:49 +0400)]
sparc64: fix done instruction pc

Fix done instruction to resume with pc=tnpc, npc=tnpc+4

Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoqemu: allow pulseaudio to be the default
Michael S. Tsirkin [Tue, 13 Oct 2009 14:08:55 +0000 (16:08 +0200)]
qemu: allow pulseaudio to be the default

We're seeing various issues with the SDL audio backend and want to
switch to the pulseaudio backend. See e.g.

  https://bugzilla.redhat.com/495964
  https://bugzilla.redhat.com/519540
  https://bugzilla.redhat.com/496627

The pulseaudio backend seems to work well, so we should allow it to be
selected as the default.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: malc <av1474@comtv.ru>
15 years agoFixed wacom emulation
François Revol [Tue, 25 Aug 2009 09:14:10 +0000 (11:14 +0200)]
Fixed wacom emulation

- for absolute mode, scale coordinates to the real device maximum values,
since some drivers (on Haiku and Linux at least) need them as such,
and the HID descriptor is boggus on some models anyway,
- keep the coordinates even when no button is pressed, on real tablet
the pen is sensed on the surface even without direct contact,
and drivers expect this,
- map left button to pressure according to what the Haiku driver wants,
- map the right button to the pen button,
- map the middle button to the eraser,
- use asynchronous reporting as the hid code does, stops the Haiku driver
(and probably others) from spending 50% cpu polling for changes.

Signed-off-by: François Revol <revol@free.fr>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agorom loader: also try filename as-is.
Gerd Hoffmann [Wed, 7 Oct 2009 11:37:07 +0000 (13:37 +0200)]
rom loader: also try filename as-is.

In case qemu_find_file fails try to open the file as-is.

Patchworks-ID: 35263
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agorom loader: fix sparc -kernel boot.
Gerd Hoffmann [Wed, 7 Oct 2009 11:37:06 +0000 (13:37 +0200)]
rom loader: fix sparc -kernel boot.

Changes:
(1) register pstrcpy_targphys() in rom list, it is used for kernel
command lines by a number of architectures.
(2) add rom_ptr() function to get a pointer for applying changes
to loaded images.  Needed for example to tell the linux kernel
where it finds the initrd image by updating the header.
(3) make sparc use rom_ptr for initrd setup.

booting sparc-test works now, and 'info roms' shows this:

(qemu) info roms
addr=0000000000000000 size=0x2a3828 mem=ram name="phdr #0: vmlinux-2.6.11+tcx"
addr=00000000007ff000 size=0x00000e mem=ram name="cmdline"
addr=0000000000800000 size=0x400000 mem=ram name="/root/qemu-test/sparc-test/linux.img"
addr=0000000070000000 size=0x0e4000 mem=rom name="phdr #0: /home/kraxel/projects/qemu/build-zfull/pc-bios/openbios-sparc32"

reboot via 'system_reset' works too.

Patchworks-ID: 35262
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agounlock iothread mutex before running kvm ioctl
Glauber Costa [Wed, 7 Oct 2009 19:38:03 +0000 (16:38 -0300)]
unlock iothread mutex before running kvm ioctl

Without this, kvm will hold the mutex while it issues its run ioctl,
and never be able to step out of it, causing a deadlock.

Patchworks-ID: 35359
Signed-off-by: Glauber Costa <glommer@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoTARGET_I386 is always defined if TARGET_X86_64 is defined
Juan Quintela [Wed, 7 Oct 2009 22:00:00 +0000 (00:00 +0200)]
TARGET_I386 is always defined if TARGET_X86_64 is defined

Patchworks-ID: 35378
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoslirp: fix !CONFIG_SLIRP compilation
Juan Quintela [Wed, 7 Oct 2009 21:44:15 +0000 (23:44 +0200)]
slirp: fix !CONFIG_SLIRP compilation

This moves the code that depens on slirp under CONFIG_SLIRP again.

Patchworks-ID: 35372
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoide: BMDMAState don't need a pci_dev field anymore
Juan Quintela [Wed, 7 Oct 2009 14:56:29 +0000 (16:56 +0200)]
ide: BMDMAState don't need a pci_dev field anymore

Patchworks-ID: 35306
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoide: cmd646 ->unit has just the value that we want
Juan Quintela [Wed, 7 Oct 2009 14:56:28 +0000 (16:56 +0200)]
ide: cmd646 ->unit has just the value that we want

Patchworks-ID: 35307
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoide: cmd646 we can get the pci device with container_of
Juan Quintela [Wed, 7 Oct 2009 14:56:27 +0000 (16:56 +0200)]
ide: cmd646 we can get the pci device with container_of

Patchworks-ID: 35305
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoide: 'secondary' field is only used by cmd646
Juan Quintela [Wed, 7 Oct 2009 14:56:26 +0000 (16:56 +0200)]
ide: 'secondary' field is only used by cmd646

Patchworks-ID: 35303
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoide: PCIIDEState type field is not needed anymore
Juan Quintela [Wed, 7 Oct 2009 14:56:25 +0000 (16:56 +0200)]
ide: PCIIDEState type field is not needed anymore

We have split the functions that needed it for cmd646

Patchworks-ID: 35302
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoide: split cmd646 and piix from pci.c
Juan Quintela [Wed, 7 Oct 2009 14:56:24 +0000 (16:56 +0200)]
ide: split cmd646 and piix from pci.c

This patch splits cmd646 specific code from pci.c.
This patch splits piix4 specific code from pci.c.
And compile new piix.o and cmd646.o when they are needed.
The only change that is not code movemet is removal of cmd646 specific parts
in bmdma_readb/writeb for piix.

Patchworks-ID: 35301
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoide: export needed ide-pci functions for split
Juan Quintela [Wed, 7 Oct 2009 14:56:23 +0000 (16:56 +0200)]
ide: export needed ide-pci functions for split

Patchworks-ID: 35300
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoide: create ide/pci.h for common ide pci definitions
Juan Quintela [Wed, 7 Oct 2009 14:56:22 +0000 (16:56 +0200)]
ide: create ide/pci.h for common ide pci definitions

Patchworks-ID: 35299
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoide: remove uselsess casts from void *
Juan Quintela [Wed, 7 Oct 2009 14:56:21 +0000 (16:56 +0200)]
ide: remove uselsess casts from void *

Patchworks-ID: 35298
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoide: Remove duplicated definitions
Juan Quintela [Wed, 7 Oct 2009 14:56:20 +0000 (16:56 +0200)]
ide: Remove duplicated definitions

Patchworks-ID: 35297
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoide: Remove cast in pci_register_bar
Juan Quintela [Wed, 7 Oct 2009 14:56:19 +0000 (16:56 +0200)]
ide: Remove cast in pci_register_bar

We already have a PCIDevice at that point

Patchworks-ID: 35296
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoide: change cast to DO_UPCAST
Juan Quintela [Wed, 7 Oct 2009 14:56:18 +0000 (16:56 +0200)]
ide: change cast to DO_UPCAST

Patchworks-ID: 35293
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoFix bswap in comment
Stefan Weil [Sun, 11 Oct 2009 10:44:07 +0000 (12:44 +0200)]
Fix bswap in comment

Replace bsawp -> bswap.

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
15 years agoMove dependency generation falgs out of configure
malc [Sun, 11 Oct 2009 13:08:57 +0000 (17:08 +0400)]
Move dependency generation falgs out of configure

Signed-off-by: malc <av1474@comtv.ru>
15 years agoconfigure: clean up temporary dependency files
malc [Sun, 11 Oct 2009 03:57:17 +0000 (07:57 +0400)]
configure: clean up temporary dependency files

Signed-off-by: malc <av1474@comtv.ru>
15 years agowinwave: pause/restore playing upon seeing VOICE_DISABLE/ENABLE
malc [Sun, 11 Oct 2009 02:52:45 +0000 (06:52 +0400)]
winwave: pause/restore playing upon seeing VOICE_DISABLE/ENABLE

Signed-off-by: malc <av1474@comtv.ru>
15 years agowinwave: close event handle and delete wait object after closing HWAVEOUT
malc [Sun, 11 Oct 2009 02:38:47 +0000 (06:38 +0400)]
winwave: close event handle and delete wait object after closing HWAVEOUT

To avoid possibly being called back and thus racing.

Signed-off-by: malc <av1474@comtv.ru>
15 years agowinwave: remove wait object when finalizing DAC voice
malc [Sun, 11 Oct 2009 01:39:09 +0000 (05:39 +0400)]
winwave: remove wait object when finalizing DAC voice

Signed-off-by: malc <av1474@comtv.ru>
15 years agoCRIS: Segmented addressing only for kernel mode.
Edgar E. Iglesias [Sat, 10 Oct 2009 15:34:27 +0000 (17:34 +0200)]
CRIS: Segmented addressing only for kernel mode.

Segmented translation through the CRIS MMU is only done for
accesses in kernel mode. In user-mode, all accesses are treated
as paged regardless of the mode config in RW_MM_CFG.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
15 years agoFix Windows host breakage by 45a50b1668822c23afc2a89f724654e176518bc4 (TeLeMan)
malc [Sat, 10 Oct 2009 15:02:40 +0000 (19:02 +0400)]
Fix Windows host breakage by 45a50b1668822c23afc2a89f724654e176518bc4 (TeLeMan)

Signed-off-by: malc <av1474@comtv.ru>
15 years agowinwave: poll mode
malc [Sat, 10 Oct 2009 12:57:52 +0000 (16:57 +0400)]
winwave: poll mode

Signed-off-by: malc <av1474@comtv.ru>
15 years agoWindows Waveform Audio driver (no ADC support yet)
malc [Fri, 9 Oct 2009 21:13:41 +0000 (01:13 +0400)]
Windows Waveform Audio driver (no ADC support yet)

Signed-off-by: malc <av1474@comtv.ru>
15 years agopcnet: Restart poll timer on pcnet_start
Jan Kiszka [Wed, 7 Oct 2009 16:19:42 +0000 (18:19 +0200)]
pcnet: Restart poll timer on pcnet_start

Just like we call into pcnet_poll_timer on stop, we need to call it on
start to trigger the setup of the poll timer.

Patchworks-ID: 35313
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agopcnet: Drop unused recv_pos field
Jan Kiszka [Wed, 7 Oct 2009 16:19:40 +0000 (18:19 +0200)]
pcnet: Drop unused recv_pos field

This state field was never used, simply remained 0. Drop it from the
PCNetState and update the save/restore code accordingly, keeping
backward compatibility.

Patchworks-ID: 35314
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agomonitor: Convert do_info_cpus() to QObject
Luiz Capitulino [Wed, 7 Oct 2009 16:42:04 +0000 (13:42 -0300)]
monitor: Convert do_info_cpus() to QObject

Each CPU information is stored in a QDict and the returned
QObject is a QList of all CPUs.

The QDict contains the following information:

- "CPU": cpu index
- "current": "yes" or "no"
- "pc": current PC
- "halted": "yes" or "no"

The user output in the Monitor should not change and the
future monitor protocol is expected to emit something like:

[ { "CPU": 0, "current": "yes", "pc": 0x..., "halted": "no" },
{ "CPU": 1, "current": "no",  "pc": 0x..., "halted": "yes" } ]

which corresponds to the following user output:

* CPU #0: pc=0x00000000fffffff0
CPU #1: pc=0x00000000fffffff0 (halted)

Patchworks-ID: 35352
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agomonitor: Convert do_info_balloon() to QObject
Luiz Capitulino [Wed, 7 Oct 2009 16:42:03 +0000 (13:42 -0300)]
monitor: Convert do_info_balloon() to QObject

On success return a QInt with the balloon's value.

This also introduces monitor_print_balloon() to print the
balloon information in the user protocol.

Please, note that errors are not being converted yet.

Patchworks-ID: 35351
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agomonitor: Convert do_info_version() to QObject
Luiz Capitulino [Wed, 7 Oct 2009 16:42:02 +0000 (13:42 -0300)]
monitor: Convert do_info_version() to QObject

The returned data is always a QString.

Also introduces monitor_print_qobject(), which can be used as
a standard way to print QObjects in the user protocol format.

Patchworks-ID: 35350
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agomonitor: Convert do_balloon() to QObject
Luiz Capitulino [Wed, 7 Oct 2009 16:42:01 +0000 (13:42 -0300)]
monitor: Convert do_balloon() to QObject

It is important to note that it never fails, as big refactoring
of the virtio code would be needed to get the proper error code.

Patchworks-ID: 35349
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agomonitor: Convert do_cont() to QObject
Luiz Capitulino [Wed, 7 Oct 2009 16:42:00 +0000 (13:42 -0300)]
monitor: Convert do_cont() to QObject

Appropriate error handling support will be needed to have
encrypted images working under the future machine protocol,
but this initial conversion will work with the current
user protocol.

Patchworks-ID: 35348
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agomonitor: Convert do_system_powerdown() to QObject
Luiz Capitulino [Wed, 7 Oct 2009 16:41:59 +0000 (13:41 -0300)]
monitor: Convert do_system_powerdown() to QObject

Patchworks-ID: 35346
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agomonitor: Convert do_system_reset() to QObject
Luiz Capitulino [Wed, 7 Oct 2009 16:41:58 +0000 (13:41 -0300)]
monitor: Convert do_system_reset() to QObject

Patchworks-ID: 35347
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agomonitor: Convert do_stop() to QObject
Luiz Capitulino [Wed, 7 Oct 2009 16:41:57 +0000 (13:41 -0300)]
monitor: Convert do_stop() to QObject

Patchworks-ID: 35343
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agomonitor: Convert do_quit() do QObject
Luiz Capitulino [Wed, 7 Oct 2009 16:41:56 +0000 (13:41 -0300)]
monitor: Convert do_quit() do QObject

Patchworks-ID: 35345
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agomonitor: do_info(): handle new and old info handlers
Luiz Capitulino [Wed, 7 Oct 2009 16:41:55 +0000 (13:41 -0300)]
monitor: do_info(): handle new and old info handlers

do_info() is special, its job is to call 'info handlers'.
This is similar to what monitor_handle_command() does,
therefore do_info() also has to distinguish among new and
old style info handlers.

This commit converts do_info() to the new QObject style and
makes the appropriate changes so that it can handle both
info handlers styles.

In the future, when all handlers are converted to QObject's
style, it will be possible to share more code with
monitor_handle_command().

This commit also introduces a new function called
monitor_user_noop(), it should be used by handlers which do
not have data to print.

This is the case of do_info().

Patchworks-ID: 35341
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agomonitor: Handle new and old style handlers
Luiz Capitulino [Wed, 7 Oct 2009 16:41:54 +0000 (13:41 -0300)]
monitor: Handle new and old style handlers

This commit changes monitor_handle_command() to support old style
_and_ new style handlers.

New style handlers are protocol independent, they return their
data to the Monitor, which in turn decides how to print them
(ie. user protocol vs. machine protocol).

Converted handlers will use the 'user_print' member of 'mon_cmd_t'
to define its user protocol function, which will be called to print
data in the user protocol format.

Handlers which don't have 'user_print' defined are not converted
and are handled as usual.

Patchworks-ID: 35340
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agomonitor: Add user_print() to mon_cmd_t
Luiz Capitulino [Wed, 7 Oct 2009 16:41:53 +0000 (13:41 -0300)]
monitor: Add user_print() to mon_cmd_t

This new struct member will store a pointer to a function that
should be used to output data in the user protocol format.

It will also serve as a flag to say if a given handler has already
been converted to the new QObject style.

Patchworks-ID: 35339
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agomonitor: union for command handlers
Luiz Capitulino [Wed, 7 Oct 2009 16:41:52 +0000 (13:41 -0300)]
monitor: union for command handlers

This commits adds a new union member to mon_cmd_t for command
handlers and convert monitor_handle_command() and qemu-monitor.hx
to use it.

This improves type safety.

Patchworks-ID: 35337
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agomonitor: union for info handlers
Luiz Capitulino [Wed, 7 Oct 2009 16:41:51 +0000 (13:41 -0300)]
monitor: union for info handlers

This commit adds a union to mon_cmd_t for info handlers and
converts do_info() and info_cmds[] array to use it.

This improves type safety.

Next commit will convert command handlers.

Patchworks-ID: 35336
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agomonitor: Convert mon_cmd_t initializations to C99 style
Luiz Capitulino [Wed, 7 Oct 2009 16:41:50 +0000 (13:41 -0300)]
monitor: Convert mon_cmd_t initializations to C99 style

Patchworks-ID: 35335
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoIntroduce QList unit-tests
Luiz Capitulino [Wed, 7 Oct 2009 16:41:49 +0000 (13:41 -0300)]
Introduce QList unit-tests

This suite contains tests to assure that QList API works as expected.

To execute it you should have check installed and build QEMU with
check support enabled (--enable-check-utests) and then run:

$ ./check-qlist

Patchworks-ID: 35333
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoIntroduce QList
Luiz Capitulino [Wed, 7 Oct 2009 16:41:48 +0000 (13:41 -0300)]
Introduce QList

QList is a high-level data type that can be used to store QObjects
in a singly-linked list.

The following functions are available:

- qlist_new()    Create a new QList
- qlist_append() Append a QObject to the list
- qlist_iter()   Iterate over stored QObjects

Patchworks-ID: 35334
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoQObject: Accept NULL
Luiz Capitulino [Wed, 7 Oct 2009 16:41:47 +0000 (13:41 -0300)]
QObject: Accept NULL

It is convenient that QDECREF() and QINCREF() accept the QObject
parameter to be NULL, so that we don't duplicate 'if' tests in
the callers.

Patchworks-ID: 35332
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly compile ssi when one target uses it
Juan Quintela [Wed, 7 Oct 2009 00:41:27 +0000 (02:41 +0200)]
Only compile ssi when one target uses it

Patchworks-ID: 35221
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly compile ssi-sd when one target uses it
Juan Quintela [Wed, 7 Oct 2009 00:41:26 +0000 (02:41 +0200)]
Only compile ssi-sd when one target uses it

Patchworks-ID: 35220
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly compile max111x when one target uses it
Juan Quintela [Wed, 7 Oct 2009 00:41:25 +0000 (02:41 +0200)]
Only compile max111x when one target uses it

Patchworks-ID: 35219
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly compile ads7846 when one target uses it
Juan Quintela [Wed, 7 Oct 2009 00:41:24 +0000 (02:41 +0200)]
Only compile ads7846 when one target uses it

Patchworks-ID: 35218
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly compile sd0323 when one target uses it
Juan Quintela [Wed, 7 Oct 2009 00:41:23 +0000 (02:41 +0200)]
Only compile sd0323 when one target uses it

Patchworks-ID: 35217
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly compile sd0303 when one target uses it
Juan Quintela [Wed, 7 Oct 2009 00:41:22 +0000 (02:41 +0200)]
Only compile sd0303 when one target uses it

Patchworks-ID: 35216
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly compile stellaris_input when one target uses it
Juan Quintela [Wed, 7 Oct 2009 00:41:21 +0000 (02:41 +0200)]
Only compile stellaris_input when one target uses it

Patchworks-ID: 35213
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly compile tmp105 when one target uses it
Juan Quintela [Wed, 7 Oct 2009 00:41:20 +0000 (02:41 +0200)]
Only compile tmp105 when one target uses it

Patchworks-ID: 35214
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly compile lm832x when one target uses it
Juan Quintela [Wed, 7 Oct 2009 00:41:19 +0000 (02:41 +0200)]
Only compile lm832x when one target uses it

Patchworks-ID: 35211
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly compile tsc2005 when one target uses it
Juan Quintela [Wed, 7 Oct 2009 00:41:18 +0000 (02:41 +0200)]
Only compile tsc2005 when one target uses it

Patchworks-ID: 35215
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly compile twl92230 when one target uses it
Juan Quintela [Wed, 7 Oct 2009 00:41:17 +0000 (02:41 +0200)]
Only compile twl92230 when one target uses it

Patchworks-ID: 35212
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly compile wm8750 when one target uses it
Juan Quintela [Wed, 7 Oct 2009 00:41:16 +0000 (02:41 +0200)]
Only compile wm8750 when one target uses it

Patchworks-ID: 35209
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly compile max7310 when one target uses it
Juan Quintela [Wed, 7 Oct 2009 00:41:15 +0000 (02:41 +0200)]
Only compile max7310 when one target uses it

Patchworks-ID: 35210
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly compile sd when one target uses it
Juan Quintela [Wed, 7 Oct 2009 00:41:14 +0000 (02:41 +0200)]
Only compile sd when one target uses it

Patchworks-ID: 35208
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly compile ptimer when one target uses it
Juan Quintela [Wed, 7 Oct 2009 00:41:13 +0000 (02:41 +0200)]
Only compile ptimer when one target uses it

Patchworks-ID: 35207
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly compile m48t59 when one target uses it
Juan Quintela [Wed, 7 Oct 2009 00:41:12 +0000 (02:41 +0200)]
Only compile m48t59 when one target uses it

Patchworks-ID: 35204
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly compile escc when one target uses it
Juan Quintela [Wed, 7 Oct 2009 00:41:11 +0000 (02:41 +0200)]
Only compile escc when one target uses it

Patchworks-ID: 35205
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly compile esp when one target uses it
Juan Quintela [Wed, 7 Oct 2009 00:41:10 +0000 (02:41 +0200)]
Only compile esp when one target uses it

Patchworks-ID: 35206
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly compile ecc when one target uses it
Juan Quintela [Wed, 7 Oct 2009 00:41:09 +0000 (02:41 +0200)]
Only compile ecc when one target uses it

Patchworks-ID: 35203
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly compile nand when one target uses it
Juan Quintela [Wed, 7 Oct 2009 00:41:08 +0000 (02:41 +0200)]
Only compile nand when one target uses it

Patchworks-ID: 35202
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly compile qdev_addr when one target uses it
Juan Quintela [Wed, 7 Oct 2009 00:41:07 +0000 (02:41 +0200)]
Only compile qdev_addr when one target uses it

Patchworks-ID: 35201
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly compile isa_mmio when one target uses it
Juan Quintela [Wed, 7 Oct 2009 00:41:06 +0000 (02:41 +0200)]
Only compile isa_mmio when one target uses it

Patchworks-ID: 35200
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoOnly compile usb_ohci when one target uses it
Juan Quintela [Wed, 7 Oct 2009 00:41:05 +0000 (02:41 +0200)]
Only compile usb_ohci when one target uses it

Patchworks-ID: 35199
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoGenerate gdbstub-xml.c only when needed
Juan Quintela [Wed, 7 Oct 2009 00:41:04 +0000 (02:41 +0200)]
Generate gdbstub-xml.c only when needed

First user of new config-devices.mak

Patchworks-ID: 35198
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoGenerate config-devices.h
Juan Quintela [Wed, 7 Oct 2009 00:41:03 +0000 (02:41 +0200)]
Generate config-devices.h

Generate config-devices.h for each target and config-all-devices.h for
common library.  We don't want to name both config-devices.h to avoid
path problems

Patchworks-ID: 35195
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>