History | View | Annotate | Download (9 kB)
notifier: event notifier implementation
event notifiers are slightly generalized eventfd descriptors. Currentimplementation depends on eventfd because vhost is the only user, andvhost depends on eventfd anyway, but a stub is provided for non-eventfdcase....
vhost: vhost net support
This adds vhost net device support in qemu. Will be tied to tap deviceand virtio by following patches. Raw backend is currently missing,will be worked on/submitted separately.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>...
virtio-pci: compile per-target
With vhost, virtio-pci needs to include kvm.h and kvm.h needs to be builtper-target.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Fix -enable-kvm
Make vl.o compiled per target and fix a thinko in hw/acpi.c. It's not trivialto make kvm.h consumable by compiled-once files.
Compile most PPC devices only once
Make byte swapping unconditional since PPC is big endian.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Compile prep_pci only once
Compile qemu-timer only once
Arrange various declarations so that also non-CPU code can accessthem, adjust users.
Move CPU specific code to cpus.c.
Compile openpic only once
Replace TARGET_PAGE_SIZE with 4096. Make byte swapping unconditionalsince PPC is big endian.
Compile ide/macio only once
Compile pflash_cfi01 only once
Push TARGET_WORDS_BIGENDIAN dependency to board level.
Compile pflash_cfi02 only once
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 whicharchitectures the option is allowed, check the flagin run time and remove conditional code in option handling....
Compile acpi only once
Use qemu_irqs to trigger CMOS S3 and SMI events.
Avoid using kvm.h, which uses CPUState.
Refactor CPUState handling out of vl.c
Compile vmware_vga only once
Compile some MIPS devices only once
Move CPU specific declarations to a separate file.
Compile ide/core only once
Make win2k install hack unconditional as it is still restricted tox86 only in vl.c.
Replace TARGET_PAGE_SIZE and 4096 with PAGE_SIZE.
Compile virtio-pci only once
Compile sound devices only once
Compile pci_host only once
Convert pci_host_conf_register_mmio_noswap(x) topci_host_conf_register_mmio(x, 0).
Convert pci_host_conf_register_mmio(x) topci_host_conf_register_mmio(x, 1) for big endian hosts, all caseshappen to be BE.
Compile pcie_host only once
Compile pci only once
Move coalesced_mmio declarations to a more accessible location.
Compile usb-ohci only once
Compile serial only once
Compile ne2000_isa only once
Compile isa_mmio only once
Compile most PCI network cards only once
Compile async only once
Compile qemu-error only once
Compile fdc only once
Compile most IDE devices only once
Compile usb-uhci only once
Compile vga-isa only once
Compile i8254 only once
Compile pcspk only once
Compile parallel only once
Compile vga-pci only once
Compile disassemblers only once
split out qemu-timer.c
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Merge remote branch 'markus/qerror' into staging
error: Move qemu_error() & friends from monitor.c to own file
They're about reporting errors, not about the monitor.
load_elf: replace the address addend by a translation function
A few machines need to translate the ELF header addresses into physicaladdresses. Currently the only possibility is to add a value to theaddresses.
This patch replaces the addend argument by and a translation function...
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 wholeCPUID stuff out of this into a separate file to get bettermaintainable parts....
alpha-linux-user: Implement signals.
Move userland PALcode handling into linux-user main loop so thatwe can send signals from there. This also makes alpha_palcode.csystem-level only, so don't build it for userland. Add definesfor GENTRAP PALcall mapping to signals....
Don't compile rwhandler.c for user targets
rwhandler: simplified way to register for mem/io
Some users prefer a single callback with length passed as parameter tousing b/w/l callbacks. It would maybe be cleaner to just pass length toexisting callbacks but that's a lot of churn. So for now add a wrapper....
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 armemulation.
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>Signed-off-by: Loïc Minier <lool@dooz.org>
Refactor DEC 21154 PCI bridge
It's currently not used by PPC machines. Refactor so that also Sparc64machines can use it.
microblaze: The petalogix s3adsp board uses intel flashes
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@petalogix.com>
virtio-console: qdev conversion, new virtio-serial-bus
This commit converts the virtio-console device to create a newvirtio-serial bus that can host console and generic serial ports. Thefile hosting this code is now called virtio-serial-bus.c.
The virtio console is now a very simple qdev device that sits on the...
Move virtio-serial to Makefile.objs
There's nothing target-dependent in the virtio-serial code so allow itto 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>
finish VPATH -> vpath translation
This adds a few more vpath suffixes and points the remaining two pathsexplicitly to $(SRC_PATH) in order to eliminate the VPATH assignmentfrom config-host.mak.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Cc: Juan Quintela <quintela@redhat.com>...
multiboot: Separate multiboot loading into separate file
Move multiboot loading code into separate files as suggested by Alex Graf.
Signed-off-by: Adam Lackorzynski <adam@os.inf.tu-dresden.de>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Use vpath directive
The vpath directive has two advantages over the VPATH variable:1) it allows to skip searching of .o files; 2) the default semanticsare to append to the vpath, so there is no confusion between "VPATH=xyz" and "VPATH+=xyz".
Since "vpath %.c %.h PATH" is not valid, I'm introducing a wrapper...
debugcon: support for debugging consoles (e.g. Bochs port 0xe9)
Add generic support for debugging consoles (simple I/O ports whichwhen written to cause debugging output to be written to a target.)The current implementation matches Bochs' port 0xe9, allowing the same...
Drop --whole-archive and static libraries
Juan has contributed a cool Makefile infrastructure that enables us to dropstatic libraries completely:
Move shared obj-y definitions to Makefile.objs, prefixed {common-,hw-,user-},and link those object files directly into the executables....
Add S390x virtio machine bus
On S390x we don't want to go through the hassle of emulating real existinghardware, because we don't need to for running Linux.
So let's instead implement a machine that is 100% based on VirtIO which wefortunately implement already....
Add S390x virtio machine description
In order to use the new S390x virtio bus we just introduced, we alsoneed a machine description that sets up the machine according to ourPV specification.
Let's add that machine description and be happy!
Signed-off-by: Alexander Graf <agraf@suse.de>...
Remove rule for config-devices.h
Since commit a992fe3d0fc185112677286f7a02204d8245b61econfig-devices.h is no longer used.
So there is no need to keep the dependency rulesany longer.
Signed-off-by: Stefan Weil <weil@mail.berlios.de>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Makefile dependencies for device configs
Add makefile dependencies for target specific device configs.These will copy the default config if none exists, obsoleting the oldconfigure time code. If a config already exists but is older than thedefault then print a warning....
ARM PBX-A9 board support
Implement ARM RealView PBX-A9 board support.
Signed-off-by: Paul Brook <paul@codesourcery.com>
Built network devices once
Move some generic NICS into libhw, and build them for ARM targets.
LAN9118 emulation
Add SMSC LAN9118 ethernet emulation.
fix parallel build
Based on a ideas of Daniel Jacobowitz + Stefan Weil
Signed-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
pci: pcie host and mmcfg support.
This patch adds common routines for pcie host bridge and pcie mmcfg.This will be used by q35 based chipset emulation.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
pci_host.h: move functions in pci_host.h into .c file.
split static functions in pci_host.h into pci_host.c andpci_host_template.h.Later a structures declared in pci_host.h, PCIHostState, will be used.However pci_host.h doesn't allow to include itself easily. This patches...
Split out bottom halves
Instead of putting more and more stuff into vl.c, let's have the genericfunctions that deal with asynchronous callbacks in their own file.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
pcnet: split away lance.c (sparc32 code).
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
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...
Generate gdbstub-xml.c only when needed
First user of new config-devices.mak
Patchworks-ID: 35198Signed-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Only compile usb_ohci when one target uses it
Patchworks-ID: 35199Signed-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Only compile isa_mmio when one target uses it
Patchworks-ID: 35200Signed-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Add new config-devices.mak for each target
We generate config-devices.h from there automatically.We need to do it in main Makefile, because we are going to need a mainMakefile for them.
Patchworks-ID: 35196Signed-off-by: Juan Quintela <quintela@redhat.com>...
Generate config-devices.h
Generate config-devices.h for each target and config-all-devices.h forcommon library. We don't want to name both config-devices.h to avoidpath problems
Patchworks-ID: 35195Signed-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Move generation of config-target.h to Makefile from configure
Patchworks-ID: 35194Signed-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Rename config.{h, mak} config-target.{h, mak}
Add config.h file that includes config-target.h and config-host.h
Patchworks-ID: 35193Signed-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Don't include config-host.mak from inside config.mak
Include it directly in Makefile.target
Patchworks-ID: 35189Signed-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Compile some user files only once for all targets
Fix user emulator breakage
Fix breakage in the following conditions:- use in-tree building- build user targets after system targets
Revert "This files are compiled in libqemu.a now"
This reverts commit fe6549dfd76c278dbcd788b3c15c5e6e5ed32190.
tcg-runtime and host-utils are needed on 32 bit host and they are not partof libqemu.a.
Thanks to Stefan Weil for reporting.
clean: remove ide/*.o files on clean
Signed-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This files are compiled in libqemu.a now
This fixes compilation of linux-user with today qemu, please apply.
Fix user targets broken by 96e132e24ee5a693069e83b6a981693588b088c1
Compile host-utils only once
See also facd2857783d58387885ad7cb1e4a8386f241738 and34005a0060c176b3025a9e7c5d064615a9f80325.
Compile TCG runtime library only once
Compile ne2000 only once
ioports: remove unused env parameter and compile only once
The CPU state parameter is not used, remove it and adjust callers. Now wecan compile ioport.c once for all targets.
Compile msix only once
Get page size in device init.
Compile loader only once
Callers must pass ELF machine, byte swapping and symbol LSB clearinginformation to ELF loader. A.out loader needs page size information, passthat too as a parameter.
Extract prototypes to a separate file. Move loader.[ch] and elf_ops.h under hw....
Compile qemu-config only once
Compile wdt_i6300esb only once
ide/pci: convert to qdev.
With this patch applied ide drives (when attached to a pci adapter) canbe created via -device, like this:
-drive if=none,id=mydisk,file=/path/to/disk.img -device ide-drive,drive=mydisk,bus=ide.0,unit=0
Note that creating a master on ide1 doesn't work that way. That is a...
Fix breakage by f80237d45032fbc429aba3b597175fb544a11378 for ISA-less targets
Move ISA bus to HW library.
Add configure option to compile user targets as PIE
Build uset targers as true PIE if user want to keep qemuself-virtualizable.
v5: - Split into to patches: drop link hack and add PIE support - do not build PIE by default and drop toolchain check
v4:...
qdev/isa: convert ne2000
Also split the isa bits into a separate source file, so we don't drag ina dependency for isa-bus.o for machines which want ne2k_pci only.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
vga: split pci bits into vga-pci.c
Adjust all the VGAState in VGACommonStateCompile vga-pci.o only for targets that use it.
vga: split isa bits inco vga-isa.c
Adjust all the VGAState in VGACommonStateCompile vga-isa.o in the targets that use it
vga: split vga-isa-mm.o
It is only used in mips softmmu, compile only there.it_shift field was only used for vga_isa_mm, move it from VGACommonStateto ISAVGAMMstate.
Split piix4 support from piix_pci.c
Now mips_malta uses piix4 and pc's use piix_pci definitions
ide: move code to hw/ide/