summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-09-03Use new macro QEMU_PACKED for packed structuresStefan Weil36-259/+259
Most changes were made using these commands: git grep -la '__attribute__((packed))'|xargs perl -pi -e 's/__attribute__\(\(packed\)\)/QEMU_PACKED/' git grep -la '__attribute__ ((packed))'|xargs perl -pi -e 's/__attribute__ \(\(packed\)\)/QEMU_PACKED/' git grep -la '__attribute__((__packed__))'|xargs perl -pi -e 's/__attribute__\(\(__packed__\)\)/QEMU_PACKED/' git grep -la '__attribute__ ((__packed__))'|xargs perl -pi -e 's/__attribute__ \(\(__packed__\)\)/QEMU_PACKED/' git grep -la '__attribute((packed))'|xargs perl -pi -e 's/__attribute\(\(packed\)\)/QEMU_PACKED/' Whitespace in linux-user/syscall_defs.h was fixed manually to avoid warnings from scripts/checkpatch.pl. Manual changes were also applied to hw/pc.c. I did not fix indentation with tabs in block/vvfat.c. The patch will show 4 errors with scripts/checkpatch.pl. Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2011-09-03Add new macro QEMU_PACKED for packed C structuresStefan Weil1-0/+6
A packed struct needs different gcc attributes for compilations with MinGW compilers because glib-2.0 adds compiler flag -mms-bitfields which modifies the packing algorithm. Attribute gcc_struct reverses the negative effects of -mms-bitfields. QEMU_PACKED sets this attribute and must be used for any packed struct which is affected by -mms-bitfields. Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2011-09-02rename qemu_malloc and related to glib names for coherenceFrediano Ziglio2-7/+7
Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Frediano Ziglio <freddy77@gmail.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-09-02Fix install(1) usage to be compatible with OpenBSD's install(1).Brad1-3/+3
Fix install(1) usage to be compatible with OpenBSD's install(1). When creating a directory via the -d flag the -p flag cannot be used at the same time. Also in the context of installing QEMU it doesn't make sense to use the -p flag anyway so use the [default] -c flag instead. Signed-off-by: Brad Smith <brad@comstyle.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-09-02Rename qemu -> qemu-system-i386Anthony Liguori2-7/+2
This has been discussed before in the past. The special casing really makes no sense anymore. This seems like a good change to make for 1.0. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-09-02main: force enabling of I/O threadAnthony Liguori6-232/+1
Enabling the I/O thread by default seems like an important part of declaring 1.0. Besides allowing true SMP support with KVM, the I/O thread means that the TCG VCPU doesn't have to multiplex itself with the I/O dispatch routines which currently requires a (racey) signal based alarm system. I know there have been concerns about performance. I think so far the ones that have come up (virtio-net) are most likely due to secondary reasons like decreased batching. I think we ought to force enabling I/O thread early in 1.0 development and commit to resolving any lingering issues. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-09-02trace: fix out-of-tree buildsAnthony Liguori1-1/+1
Reported-by: Lluis Vilanova <vilanova@ac.upc.edu> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-09-02Merge remote-tracking branch 'stefanha/tracing' into stagingAnthony Liguori21-490/+719
2011-09-01Merge remote-tracking branch 'stefanha/trivial-patches' into stagingAnthony Liguori4-4/+4
2011-09-01Merge remote-tracking branch 'qemu-kvm-tmp/memory/core' into stagingAnthony Liguori1-1/+1
2011-09-01build: sort objects to remove duplicates for linkStefan Hajnoczi1-1/+1
Avoid duplicate object files during the link. There are legitimate cases where a link command-line would include duplicate object files because two independent subsystems both depend on common infrastructure. Use GNU make's $(sort) function to remove duplicate object files from the link command-line. Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-09-01main: switch qemu_set_fd_handler to g_io_add_watchAnthony Liguori1-1/+56
This patch changes qemu_set_fd_handler to be implemented in terms of g_io_add_watch(). The semantics are a bit different so some glue is required. qemu_set_fd_handler2 is much harder to convert because of its use of polling. The glib main loop has the major of advantage of having a proven thread safe architecture. By using the glib main loop instead of our own, it will allow us to eventually introduce multiple I/O threads. I'm pretty sure that this will work on Win32, but I would appreciate some help testing. I think the semantics of g_io_channel_unix_new() are really just tied to the notion of a "unix fd" and not necessarily unix itself. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-09-01Add glib support to main loopAnthony Liguori1-0/+74
This allows GSources to be used to register callback events in QEMU. This is useful as it allows us to take greater advantage of glib and also because it allows us to write code that is more easily testable outside of QEMU since we can make use of glib's main loop in unit tests. All new code should use glib's callback mechanisms for registering fd events which are very well documented at: http://developer.gnome.org/glib/stable/glib-The-Main-Event-Loop.html And: http://developer.gnome.org/gio/stable/ Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-09-01tcg/ppc/tcg-target.c: Avoid 'set but not used' gcc warningsPeter Maydell1-10/+10
Move the declaration and initialisation of some variables in tcg_out_qemu_ld and tcg_out_qemu_st inside CONFIG_SOFTMMU, to avoid the "variable set but not used" warning of gcc 4.6. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: malc <av1474@comtv.ru>
2011-09-01simpletrace: fix process() argument countStefan Hajnoczi1-2/+2
The simpletrace.process() function invokes analyzer methods with the wrong number of arguments if a timestamp should be included. This patch fixes the issue so that trace analysis scripts can make use of timestamps. Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
2011-09-01trace: enable all eventsLluís1-324/+324
Given that all events with programmatically-controlled state are disabled by default, we can delete the "disable" property from all events. Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
2011-09-01trace: [stderr] add support for dynamically enabling/disabling eventsLluís7-11/+81
Uses the generic interface provided in "trace/control.h" in order to provide a programmatic interface as well as command line and monitor controls. Signed-off-by: Fabien Chouteau <chouteau@adacore.com> Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
2011-09-01trace: [simple] disable all trace points by defaultLluís3-13/+10
Note that this refers to the backend-specific state (whether the output must be generated), not the event "disabled" property (which always uses the "nop" backend). Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
2011-09-01trace: always use the "nop" backend on events with the "disable" keywordLluís2-23/+17
Any event with the keyword/property "disable" generates an empty trace event using the "nop" backend, regardless of the current backend. Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
2011-09-01trace: add "-trace events" argument to control initial stateLluís9-13/+92
The "-trace events" argument can be used to provide a file with a list of trace event names that will be enabled prior to starting execution, thus providing early tracing. This saves the user from manually toggling event states through the monitor interface or whichever backend-specific interface. Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
2011-09-01trace: always compile support for controlling and querying trace event statesLluís3-24/+40
The current interface is generic for this small set of operations, and thus other backends can easily modify the "trace/control.c" file to add their own implementation. Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
2011-09-01trace: separate trace event control and query routines from the simple backendLluís6-17/+40
Generalize the 'st_print_trace_events' and 'st_change_trace_event_state' into backend-specific 'trace_print_events' and 'trace_event_set_state' (respectively) in the "trace/control.h" file. Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
2011-09-01trace: generalize the "property" concept in the trace-events fileLluís2-42/+35
This adds/modifies the following functions: * get_name: Get _only_ the event name * has_property: Return whether an event has a property (keyword before the event name) Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
2011-09-01trace: avoid conditional code compilation during option parsingLluís9-26/+72
A default implementation for backend-specific routines is provided in "trace/default.c", which backends can override by setting "trace_default=no" in "configure". Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
2011-09-01trace: move backend-specific code into the trace/ directoryLluís6-7/+10
Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
2011-09-01trace: [make] replace 'ifeq' with values in CONFIG_TRACE_*Lluís1-7/+5
Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
2011-09-01trace: [configure] rename CONFIG_*_TRACE into CONFIG_TRACE_*Lluís9-21/+31
Provides a more hierarchical view of the variable domain. Also adds the CONFIG_TRACE_* variables for all backends. [Stefan added missing 'test' in stap if statement] Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
2011-09-01build: [simple] Include qemu-timer-common.o in trace-obj-yLluís1-1/+1
Helper programs like qemu-ga use tracing primitives, but qemu-timer-common.o (also used by simpletrace.o) is not necessarily included in the linkage line. Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
2011-09-01build: Fix linkage of QEMU_PROGLluís1-1/+1
Using '$^' to establish the files to link with will remove any repeated entries in the list of dependencies. Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
2011-08-31tusb6010: Convert to qdevPeter Maydell3-80/+94
Convert the tusb6010 to qdev. Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> [Riku Voipio: Fixes and restructuring patchset] Signed-off-by: Riku Voipio <riku.voipio@iki.fi> [Peter Maydell: More fixes and cleanups for upstream submission] Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2011-08-30memory: Fix memory_region_get_ram_ptr for ROM devicesJan Kiszka1-1/+1
Mask out the sub-page bits that are used by ROM device for storing the io-index and the IO_MEM_ROMD flag. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Avi Kivity <avi@redhat.com>
2011-08-29Merge branch 'omap-for-upstream' of ↵Edgar E. Iglesias8-203/+733
git://git.linaro.org/people/pmaydell/qemu-arm into pm
2011-08-29Merge remote-tracking branch 'kwolf/for-anthony' into stagingAnthony Liguori30-696/+887
2011-08-29Merge remote-tracking branch 'qemu-kvm/memory/core' into stagingAnthony Liguori2-1/+5
2011-08-29Merge remote-tracking branch 'qemu-kvm/memory/urgent' into stagingAnthony Liguori1-1/+1
2011-08-29Merge remote-tracking branch 'mst/for_anthony' into stagingAnthony Liguori6-26/+125
2011-08-29Merge remote-tracking branch 'qmp/queue/monitor' into stagingAnthony Liguori1-1/+1
2011-08-29qemu-img: Require larger zero areas for sparse handlingKevin Wolf3-5/+67
By default, require 4k of consecutive zero bytes for qemu-img to make the output file sparse by not issuing a write request for the zeroed parts. Add an -S option to allow users to tune this setting. This helps to avoid situations where a lot of zero sectors and data sectors are mixed and qemu-img tended to issue many tiny 512 byte writes. Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2011-08-29Fix spelling in comments and debug messages (recieve -> receive)Stefan Weil3-3/+3
Signed-off-by: Stefan Weil <weil@mail.berlios.de> Reviewed-by: Andreas Färber <andreas.faerber@web.de> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
2011-08-29hw/pci-stub: fix comment typoAlon Levy1-1/+1
[Stefan fixed "doesn't" -> "don't"] Signed-off-by: Alon Levy <alevy@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
2011-08-29memory: fix rom_device I/O modeAvi Kivity1-1/+1
When adding a rom_device in I/O mode, we incorrectly masked off the low bits, resulting in a pure RAM map. Fix my masking off the high bits and IO_MEM_ROMD, yielding a pure I/O map. Signed-off-by: Avi Kivity <avi@redhat.com>
2011-08-28omap_gpmc: Implement prefetch enginePeter Maydell1-10/+247
This commit implements the prefetch engine feature of the GPMC which can be used for NAND devices. This includes both interrupt driven and DMA-filling modes. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2011-08-28omap: Wire up the DMA request line to the GPMCPeter Maydell3-3/+8
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2011-08-28omap_gpmc: Pull prefetch engine data into sub-structPeter Maydell1-24/+28
Refactor the gpmc state structure so items relating to the prefetch engine are in their own sub-struct and have more useful names. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2011-08-28omap_gpmc: Accept a zero mask field on omap3630Juha Riihimäki1-5/+6
OMAP3630 adds an extra bit of address masking, so a mask of 0xb1111 is valid. Unfortunately the GPMC_REVISION is the same as on the OMAP3430 which only has three bits of address masking, so we have to derive this feature directly from the OMAP revision rather than from the GPMC revision. Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> [Riku Voipio: Fixes and restructuring patchset] Signed-off-by: Riku Voipio <riku.voipio@iki.fi> [Peter Maydell: More fixes and cleanups for upstream submission] Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2011-08-28hw/omap.h: Add OMAP 3630 to omap_mpu_model enumerationPeter Maydell1-1/+4
Add the OMAP 3630 to the omap_mpu_model enumeration, and add the corresponding cpu_is_omap3630() function. (OMAP3 isn't supported yet but this is useful in upgrading common components to be "OMAP3 ready". We already have this for OMAP3430.) Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2011-08-28omap_gpmc: Support NAND devicesPeter Maydell2-12/+208
Support accesses to NAND devices, both by mapping them into the GPMC address space, and via the NAND_COMMAND, NAND_ADDRESS and NAND_DATA GPMC registers. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2011-08-28omap_gpmc: Reindent misindented switch statementsPeter Maydell1-48/+48
Whitespace-only change fixing indentation. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2011-08-28omap_gpmc: Calculate revision from OMAP modelJuha Riihimäki1-1/+3
Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> [Riku Voipio: Fixes and restructuring patchset] Signed-off-by: Riku Voipio <riku.voipio@iki.fi> [Peter Maydell: More fixes and cleanups for upstream submission] Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2011-08-28omap_gpmc: Take omap_mpu_state* in omap_gpmc_initJuha Riihimäki3-3/+5
Take a pointer to the omap mpu state struct in omap_gpmc_init. Some details of GPMC behaviour depend on the OMAP version we are a part of. Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> [Riku Voipio: Fixes and restructuring patchset] Signed-off-by: Riku Voipio <riku.voipio@iki.fi> [Peter Maydell: More fixes and cleanups for upstream submission] Signed-off-by: Peter Maydell <peter.maydell@linaro.org>