summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-03-29Compile pflash_cfi02 only onceBlue Swirl12-74/+154
Push TARGET_WORDS_BIGENDIAN dependency to board level. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-29Compile acpi only onceBlue Swirl12-24/+56
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-29Refactor target specific handling, compile vl.c only onceBlue Swirl7-605/+751
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-29Refactor CPUState handling out of vl.cBlue Swirl4-747/+795
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-29Refactor a few architecture dependent pieces in vl.cBlue Swirl1-25/+47
These will be moved later. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-29Move KVM and Xen global flags to vl.cBlue Swirl3-5/+4
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-29Move cpu_exec_init_all() declaration to qemu-common.hBlue Swirl2-1/+2
Let cpu_exec_init_all() be called from non-CPU code. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-29Allow various header files to be included from non-CPU codeBlue Swirl3-8/+13
Allow balloon.h, gdbstub.h and kvm.h to be included from non-CPU code. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-29Adjust debug handlingBlue Swirl1-3/+3
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-29tcg/mips: fix branch offset during retranslationAurelien Jarno1-19/+30
Branch offsets should only be overwritten during relocation, to support partial retranslation. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-28exec: remove dead codeAurelien Jarno1-1/+0
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-28linux-user/ppc: use the Linux register layoutRob Landley1-21/+2
The dynamic linker converts the Linux layout to the AIX layout and is reentrant so it won't do it a second time if it's already been converted. In short it work just fine with either register layout. OTOH, statically linked binaries expect a Linux layout. Remove code converting the Linux layout to AIX layout so that all binaries are presented the Linux Layout. Signed-off-by: Rob Landley <rob@landley.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-28qemu-io: fix aio help textsChristoph Hellwig1-5/+5
Fix a few typos in the help texts for the various aio commands. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-28tcg/arm: Replace qemu_ld32u (left over from previous commit)Stefan Weil1-1/+1
Commit 86feb1c860dc38e9c89e787c5210e8191800385e did not change all occurrences of INDEX_op_qemu_ld32u for tcg/arm. Please note that I could not test this patch (I have currently no arm system available). Cc: Richard Henderson <rth@twiddle.net> Cc: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-27Fix driftfix optionBlue Swirl1-3/+3
Based on patch by Zachary Amsden. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-27Fix BSD and win32 buildsBlue Swirl2-0/+2
CC net/tap-bsd.o /src/qemu/net/tap-bsd.c: In function `tap_open': /src/qemu/net/tap-bsd.c:93: warning: implicit declaration of function `error_report' CC sparc-softmmu/../net/tap-win32.o cc1: warnings being treated as errors /src/qemu/target-sparc/../net/tap-win32.c: In function 'net_init_tap': /src/qemu/target-sparc/../net/tap-win32.c:709: warning: implicit declaration of function 'error_report' Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-27Refactor numa mode settingBlue Swirl1-8/+15
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-27pflash_cfi02: fix incorrect TARGET_FMT_lx/d useBlue Swirl1-15/+15
Also use target_phys_addr_t for addresses. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-27Compile vmware_vga only onceBlue Swirl8-2/+8
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-27tcg-mips: add guest base supportAurelien Jarno3-29/+42
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-27tcg/mips: implement the not_i32 op the same way as gccAurelien Jarno1-1/+1
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-27tcg-mips: implement norAurelien Jarno2-1/+5
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-27be more specific in -mem-path error messagesMichael Tokarev1-2/+2
Signed-Off-By: Michael Tokarev <mjt@tls.msk.ru> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-27Add a missing #include for FreeBSD hostsJuergen Lock1-0/+3
Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-27error: Move qerror_report() from qemu-error.[ch] to qerror.[ch]Markus Armbruster4-24/+25
Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-27error: Link qemu-img, qemu-nbd, qemu-io with qemu-error.oMarkus Armbruster2-37/+18
The location tracking interface is used by code shared with qemi-img, qemu-nbd and qemu-io, so it needs to be available there. Commit 827b0813 provides it in a rather hamfisted way: it adds a dummy implementation to qemu-tool.c. It's cleaner to provide the real thing, and put a few more dummy monitor functions into qemu-tool.c. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-27error: Make use of error_set_progname() optionalMarkus Armbruster1-1/+1
Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-27error: Trim includes after "Infrastructure to track locations..."Markus Armbruster1-1/+0
Missed in commit 827b0813. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-27error: Trim includes in qerror.cMarkus Armbruster1-2/+0
Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-27error: Trim includes after "Move qemu_error & friends..."Markus Armbruster3-4/+1
Missed in commit 2f792016. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-27linux-user: Use RLIMIT_STACK for default stack size.Richard Henderson3-8/+19
The current default stack limit of 512kB is far too small; a fair number of gcc testsuite failures (for all guests) are directly attributable to this. Using the -s option in every invocation of the emulator is annoying to say the least. A reasonable compromise seems to be to honor the system rlimit. At least on two Linux distributions, this is set to 8MB and 10MB respectively. If the system does not limit the stack, then we're no worse off than before. At the same time, rename the variable from x86_stack_size and change the ultimate fallback size from 512kB to 8MB. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-27target-arm: disable PAGE_EXEC for XN pagesRabin Vincent1-3/+7
Don't set PAGE_EXEC for XN pages, to avoid a bypass of XN protection checking if the page is already in the TLB. Signed-off-by: Rabin Vincent <rabin@rab.in> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-27fix race between timer firing vs. alarm_timer->pending = 0Paolo Bonzini1-2/+2
The period for Win32 timers is very short and always the same independent of dynticks, so it's possible that the timer fires before qemu_run_all_timers has reset alarm_timer->pending to zero. Reset alarm_timer->pending before rearming. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-27qemu-io: Fix return value handling of bdrv_openRyota Ozaki1-1/+1
bdrv_open may return -errno so we have to check if the return value is '< 0', not '== -1'. Signed-off-by: Ryota Ozaki <ozaki.ryota@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-27qemu-nbd: Fix invalid usage of the first argument of errxRyota Ozaki1-17/+17
errx takes the exit status of a process as the first argument. Passing errno to it is wrong. Instead the patch lets errx take EXIT_FAILURE. Signed-off-by: Ryota Ozaki <ozaki.ryota@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-27qemu-nbd: Fix return value handling of bdrv_openRyota Ozaki1-1/+1
bdrv_open may return -errno so we have to check if the return value is '< 0', not '== -1'. Signed-off-by: Ryota Ozaki <ozaki.ryota@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-27balloon: Fix overflow when reporting actual memory sizeAdam Litke1-1/+2
Beginning with its introduction, the virtio balloon has had an overflow error that causes 'info balloon' to misreport the actual memory size when the balloon itself becomes larger than 4G. Use a cast when converting dev->actual from pages to kB to prevent overflows. Before: (qemu) info balloon balloon: actual=5120 (qemu) balloon 1025 (qemu) info balloon balloon: actual=1025 (qemu) balloon 1024 (qemu) info balloon balloon: actual=5120 After: (qemu) info balloon balloon: actual=5120 (qemu) balloon 1025 (qemu) info balloon balloon: actual=1025 (qemu) balloon 1024 (qemu) info balloon balloon: actual=1024 Signed-off-by: Adam Litke <agl@us.ibm.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-27json-parser: Output the content of invalid keywordAmos Kong1-1/+7
When input some invalid word 'unknowcmd' through QMP port, qemu outputs this error message: "parse error: invalid keyword `%s'" This patch makes qemu output the content of invalid keyword, like: "parse error: invalid keyword `unknowcmd'" Signed-off-by: Amos Kong <akong@redhat.com> Acked-by: Richard Henderson <rth@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-27raw-posix: Better error return values for hdev_createKevin Wolf1-3/+3
Now that we output an error message according to the returned error code in qemu-img, let's return the real error codes. "Input/output error" for everything isn't helpful. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-27qemu-options.hx: fix a typoAurelien Jarno1-1/+1
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-27Compile some MIPS devices only onceBlue Swirl15-18/+51
Move CPU specific declarations to a separate file. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-27Fix buildBlue Swirl1-3/+5
Actually some systems don't define PAGE_SIZE. Fixes build breakage by f7736b91c40a617e93505e32dcbd2cb56aad8a23. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-27Compile ide/core only onceBlue Swirl17-17/+24
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-26target-s390: Don't compile in virtio-pciAlexander Graf18-1/+19
As soon as virtio-pci.c gets compiled and used on S390 the internal qdev magic gets confused and tries to give us PCI devices instead of S390 virtio devices. Since we don't have PCI on S390, we can safely not compile virtio-pci at all. In order to do this I added a new config option "CONFIG_VIRTIO_PCI" that I enabled for every platform except S390. Thanks to this the change should be a complete nop for every other platform. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-26target-ppc: generic PowerPC TBLDmitry Ilyevsky1-4/+4
Time base SPRs TBL/TBU should be accessible in user/priv modes for reading as specified in POWER ISA documentation. Therefore SPRs permissions were changed in gen_tbl function. Signed-off-by: Dmitry Ilyevsky <ilyevsky@gmail.com> Acked-by: Alexander Graf <agraf@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-26tcg: Disambiguate qemu_ld32u with 32-bit and 64-bit outputs.Richard Henderson11-24/+37
Some targets (e.g. Alpha and MIPS64) need to keep 32-bit operands sign-extended in 64-bit registers (regardless of the "real" sign of the operand). For that, we need to be able to distinguish between a 32-bit load with a 32-bit result and a 32-bit load with a given extension to a 64-bit result. This distinction already exists for the ld* loads, but not the qemu_ld* loads. Reserve qemu_ld32u for 64-bit outputs and introduce qemu_ld32 for 32-bit outputs. Adjust all code generators to match. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-26tcg: Allow target-specific implementation of NOR.Richard Henderson10-0/+29
Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-26tcg: Allow target-specific implementation of NAND.Richard Henderson10-0/+29
Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-26tcg: Allow target-specific implementation of EQV.Richard Henderson11-1/+30
Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-26tcg: Use not_i32 to implement not_i64.Richard Henderson1-0/+3
Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>