Commit Graph

608 Commits

Author SHA1 Message Date
Michael S. Tsirkin
d59700553e vhost: vhost net support
This adds vhost net device support in qemu. Will be tied to tap device
and virtio by following patches.  Raw backend is currently missing,
will be worked on/submitted separately.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-04-01 13:56:43 -05:00
Michael S. Tsirkin
2292b33986 notifier: event notifier implementation
event notifiers are slightly generalized eventfd descriptors. Current
implementation depends on eventfd because vhost is the only user, and
vhost depends on eventfd anyway, but a stub is provided for non-eventfd
case.

We'll be able to further generalize this when another user comes along
and we see how to best do this.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-04-01 13:56:43 -05:00
Anthony Liguori
087431d1d1 virtio-pci: compile per-target
With vhost, virtio-pci needs to include kvm.h and kvm.h needs to be built
per-target.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-04-01 13:56:19 -05:00
Anthony Liguori
b33612d035 Fix -enable-kvm
Make vl.o compiled per target and fix a thinko in hw/acpi.c.  It's not trivial
to make kvm.h consumable by compiled-once files.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-04-01 09:58:48 -05:00
Blue Swirl
2b5eb37123 Compile most PPC devices only once
Make byte swapping unconditional since PPC is big endian.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-30 17:36:23 +00:00
Blue Swirl
add85a76bb Compile prep_pci only once
Make byte swapping unconditional since PPC is big endian.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-29 19:24:04 +00:00
Blue Swirl
29e922b61f Compile qemu-timer only once
Arrange various declarations so that also non-CPU code can access
them, adjust users.

Move CPU specific code to cpus.c.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-29 19:24:00 +00:00
Blue Swirl
5c4532ee78 Compile openpic only once
Replace TARGET_PAGE_SIZE with 4096. Make byte swapping unconditional
since PPC is big endian.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-29 19:23:59 +00:00
Blue Swirl
02c7c992f0 Compile ide/macio only once
Replace TARGET_PAGE_SIZE with 4096. Make byte swapping unconditional
since PPC is big endian.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-29 19:23:57 +00:00
Blue Swirl
3d08ff698b Compile pflash_cfi01 only once
Push TARGET_WORDS_BIGENDIAN dependency to board level.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-29 19:23:56 +00:00
Blue Swirl
5f9fc5ad7e Compile pflash_cfi02 only once
Push TARGET_WORDS_BIGENDIAN dependency to board level.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-29 19:23:55 +00:00
Blue Swirl
53b67b3052 Compile acpi only once
Use qemu_irqs to trigger CMOS S3 and SMI events.

Avoid using kvm.h, which uses CPUState.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-29 19:23:52 +00:00
Blue Swirl
ad96090a01 Refactor target specific handling, compile vl.c only once
Move target specific functions and RAM handling to arch_init.c.

Add a flag to QEMUOptions structure to indicate for which
architectures the option is allowed, check the flag
in run time and remove conditional code in option handling.

Now that no target dependencies remain, compile vl.c only once
for all targets.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-29 19:23:52 +00:00
Blue Swirl
296af7c952 Refactor CPUState handling out of vl.c
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-29 19:23:50 +00:00
Blue Swirl
57448a975e Compile vmware_vga only once
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-27 18:18:17 +00:00
Blue Swirl
b970ea8f8d Compile some MIPS devices only once
Move CPU specific declarations to a separate file.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-27 07:26:16 +00:00
Blue Swirl
f7736b91c4 Compile ide/core only once
Make win2k install hack unconditional as it is still restricted to
x86 only in vl.c.

Replace TARGET_PAGE_SIZE and 4096 with PAGE_SIZE.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-27 06:20:53 +00:00
Blue Swirl
8f51bdab44 Compile virtio-pci only once
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-22 20:18:58 +00:00
Blue Swirl
70615c38de Compile sound devices only once
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-22 20:18:40 +00:00
Blue Swirl
952760bb7b Compile pci_host only once
Convert pci_host_conf_register_mmio_noswap(x) to
pci_host_conf_register_mmio(x, 0).

