summaryrefslogtreecommitdiffstats
path: root/Makefile.hw
Commit message (Collapse)AuthorAgeFilesLines
* Remove libhwStefan Weil2012-10-051-22/+0Star
| | | | | | | | | | The entries for libhw* are no longer needed in .gitignore. There is also no longer a difference between common-obj-y and hw-obj-y, so one of those two macros is sufficient. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Make target_phys_addr_t 64 bits unconditionallyAvi Kivity2012-10-051-1/+0Star
| | | | | | | | | | The hassle and compile time overhead of maintaining both 32-bit and 64-bit capable source isn't worth the tiny performance advantage which is seen on a minority of configurations. Switch to compiling libhw only once, with target_phys_addr_t unconditionally typedefed to uint64_t. Signed-off-by: Avi Kivity <avi@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* build: get dependency file directories from object file namesPaolo Bonzini2012-07-281-3/+0Star
| | | | | | | | | | After commit dcff25f2cd8c11a9368cc2369aeb0319c32d9e26, Dependency file are taken from the directories that have a Makefile.objs file. This is not enough, since files can be included from other directories. So, pick them from directories that have an object file in them. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Makefile.hw: avoid overly large 'make clean' rm commandPeter Maydell2012-06-221-2/+2
| | | | | | | | | | | | Avoid 'make clean' producing an 'rm' command which has a lot of duplicate 'hw//*.o' arguments, by using $(sort $(dir ..)) rather than $(dir $(sort ..)) so Make's sort function will remove the duplicates for us. We can also remove the double '//' safely because $(dir ..) is guaranteed to return a string ending in '/'. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
* build: move per-target hw/ objects to nested Makefile.objsPaolo Bonzini2012-06-071-2/+3
| | | | | | | | This completes the move to nested Makefiles for virtio and a few other files that were not part of obj-TARGET-y, but still were compiled separately for each target. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* build: convert libhw to nested Makefile.objsPaolo Bonzini2012-06-071-3/+3
| | | | | | | | After this patch, the libhw* directories will have a hierarchy that mimics the source tree. This is useful because we do have a couple of files there that are in the top source directory. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* make: Remove duplicate use of GLIB_CFLAGSStefan Weil2012-02-091-1/+0Star
| | | | | | | | | | | Makefile, Makefile.hw, Makefile.target and libcacard/Makefile added GLIB_CFLAGS to QEMU_CFLAGS. Makefile.objs does this, too, and is included by all other Makefiles, so GLIB_CFLAGS were added twice (reported by malc). Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: malc <av1474@comtv.ru>
* qom: add the base Object class (v2)Anthony Liguori2012-01-271-0/+1
| | | | | | | | | | | | | | | | | | | | This class provides the main building block for QEMU Object Model and is extensively documented in the header file. It is largely inspired by GObject. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> --- v1 -> v2 - remove printf() in type registration - fix typo in comment (Paolo) - make Interface private - move object into a new directory and move header into include/qemu/ - don't make object.h depend on qemu-common.h - remove Type and replace it with TypeImpl * (Paolo) - use hash table to store types (Paolo) - aggressively cache parent type (Paolo) - make a type_register and use it with interfaces (Paolo) - fix interface cast comment (Paolo) - add a few more functions required in later series
* Makefile.hw: allow hw/ files to include glib headersAvi Kivity2011-09-041-0/+1
| | | | | Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Avi Kivity <avi@redhat.com>
* Revert "Merge remote-tracking branch 'qemu-kvm/memory/batch' into staging"Anthony Liguori2011-08-251-1/+0Star
| | | | | | | | | | | | This reverts commit 8ef9ea85a2cc1007eaefa53e6871f1f83bcef22d, reversing changes made to 444dc48298c480e42e15a8fe676be737d8a6b2a1. From Avi: Please revert the entire pull (git revert 8ef9ea85a2cc1) while I work this out - it isn't trivial. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Makefile.hw: allow hw/ files to include glib headersAvi Kivity2011-08-251-0/+1
| | | | | Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Avi Kivity <avi@redhat.com>
* move unaligned memory access functions to bswap.hPaolo Bonzini2011-07-291-1/+1
| | | | | | | | This is just code movement, and moving the fpu/ include path from target-dependent to target-independent Make variables. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Clean libhw subdirs as wellJan Kiszka2010-05-221-1/+1
| | | | | | | Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Acked-by: Paolo Bonzini <pbonzini@redhat.com> Acked-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Use vpath directivePaolo Bonzini2010-01-081-1/+1
| | | | | | | | | | | | | The vpath directive has two advantages over the VPATH variable: 1) it allows to skip searching of .o files; 2) the default semantics are 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 macro to append one or more directories to the vpath. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Drop --whole-archive and static librariesAndreas Färber2010-01-071-31/+2Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Juan has contributed a cool Makefile infrastructure that enables us to drop static libraries completely: Move shared obj-y definitions to Makefile.objs, prefixed {common-,hw-,user-}, and link those object files directly into the executables. Replace HWLIB by HWDIR, specifying only the directory. Drop --whole-archive and ARLIBS in Makefiles and configure. Drop GENERATED_HEADERS dependency in rules.mak, since this rebuilds all common objects after generating a target-specific header; add dependency rules to Makefile and Makefile.target instead. v2: - Don't try to include /config.mak for user emulators - Changes to user object paths ("Quickfix for libuser.a drop") were obsoleted by "user_only: compile everything with -fpie" (Kirill A. Shutemov) v3: - Fix dependency modelling for tools - Remove comment on GENERATED_HEADERS obsoleted by this patch Signed-off-by: Andreas Färber <afaerber@opensolaris.org> Cc: Blue Swirl <blauwirbel@gmail.com> Cc: Palle Lyckegaard <palle@lyckegaard.dk> Cc: Ben Taylor <bentaylor.solx86@gmail.com> Cc: Juan Quintela <quintela@trasno.org> Cc: Kirill A. Shutemov <kirill@shutemov.name> Cc: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Built network devices oncePaul Brook2009-11-191-0/+3
| | | | | | Move some generic NICS into libhw, and build them for ARM targets. Signed-off-by: Paul Brook <paul@codesourcery.com>
* Only compile m48t59 when one target uses itJuan Quintela2009-10-091-1/+1
| | | | | | Patchworks-ID: 35204 Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Only compile escc when one target uses itJuan Quintela2009-10-091-1/+2
| | | | | | Patchworks-ID: 35205 Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Only compile esp when one target uses itJuan Quintela2009-10-091-1/+2
| | | | | | Patchworks-ID: 35206 Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Only compile ecc when one target uses itJuan Quintela2009-10-091-1/+1
| | | | | | Patchworks-ID: 35203 Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Only compile nand when one target uses itJuan Quintela2009-10-091-1/+2
| | | | | | Patchworks-ID: 35202 Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Only compile qdev_addr when one target uses itJuan Quintela2009-10-091-1/+2
| | | | | | Patchworks-ID: 35201 Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Add new config-devices.mak for each targetJuan Quintela2009-10-091-0/+1
| | | | | | | | | | We generate config-devices.h from there automatically. We need to do it in main Makefile, because we are going to need a main Makefile for them. Patchworks-ID: 35196 Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Compile ne2000 only onceBlue Swirl2009-09-201-0/+3
| | | | Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Compile msix only onceBlue Swirl2009-09-201-0/+2
| | | | | | Get page size in device init. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Compile loader only onceBlue Swirl2009-09-201-0/+1
| | | | | | | | | | | | | Callers must pass ELF machine, byte swapping and symbol LSB clearing information to ELF loader. A.out loader needs page size information, pass that too as a parameter. Extract prototypes to a separate file. Move loader.[ch] and elf_ops.h under hw. Adjust callers. Also use target_phys_addr_t instead of target_ulong for addresses: loader addresses aren't virtual. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Compile wdt_i6300esb only onceBlue Swirl2009-09-201-0/+3
| | | | Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Fix breakage by f80237d45032fbc429aba3b597175fb544a11378 for ISA-less targetsBlue Swirl2009-09-141-1/+1
| | | | | | Move ISA bus to HW library. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* qemu: move virtio-pci.o to near pci.oMichael S. Tsirkin2009-08-241-1/+1
| | | | | | | | | | virtio-pci depends, and will always depend, on pci.c so it makes sense to keep it in the same makefile, (unlike the rest of virtio files which should eventually be moved out to Makefile.hw). Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* move common QEMU_CFLAGS to configureJuan Quintela2009-08-101-3/+1Star
| | | | | | Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Message-Id:
* Rename CPPFLAGS to QEMU_CFLAGSJuan Quintela2009-08-101-3/+3
| | | | | | | | | | | | | | | | | Now we have to variables: QEMU_CFLAGS: flags without which we can't compile CFLAGS: "-g -O2" We can now run: make CFLAGS="-fbar" foo.o make CFLAGS="" foo.o make CFLAGS="-O3" foo.o And it all should work. Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Message-Id:
* more specific config.mak can overwrote more general config.makJuan Quintela2009-07-271-1/+1
| | | | | Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* We can wrap ARCH_CFLAGS/ARCH_LDFLAGS in CFLAGS/LDFLAGS at configure timeJuan Quintela2009-07-171-3/+0Star
| | | | | Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* We can wrap OS_CFLAGS/OS_LDFLAGS in CFLAGS/LDFLAGS at configure timeJuan Quintela2009-07-171-2/+2
| | | | | Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* qdev: rework device properties.Gerd Hoffmann2009-07-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is a major overhaul of the device properties. The properties are saved directly in the device state struct now, the linked list of property values is gone. Advantages: * We don't have to maintain the list with the property values. * The value in the property list and the value actually used by the device can't go out of sync any more (used to happen for the pci.devfn == -1 case) because there is only one place where the value is stored. * A record describing the property is required now, you can't set random properties any more. There are bus-specific and device-specific properties. The former should be used for properties common to all bus drivers. Typical use case is bus addressing, i.e. pci.devfn and i2c.address. Properties have a PropertyInfo struct attached with name, size and function pointers to parse and print properties. A few common property types have PropertyInfos defined in qdev-properties.c. Drivers are free to implement their own very special property parsers if needed. Properties can have default values. If unset they are zero-filled. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Rename OBJS to obj-yJuan Quintela2009-06-291-9/+9
| | | | | Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Add dummy command to submakefilesPaul Brook2009-05-251-0/+2
| | | | | | | Add a dummy command to the all: rule in sub-makefiles. This avoids "Nothing to be done for `all'." messages from make. Signed-off-by: Paul Brook <paul@codesourcery.com>
* Partially revert e20a8dff4c0da3827764924139d3bb73962f5d5aAnthony Liguori2009-05-221-3/+0Star
| | | | | | | | | From Paul Brook: "the fdc is tied to the ISA DMA engine. We don't currently have a target independent method of handling inter-device data transfer." Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Compile fdc, escc and SCSI controllers only onceBlue Swirl2009-05-211-1/+7
| | | | Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Unbreak out-of-tree buildsmalc2009-05-191-1/+1
| | | | Signed-off-by: malc <av1474@comtv.ru>
* Hardware convenience libraryPaul Brook2009-05-191-0/+36
The only target dependency for most hardware is sizeof(target_phys_addr_t). Build these files into a convenience library, and use that instead of building for every target. Remove and poison various target specific macros to avoid bogus target dependencies creeping back in. Big/Little endian is not handled because devices should not know or care about this to start with. Signed-off-by: Paul Brook <paul@codesourcery.com>