sdk/emulator/qemu.git
15 years agoqdev/pci: add pci_create_noinit()
Gerd Hoffmann [Tue, 15 Sep 2009 19:23:25 +0000 (19:23 +0000)]
qdev/pci: add pci_create_noinit()

Like pci_create_simple() but doesn't call qdev_init(), so one can
set properties before initializing the device.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agomips malta: ensure that the serial ports are associated with a device
Aurelien Jarno [Mon, 14 Sep 2009 23:17:57 +0000 (01:17 +0200)]
mips malta: ensure that the serial ports are associated with a device

The serial ports should be present even if associated with a null device
as some firmware wants to initialize them.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
15 years agohw/serial: don't create a char device if none is specified
Aurelien Jarno [Mon, 14 Sep 2009 23:16:28 +0000 (01:16 +0200)]
hw/serial: don't create a char device if none is specified

When creating null devices, there is no way to ensure the unicity of
the labels. Bail out with an error message instead.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
15 years agocurses: save 250MB of memory
Aurelien Jarno [Mon, 14 Sep 2009 22:21:35 +0000 (00:21 +0200)]
curses: save 250MB of memory

Don't call curses_resize() at the end of curses_display_init() as height
and width are not yet defined. It will be called later by code from
vl.c.

This save 250MB of memory when using -curses.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
15 years agoRevert "Open chr device for all serial ports"
Aurelien Jarno [Mon, 14 Sep 2009 21:49:43 +0000 (23:49 +0200)]
Revert "Open chr device for all serial ports"

This reverts commit 55338f1dd4648d78ee130d83a92f1059ff1f3887.

15 years agoFix breakage by f80237d45032fbc429aba3b597175fb544a11378 for ISA-less targets
Blue Swirl [Mon, 14 Sep 2009 18:34:54 +0000 (18:34 +0000)]
Fix breakage by f80237d45032fbc429aba3b597175fb544a11378 for ISA-less targets

Move ISA bus to HW library.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoOpen chr device for all serial ports
Aurelien Jarno [Mon, 14 Sep 2009 17:30:16 +0000 (19:30 +0200)]
Open chr device for all serial ports

Now that labels must be unique, the chr devices can't be opened anymore
within the serial port code (in case they are not already opened in
vl.c), as they end up with the same label. Instead opened so
non-assigned one directly in vl.c, with a different label.

This make MIPS Malta board emulation working again.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
15 years agotarget-mips: fix single-stepping
Nathan Froyd [Tue, 14 Jul 2009 15:33:11 +0000 (08:33 -0700)]
target-mips: fix single-stepping

Single-stepping branches on MIPS didn't work right, because the
generation of EXCP_DEBUG happened after the generation of the code to
exit the current TB.  That is, given the code:

    bne v0,v1,target
    nop
    ...
  target:
    addu v0,v0,v1
  1:

when you single-stepped through the NOP, execution wouldn't actually
halt until you reached the label `1'.

This patch corrects that and also changes single-stepping so that a
branch and its delay slot are executed as one instruction for the
purposes of single-stepping.  This behavior is comparable to what other
MIPS tools (e.g. MIPSsim with MDI) do.  GDB avoids placing breakpoints
in branch delay slots, so this change doesn't break anything on the GDB
side.

Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
15 years agounbreak ppc/prep
Gerd Hoffmann [Mon, 14 Sep 2009 15:49:24 +0000 (17:49 +0200)]
unbreak ppc/prep

Changes:
  * added isa bus, hooked up to the system bus. Not sure this is correct,
    but 'info pci' lists lists no pci-isa bridge in the machine ...).
  * switches the default cpu to one which actually works.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoAdd an ISA bus version of m48t59
Blue Swirl [Mon, 14 Sep 2009 15:33:28 +0000 (15:33 +0000)]
Add an ISA bus version of m48t59

Many thanks to Gerd Hoffmann for finding and fixing a bug in the initial
version.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoFix Linux task preemption on Versatile board
Daniel Jacobowitz [Sun, 13 Sep 2009 13:54:41 +0000 (09:54 -0400)]
Fix Linux task preemption on Versatile board

Recent versions of the Linux kernel will not preempt CPU-intensive
tasks unless the clock used by sched_clock() works.  On -M versatilepb
that's the 24MHz timer in the system controller.  It's a very simple
timer, so implement it.

Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
15 years agopflash_cfi01: Correct debug build, no functional changes.
Edgar E. Iglesias [Mon, 14 Sep 2009 08:44:26 +0000 (10:44 +0200)]
pflash_cfi01: Correct debug build, no functional changes.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
15 years agone2000-isa: Do not free memory owned by qdev
malc [Mon, 14 Sep 2009 05:20:45 +0000 (09:20 +0400)]
ne2000-isa: Do not free memory owned by qdev

Signed-off-by: malc <av1474@comtv.ru>
15 years agoalsa: Use proper value when testing returned events in alsa_poll_handler
malc [Sun, 13 Sep 2009 23:53:25 +0000 (03:53 +0400)]
alsa: Use proper value when testing returned events in alsa_poll_handler

Signed-off-by: malc <av1474@comtv.ru>
15 years agoalsa/oss: Remove fd transfer handlers before closing oss/alsa fd/handle
malc [Sun, 13 Sep 2009 23:51:48 +0000 (03:51 +0400)]
alsa/oss: Remove fd transfer handlers before closing oss/alsa fd/handle

Signed-off-by: malc <av1474@comtv.ru>
15 years agoconfigure: change "found" to "find"
Sebastian Herbszt [Sun, 13 Sep 2009 19:32:54 +0000 (21:32 +0200)]
configure: change "found" to "find"

Change "ERROR: configure was not able to found it" to
"ERROR: configure was not able to find it".

Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoRevert "Fix Sparc/Linux host breakage by df70204db53e3611af986f434e74a882bce190ca"
Blue Swirl [Sun, 13 Sep 2009 19:38:48 +0000 (19:38 +0000)]
Revert "Fix Sparc/Linux host breakage by df70204db53e3611af986f434e74a882bce190ca"

This reverts commit 91b40c5be84a478e98c0416325844a7f66d0efae.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoFix sparc.ld
Blue Swirl [Sun, 13 Sep 2009 19:38:43 +0000 (19:38 +0000)]
Fix sparc.ld

Makes 91b40c5be84a478e98c0416325844a7f66d0efae unnecessary.

Acked-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoaudio: Fix typo that broke QEMU_AUDIO_ADC_TRY_POLL
Jan Kiszka [Sun, 13 Sep 2009 18:24:46 +0000 (22:24 +0400)]
audio: Fix typo that broke QEMU_AUDIO_ADC_TRY_POLL

Signed-off-by: Jan Kiszka <jan.kiszka@web.de>
Signed-off-by: malc <av1474@comtv.ru>
15 years agoFix Sparc/Linux host breakage by df70204db53e3611af986f434e74a882bce190ca
Blue Swirl [Sun, 13 Sep 2009 13:33:05 +0000 (13:33 +0000)]
Fix Sparc/Linux host breakage by df70204db53e3611af986f434e74a882bce190ca

While i386, x86_64 and Sparc64/OpenBSD still worked after
df70204db53e3611af986f434e74a882bce190ca, Sparc32 and Sparc64 Linux hosts
broke.

Partially revert the commit: make the restored code conditional to
!CONFIG_USER_PIE.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoSparc64: make system bus parent of PCI bus
Blue Swirl [Sun, 13 Sep 2009 08:32:40 +0000 (08:32 +0000)]
Sparc64: make system bus parent of PCI bus

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agox86: move a declaration to header
Blue Swirl [Sun, 13 Sep 2009 08:32:39 +0000 (08:32 +0000)]
x86: move a declaration to header

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agox86: add 'const'
Blue Swirl [Sun, 13 Sep 2009 08:32:37 +0000 (08:32 +0000)]
x86: add 'const'

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agooss: Simplify mmap code
malc [Sun, 13 Sep 2009 04:47:30 +0000 (08:47 +0400)]
oss: Simplify mmap code

Signed-off-by: malc <av1474@comtv.ru>
15 years agooss: OSS v4 support
malc [Sun, 13 Sep 2009 04:17:47 +0000 (08:17 +0400)]
oss: OSS v4 support

a. Use SNDCTL_DSP_POLICY instead of SNDCTL_DSP_SETFRAGMENT
b. Add ability to open device in exclusive mode, thus bypassing vmix

Signed-off-by: malc <av1474@comtv.ru>
15 years agoi386: Drop redundant kvm_enabled test
Jan Kiszka [Sat, 12 Sep 2009 14:50:07 +0000 (16:50 +0200)]
i386: Drop redundant kvm_enabled test

cpu_synchronize_state already does this.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoMake string arrays used to convert numbers to strings when DEBUG_EEPRO100 is enabled...
Reimar Döffinger [Sat, 12 Sep 2009 15:20:24 +0000 (15:20 +0000)]
Make string arrays used to convert numbers to strings when DEBUG_EEPRO100 is enabled const.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoFix xen build after sys-queue renaming
Jan Kiszka [Sat, 12 Sep 2009 15:00:28 +0000 (15:00 +0000)]
Fix xen build after sys-queue renaming

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoAdd configure option to compile user targets as PIE
Kirill A. Shutemov [Fri, 11 Sep 2009 23:17:55 +0000 (02:17 +0300)]
Add configure option to compile user targets as PIE

Build uset targers as true PIE if user want to keep qemu
self-virtualizable.

v5:
  - Split into to patches: drop link hack and add PIE support
  - do not build PIE by default and drop toolchain check

v4:
  - Add test for toolchain if it has proper PIE support

v3:
  - One more pice of the hack was removed
  - Description updated

v2:
  - Add configure options do enable/disable PIE for usermode targets.
    Disabling can be useful if you build uswing toolchain which has
    broken PIE support. PIE for usermode targets enabled by default.

Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoFix text relocations in linux-user targets
Kirill A. Shutemov [Fri, 11 Sep 2009 23:17:54 +0000 (02:17 +0300)]
Fix text relocations in linux-user targets

There is a link hack in linux-user which produces an executable that
looks like PIE, but always has text relocations since all object files
isn't position-independent (compiled without -fpic/-fpie). Dynamic loader
has to do more work to load a binary with text relocations.

The best way to keep this functionality is to build a true PIE without
text relocations.

Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoDo not link usermode targets with libhw*.a
Kirill A. Shutemov [Fri, 11 Sep 2009 23:17:53 +0000 (02:17 +0300)]
Do not link usermode targets with libhw*.a

Usermode targets are hardware-independed.

Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Acked-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoWork around OpenSolaris sys/regset.h namespace pollution
Blue Swirl [Sat, 12 Sep 2009 12:36:11 +0000 (12:36 +0000)]
Work around OpenSolaris sys/regset.h namespace pollution

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoFix signedness warnings on OpenSolaris
Blue Swirl [Sat, 12 Sep 2009 12:36:09 +0000 (12:36 +0000)]
Fix signedness warnings on OpenSolaris

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoAdd #defines needed by OpenSolaris, fix breakage by the #defines
Blue Swirl [Sat, 12 Sep 2009 12:36:04 +0000 (12:36 +0000)]
Add #defines needed by OpenSolaris, fix breakage by the #defines

We need to define _XOPEN_SOURCE and __EXTENSIONS__ macros in order to get
CMSG_ and TIOCWIN macros defined. But then _POSIX_C_SOURCE gets defined, which
is (incorrectly) used as an indicator for existence of posix_memalign() in osdep.c.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoFix OpenSolaris build breaking typos
Blue Swirl [Sat, 12 Sep 2009 12:33:07 +0000 (12:33 +0000)]
Fix OpenSolaris build breaking typos

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoAdd 'static'
Blue Swirl [Sat, 12 Sep 2009 09:58:51 +0000 (09:58 +0000)]
Add 'static'

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoFix a Sparse warning about redefinition of offsetof()
Blue Swirl [Sat, 12 Sep 2009 09:58:46 +0000 (09:58 +0000)]
Fix a Sparse warning about redefinition of offsetof()

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoFix sys-queue.h conflict for good
Blue Swirl [Sat, 12 Sep 2009 07:36:22 +0000 (07:36 +0000)]
Fix sys-queue.h conflict for good

Problem: Our file sys-queue.h is a copy of the BSD file, but there are
some additions and it's not entirely compatible. Because of that, there have
been conflicts with system headers on BSD systems. Some hacks have been
introduced in the commits 15cc9235840a22c289edbe064a9b3c19c5f49896,
f40d753718c72693c5f520f0d9899f6e50395e94,
96555a96d724016e13190b28cffa3bc929ac60dc and
3990d09adf4463eca200ad964cc55643c33feb50 but the fixes were fragile.

Solution: Avoid the conflict entirely by renaming the functions and the
file. Revert the previous hacks.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoTry to fix BSD breakage by 806b60248218bd5f74a8b070f5a99a864e8e51c6
Blue Swirl [Sat, 12 Sep 2009 06:19:16 +0000 (06:19 +0000)]
Try to fix BSD breakage by 806b60248218bd5f74a8b070f5a99a864e8e51c6

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoInclude sys-queue.h early to override system queue definitions on BSD
Blue Swirl [Sat, 12 Sep 2009 06:19:15 +0000 (06:19 +0000)]
Include sys-queue.h early to override system queue definitions on BSD

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoUnbreak BSD: use qemu_fdatasync instead of fdatasync
Blue Swirl [Sat, 12 Sep 2009 06:19:14 +0000 (06:19 +0000)]
Unbreak BSD: use qemu_fdatasync instead of fdatasync

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
15 years agoUse proper format conversion specifier when printing size_t value
malc [Fri, 11 Sep 2009 23:18:18 +0000 (03:18 +0400)]
Use proper format conversion specifier when printing size_t value

And untabify this while we are at it.

Signed-off-by: malc <av1474@comtv.ru>
15 years agoaudio: remove lsbindex/popcount in favour of host-utils's ctz32
malc [Fri, 11 Sep 2009 22:39:29 +0000 (02:39 +0400)]
audio: remove lsbindex/popcount in favour of host-utils's ctz32

Signed-off-by: malc <av1474@comtv.ru>
15 years agoalsa: poll mode handling
malc [Fri, 11 Sep 2009 22:29:25 +0000 (02:29 +0400)]
alsa: poll mode handling

Signed-off-by: malc <av1474@comtv.ru>
15 years agooss: poll mode handling
malc [Fri, 11 Sep 2009 22:29:16 +0000 (02:29 +0400)]
oss: poll mode handling

Signed-off-by: malc <av1474@comtv.ru>
15 years agoaudio: poll mode infrastructure
malc [Fri, 11 Sep 2009 22:28:45 +0000 (02:28 +0400)]
audio: poll mode infrastructure

Signed-off-by: malc <av1474@comtv.ru>
15 years agogus: Do not manually free the state, qdev does it for us
malc [Fri, 11 Sep 2009 06:27:41 +0000 (10:27 +0400)]
gus: Do not manually free the state, qdev does it for us

Signed-off-by: malc <av1474@comtv.ru>
15 years agooss: Unbreak mmaping the ability to mmap oss fd on Linux
malc [Fri, 11 Sep 2009 06:13:55 +0000 (10:13 +0400)]
oss: Unbreak mmaping the ability to mmap oss fd on Linux

Signed-off-by: malc <av1474@comtv.ru>
15 years agokvm_arch_get_registers() shouldn't be called directly
Gleb Natapov [Thu, 10 Sep 2009 11:32:55 +0000 (14:32 +0300)]
kvm_arch_get_registers() shouldn't be called directly

Direct call to kvm_arch_get_registers() bypass logic in
cpu_synchronize_state()

Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agovmstate: port cirrus_vga device
Juan Quintela [Thu, 10 Sep 2009 01:04:47 +0000 (03:04 +0200)]
vmstate: port cirrus_vga device

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agovmstate: port serial device
Juan Quintela [Thu, 10 Sep 2009 01:04:46 +0000 (03:04 +0200)]
vmstate: port serial device

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agovmstate: port hpet device
Juan Quintela [Thu, 10 Sep 2009 01:04:45 +0000 (03:04 +0200)]
vmstate: port hpet device

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agohpet: it is imposible that qemu_timer field is NULL at this point
Juan Quintela [Thu, 10 Sep 2009 01:04:44 +0000 (03:04 +0200)]
hpet: it is imposible that qemu_timer field is NULL at this point

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agovmstate: port ioapic device
Juan Quintela [Thu, 10 Sep 2009 01:04:43 +0000 (03:04 +0200)]
vmstate: port ioapic device

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agovmstate: add uint64 array support
Juan Quintela [Thu, 10 Sep 2009 01:04:42 +0000 (03:04 +0200)]
vmstate: add uint64 array support

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agovmstate: port pckbd device
Juan Quintela [Thu, 10 Sep 2009 01:04:41 +0000 (03:04 +0200)]
vmstate: port pckbd device

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agovmstate: port vmmouse device
Juan Quintela [Thu, 10 Sep 2009 01:04:40 +0000 (03:04 +0200)]
vmstate: port vmmouse device

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agovmstate: port dma device
Juan Quintela [Thu, 10 Sep 2009 01:04:39 +0000 (03:04 +0200)]
vmstate: port dma device

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agovmstate: add support for arrays of uint16_t
Juan Quintela [Thu, 10 Sep 2009 01:04:38 +0000 (03:04 +0200)]
vmstate: add support for arrays of uint16_t

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agovmstate: port fdc device
Juan Quintela [Thu, 10 Sep 2009 01:04:37 +0000 (03:04 +0200)]
vmstate: port fdc device

We can't move fifo back to an embeded array because it needs to be aligned

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agovmstate: add support for uint8_t equal
Juan Quintela [Thu, 10 Sep 2009 01:04:36 +0000 (03:04 +0200)]
vmstate: add support for uint8_t equal

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agovmstate: port i8259 device
Juan Quintela [Thu, 10 Sep 2009 01:04:35 +0000 (03:04 +0200)]
vmstate: port i8259 device

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agovmstate: port fw_cfg device
Juan Quintela [Thu, 10 Sep 2009 01:04:34 +0000 (03:04 +0200)]
vmstate: port fw_cfg device

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agovmstate: port cpu_comon
Juan Quintela [Thu, 10 Sep 2009 01:04:33 +0000 (03:04 +0200)]
vmstate: port cpu_comon

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agovmstate: Add pre/post_save() hooks
Juan Quintela [Thu, 10 Sep 2009 01:04:32 +0000 (03:04 +0200)]
vmstate: Add pre/post_save() hooks

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agovmstate: Add pre_load() hook
Juan Quintela [Thu, 10 Sep 2009 01:04:31 +0000 (03:04 +0200)]
vmstate: Add pre_load() hook

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agovmstate: rename run_after_load() -> post_load()
Juan Quintela [Thu, 10 Sep 2009 01:04:30 +0000 (03:04 +0200)]
vmstate: rename run_after_load() -> post_load()

This naming was used in kvm tree, and is easier to remember

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agovmstate: add sensible arguments to vmstate_unregister()
Juan Quintela [Thu, 10 Sep 2009 01:04:29 +0000 (03:04 +0200)]
vmstate: add sensible arguments to vmstate_unregister()

vmsd alone is not enugh, because we can have several structs saved with the same description (vmsd).

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoMake get_ticks_per_sec() a static inline
Anthony Liguori [Fri, 11 Sep 2009 15:28:26 +0000 (10:28 -0500)]
Make get_ticks_per_sec() a static inline

ticks_per_sec is a constant.  There's no need to store it as a variable as it
never changes since our time is based on units.

Convert get_ticks_per_sec() to a static inline and move the constant into
qemu-timer.h.  Remove all references to QEMU_TIMER_BASE so that we consistently
use this interface.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agotimers: move them to VMState
Juan Quintela [Thu, 10 Sep 2009 01:04:28 +0000 (03:04 +0200)]
timers: move them to VMState

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agotimers: Createt TimersState and put all timers state there
Juan Quintela [Thu, 10 Sep 2009 01:04:27 +0000 (03:04 +0200)]
timers: Createt TimersState and put all timers state there

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoUnexport ticks_per_sec variable. Create get_ticks_per_sec() function
Juan Quintela [Thu, 10 Sep 2009 01:04:26 +0000 (03:04 +0200)]
Unexport ticks_per_sec variable. Create get_ticks_per_sec() function

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agotimers: remove useless check
Juan Quintela [Thu, 10 Sep 2009 01:04:25 +0000 (03:04 +0200)]
timers: remove useless check

loadvm_state is called from: vl.c during startup, vmstart() is called after finishing loading.  The other caller do_loadvm() does the call after a vm_stop().  At both places where we can be saving state we are stoped a few lines before

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoRemove SaveVM v2 support
Juan Quintela [Thu, 10 Sep 2009 01:04:24 +0000 (03:04 +0200)]
Remove SaveVM v2 support

In previosu series I remove v2 support for RAM (that was the version that was
supported when SaveVM v3 appeared).  Now we can't load RAM for any image saved in SaveVM v2, we can as well remove SaveVM v2 entirely.

Note: That SaveVM RAM was at v2 when General SaveVM support went from v2 to v3 makes talking about versions confusing at least

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoram: Remove SaveVM Version 2 support
Juan Quintela [Thu, 10 Sep 2009 01:04:23 +0000 (03:04 +0200)]
ram: Remove SaveVM Version 2 support

It don't work.  It fails in this check

        if (qemu_get_be32(f) != last_ram_offset)

With 512MB of ram, values were for me:

v = 20c00000 last_ram_offset = 20840000

Last time that some code changed that was this one.

    commit 94a6b54fd6d2d3321066cb4db7abeeb417af9365
    Implement dynamic guest ram allocation.
    (I.e. it has been broken since at least April)

Going back to the previous commit, ram load correctly, but vga screen gets
corrupted and ide don't load correctly.  At this point I decide that removing
support is the only viable thing.

The last user of the ram_compress_* were RAM_SAVE_FLAG_FULL flag, but
that flag was never ever been stored in an image. Mark the flag obsolete
and remove the functions.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoram: remove support for loading v1
Juan Quintela [Thu, 10 Sep 2009 01:04:22 +0000 (03:04 +0200)]
ram: remove support for loading v1

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agomove mux focus field from CharDriverState to MuxDriver
Gerd Hoffmann [Thu, 10 Sep 2009 08:58:55 +0000 (10:58 +0200)]
move mux focus field from CharDriverState to MuxDriver

Now that monitor stopped using focus we can make it internal
to the mux driver.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agomonitor: fix muxing
Gerd Hoffmann [Thu, 10 Sep 2009 08:58:54 +0000 (10:58 +0200)]
monitor: fix muxing

make the mux driver send mux_in and mux_out events when switching
focus while hooking up more handlers.

stop using CharDriverState->focus in monitor.c, track state using
the mux events instead.  This also removes the implicit assumtion
that a muxed monitor allways has mux channel 0.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqdev: add parser for chardev properties
Gerd Hoffmann [Thu, 10 Sep 2009 08:58:53 +0000 (10:58 +0200)]
qdev: add parser for chardev properties

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoAllow -serial chardev:<name>
Gerd Hoffmann [Thu, 10 Sep 2009 08:58:52 +0000 (10:58 +0200)]
Allow -serial chardev:<name>

Lets put -chardev into use now.  With this patch applied chardev:name is
accepted as chardev specification everywhere, i.e. now you can:

-chardev stdio,id=ttyS0
-serial chardev:ttyS0

which does the same as '-serial stdio".

Muxing can be done this way:

-chardev stdio,id=mux,mux=on
-serial chardev:mux
-monitor chardev:mux

You can mux more than two streams.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoconvert udp chardev to QemuOpts.
Gerd Hoffmann [Thu, 10 Sep 2009 08:58:51 +0000 (10:58 +0200)]
convert udp chardev to QemuOpts.

While being at it: create a new inet_dgram_opts() function for udp setup,
so udp can handle IPv6 now.

new cmd line syntax:
    -chardev udp,id=name,host=remotehost,port=remoteport,\
localaddr=bindaddr,localport=bindport

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoconvert mux chardev to QemuOpts.
Gerd Hoffmann [Thu, 10 Sep 2009 08:58:50 +0000 (10:58 +0200)]
convert mux chardev to QemuOpts.

new cmd line syntax:  you can add mux=1 to any chardev to enable muxing,
then attach it multiple times, like this:

-chardev pty,name=mux,mux=on

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoconvert vc chardev to QemuOpts.
Gerd Hoffmann [Thu, 10 Sep 2009 08:58:49 +0000 (10:58 +0200)]
convert vc chardev to QemuOpts.

new cmd line syntax:
    -chardev vc,id=name
    -chardev vc,id=name,width=pixels,height=pixels
    -chardev vc,id=name,cols=chars,rows=chars

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoconvert tty + parport chardevs to QemuOpts.
Gerd Hoffmann [Thu, 10 Sep 2009 08:58:48 +0000 (10:58 +0200)]
convert tty + parport chardevs to QemuOpts.

new cmd line syntax:
    -chardev tty,id=name,path=/dev/tty*
    -chardev parport,id=name,path=/dev/parport*

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoconvert windows console chardev to QemuOpts.
Gerd Hoffmann [Thu, 10 Sep 2009 08:58:47 +0000 (10:58 +0200)]
convert windows console chardev to QemuOpts.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoconvert braille chardev to QemuOpts.
Gerd Hoffmann [Thu, 10 Sep 2009 08:58:46 +0000 (10:58 +0200)]
convert braille chardev to QemuOpts.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoconvert msmouse chardev to QemuOpts.
Gerd Hoffmann [Thu, 10 Sep 2009 08:58:45 +0000 (10:58 +0200)]
convert msmouse chardev to QemuOpts.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoconvert stdio chardev to QemuOpts.
Gerd Hoffmann [Thu, 10 Sep 2009 08:58:44 +0000 (10:58 +0200)]
convert stdio chardev to QemuOpts.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoconvert pty chardev to QemuOpts.
Gerd Hoffmann [Thu, 10 Sep 2009 08:58:43 +0000 (10:58 +0200)]
convert pty chardev to QemuOpts.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoconvert unix+tcp chardevs to QemuOpts.
Gerd Hoffmann [Thu, 10 Sep 2009 08:58:42 +0000 (10:58 +0200)]
convert unix+tcp chardevs to QemuOpts.

new cmd line syntax:
  unix socket:
    -chardev socket,id=name,path=/path/to/socket
  tcp socket:
    -chardev socket,id=name,host=hostaddr|ipaddr,port=portnr

server and nowait options work as usual.  Alternatively you can use
server=[on|off] + wait=[on|off] syntax.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agosockets: add inet_listen_opts
Gerd Hoffmann [Thu, 10 Sep 2009 08:58:41 +0000 (10:58 +0200)]
sockets: add inet_listen_opts

Add inet_listen_opts().  Does the same as inet_listen(), but uses
QemuOpts.  inet_listen() is a compatibility wrapper for
inet_listen_opts() now and should go away some day.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agosockets: add inet_connect_opts
Gerd Hoffmann [Thu, 10 Sep 2009 08:58:40 +0000 (10:58 +0200)]
sockets: add inet_connect_opts

Add inet_connect_opts().  Does the same as inet_connect(), but uses
QemuOpts.  inet_connect() is a compatibility wrapper for
inet_connect_opts() now and should go away some day.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agosockets: add unix_*_opts for windows.
Gerd Hoffmann [Thu, 10 Sep 2009 08:58:39 +0000 (10:58 +0200)]
sockets: add unix_*_opts for windows.

Add unix_*_opts function dummys for windows.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agosockets: add unix_listen_opts
Gerd Hoffmann [Thu, 10 Sep 2009 08:58:38 +0000 (10:58 +0200)]
sockets: add unix_listen_opts

Add unix_listen_opts().  Does the same as unix_listen(), but uses
QemuOpts.  unix_listen() is a compatibility wrapper for
unix_listen_opts() now and should go away some day.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agosockets: add unix_connect_opts
Gerd Hoffmann [Thu, 10 Sep 2009 08:58:37 +0000 (10:58 +0200)]
sockets: add unix_connect_opts

Add unix_connect_opts().  Does the same as unix_connect(), but uses
QemuOpts.  unix_connect() is a compatibility wrapper for
unix_connect_opts() now and should go away some day.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoconvert file+pipe chardevs to QemuOpts.
Gerd Hoffmann [Thu, 10 Sep 2009 08:58:36 +0000 (10:58 +0200)]
convert file+pipe chardevs to QemuOpts.

new cmd line syntax:
    -chardev file,id=name,path=/path/to/file
    -chardev pipe,id=name,path=/path/to/pipe

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoswitch chardev to QemuOpts: infrastructure, null device
Gerd Hoffmann [Thu, 10 Sep 2009 08:58:35 +0000 (10:58 +0200)]
switch chardev to QemuOpts: infrastructure, null device

start switching chardevs to QemuOpts.  This patch adds the
infrastructure and converts the null device.

The patch brings two new functions:

qemu_chr_open_opts()
same as qemu_chr_open(), but uses QemuOpts instead of a
option char string.

qemu_chr_parse_compat()
accepts a traditional chardev option string, returns the
corresponding QemuOpts instance, to handle backward
compatibility.

The patch also adds a new -chardev switch which can be used to create
named+unconnected chardevs, like this:

-chardev null,id=test

This uses the new qemu_chr_open_opts.  Thus with this patch alone only
the null device works.  The other devices will follow ...

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqemu-option.h include protectors
Gerd Hoffmann [Thu, 10 Sep 2009 08:58:34 +0000 (10:58 +0200)]
qemu-option.h include protectors

qemu-option.h has no protection against including it twice.
This patch adds the usual "#ifndef header" bits.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoQemuOpts: split option parser into two functions.
Gerd Hoffmann [Thu, 10 Sep 2009 08:58:33 +0000 (10:58 +0200)]
QemuOpts: split option parser into two functions.

looking for id= and creating a new QemuOpts instance is splitted from
the actual option parser code now, so the parser can be called from
other contexts too.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
15 years agoqdev: Fix i6300 upcast
Markus Armbruster [Fri, 4 Sep 2009 22:13:04 +0000 (00:13 +0200)]
qdev: Fix i6300 upcast

Use DO_UPCAST() instead of container_of() to go from PCIDevice to
I6300State.  This ensures that PCIDevice is the first member of struct
I6300State.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>