Convert pci_host_conf_register_mmio(x) to
pci_host_conf_register_mmio(x, 1) for big endian hosts, all cases
happen to be BE.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-21 19:47:15 +00:00
Blue Swirl
c1f63a9d43 Compile pcie_host only once
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-21 19:47:14 +00:00
Blue Swirl
6842a08ee0 Compile pci only once
Move coalesced_mmio declarations to a more accessible location.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-21 19:47:13 +00:00
Blue Swirl
f1698408f1 Compile usb-ohci only once
Push TARGET_WORDS_BIGENDIAN dependency to board level.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-21 19:47:12 +00:00
Blue Swirl
2d48377a85 Compile serial only once
Push TARGET_WORDS_BIGENDIAN dependency to board level.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-21 19:47:11 +00:00
Blue Swirl
d3ffc7a6e7 Compile ne2000_isa only once
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-21 19:47:10 +00:00
Blue Swirl
84108e128e Compile isa_mmio only once
Push TARGET_WORDS_BIGENDIAN dependency to board level.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-21 19:47:09 +00:00
Blue Swirl
7161e5710b Compile most PCI network cards only once
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-21 19:47:08 +00:00
Blue Swirl
e1060e9d2d Compile qemu-error only once
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-21 19:47:07 +00:00
Blue Swirl
64dc9c31ae Compile async only once
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-21 19:47:07 +00:00
Blue Swirl
35da37e141 Compile fdc only once
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-21 19:47:06 +00:00
Blue Swirl
9953b2fc28 Compile most IDE devices only once
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-21 19:47:05 +00:00
Blue Swirl
4c65f1e5ba Compile usb-uhci only once
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-21 19:47:04 +00:00
Blue Swirl
7f55c7ced6 Compile vga-isa only once
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-21 19:47:03 +00:00
Blue Swirl
7109371158 Compile pcspk only once
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-21 19:47:02 +00:00
Blue Swirl
df6327780d Compile i8254 only once
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-21 19:47:02 +00:00
Blue Swirl
b994504610 Compile parallel only once
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-21 19:47:01 +00:00
Blue Swirl
1afdfddc41 Compile vga-pci only once
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-21 19:47:00 +00:00
Blue Swirl
4d9045339a Compile disassemblers only once
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-21 08:28:47 +00:00
Paolo Bonzini
db1a49726c split out qemu-timer.c
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-03-17 11:16:15 -05:00
Anthony Liguori
4a39943bd1 Merge remote branch 'markus/qerror' into staging 2010-03-17 09:44:37 -05:00
Markus Armbruster
b4a51f7f5d error: Move qemu_error() & friends from monitor.c to own file
They're about reporting errors, not about the monitor.
2010-03-16 16:55:05 +01:00
Aurelien Jarno
409dbce54b load_elf: replace the address addend by a translation function
A few machines need to translate the ELF header addresses into physical
addresses. Currently the only possibility is to add a value to the
addresses.

This patch replaces the addend argument by and a translation function
and an opaque passed to the function. A NULL function does not translate
the address.

The patch also convert all machines that have an addend, simplify the
PowerPC kernel loading and fix the MIPS kernel loading using this new
feature. Other machines may benefit from this feature.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-16 08:38:05 +01:00
Andre Przywara
c6dc6f63bf x86/cpuid: move CPUID functions into separate file
about half of target-i386/helper.c consist of CPUID related functions.
Only one of them is a real TCG helper function. So move the whole
CPUID stuff out of this into a separate file to get better
maintainable parts.
This is only code reordering and should not affect QEMU's
functionality.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-13 16:50:54 +01:00
Richard Henderson
6049f4f831 alpha-linux-user: Implement signals.
Move userland PALcode handling into linux-user main loop so that
we can send signals from there.  This also makes alpha_palcode.c
system-level only, so don't build it for userland.  Add defines
for GENTRAP PALcall mapping to signals.

Signed-off-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-28 17:54:52 +01:00
Blue Swirl
51464fafdf Don't compile rwhandler.c for user targets
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-02-20 09:27:38 +00:00
Michael S. Tsirkin
049f7adbd5 rwhandler: simplified way to register for mem/io
Some users prefer a single callback with length passed as parameter to
using b/w/l callbacks. It would maybe be cleaner to just pass length to
existing callbacks but that's a lot of churn.  So for now add a wrapper.
For convenience use pcibus_t for address so a single callback can be
used for pci io and pci memory.

I did have to resort to preprocessor to reduce code duplication.  It is
however slightly more straightforward, and better contained than what we
had with pci_host_template.h. Again, it would go away if we just passed
len to existing callbacks.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2010-02-14 16:10:53 +02:00
Loïc Minier
da79030f47 linux-user: adapt uname machine to emulated CPU
This patch for linux-user adapts the output of the emulated uname()
syscall to match the configured CPU.  Tested with x86, x86-64 and arm
emulation.

Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
Signed-off-by: Loïc Minier <lool@dooz.org>
2010-02-06 17:19:43 +01:00
Blue Swirl
e1c6bbabee Refactor DEC 21154 PCI bridge
It's currently not used by PPC machines. Refactor so that also Sparc64
machines can use it.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-02-05 18:48:36 +00:00
Edgar E. Iglesias
2548de3a34 microblaze: The petalogix s3adsp board uses intel flashes
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@petalogix.com>
2010-01-24 17:15:05 +01:00
Amit Shah
4d3053a3c6 Move virtio-serial to Makefile.objs
There's nothing target-dependent in the virtio-serial code so allow it
to be compiled just once for all the targets.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-01-20 08:25:23 -06:00