aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-03-01Move ioport.h out of cpu-all.hPaul Brook
Only include ioport.h where it is actually needed. Signed-off-by: Paul Brook <paul@codesourcery.com>
2010-03-01Remove bogus cpu_physical_memory_rwPaul Brook
Userspace doesn't have physical memory, so cpu_physical_memory_rw makes no sense. This is only used to implement cpu_memory_rw_debug, so just implement that directly instead. Signed-off-by: Paul Brook <paul@codesourcery.com>
2010-02-28Remove l1_phys_map from userspace emulationPaul Brook
Userspace emulation doesn't have a physical address space, so l1_phys_map makes no sense. This code is never actually used, so don't try and build it. Signed-off-by: Paul Brook <paul@codesourcery.com>
2010-02-28Fix userspace breakpoint invalidationPaul Brook
Remove bogus virtual->physical address translation in breakpoint_invalidate for userspace emulation. Signed-off-by: Paul Brook <paul@codesourcery.com>
2010-02-28target-arm: neon vshll instruction fixJuha Riihimäki
implementation only widened the 32bit source vector elements into a 64bit destination vector but forgot to perform the actual shifting operation. Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> Signed-off-by: Riku Voipio <riku.voipio@nokia.com> Acked-by: Laurent Desnogues <laurent.desnogues@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-28target-arm: neon - fix VRADDHN/VRSUBHN vs VADDHN/VSUBHNRiku Voipio
The rounding/truncating options were inverted. truncating was done when rounding was meant and vice verse. Signed-off-by: Riku Voipio <riku.voipio@nokia.com> Acked-by: Laurent Desnogues <laurent.desnogues@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-28target-i386: fix crash on x86 32bit linux host with hw breakpoint exceptionsJason Wessel
If you make use of hw breakpoints on a 32bit x86 linux host, qemu will segmentation fault when processing the exception. The problem is that the value of env is stored in $ebp in the op_helper raise_exception() function, and it can have the wrong value when calling it from non generated code. It is possible to work around the problem by restoring the value of env before calling raise_exception() using a new helper function that takes (CPUState *) as one of the arguments. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-28alpha-linux-user: Implement signals.Richard Henderson
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-28target-alpha: Implement IEEE FP qualifiers.Richard Henderson
IEEE FP instructions are split up so that the rounding mode coming from the instruction and exceptions (both masking and delivery) are handled external to the base FP operation. FP exceptions are properly raised for non-finite inputs to instructions that do not indicate software completion. A shortcut is applied if CONFIG_SOFTFLOAT_INLINE is defined at the top of translate.c: data is loaded and stored into FP_STATUS directly instead of using the functional interface defined by "softfloat.h". Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-28target-ppc: don't print invalid opcode messages on the consoleAurelien Jarno
Invalid opcode messages can be perfectly normal, for example if this code is never executed. Don't print an error message on the console, but keep the message in the log for debugging purposes. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-28Revert "target-ppc: stop translation after a trap instruction"Aurelien Jarno
This reverts commit 6454e7be1b2504533f7ffb190d54ebe2993cb434.
2010-02-28audio/alsa: Handle SND_PCM_STATE_SETUP in alsa_poll_handlermalc
Signed-off-by: malc <av1474@comtv.ru>
2010-02-28audio/alsa: Spelling typo (paramters)Vagrant Cascadian
Trivial patch to fix the spelling of "parameters". Signed-off-by: malc <av1474@comtv.ru>
2010-02-28target-ppc: stop translation after a trap instructionAurelien Jarno
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-28qemu-char.c: drop debug printfs from qemu_chr_parse_compatJan Kiszka
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Acked-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-27powerpc/e500: adjust fdt and ramdisk loading addrLiu Yu
Since kernel uimage is getting bigger, old fixed loading bases will result in regions overlap. Add pad for fdt and ramdisk, so that they won't overlap with uimage. Signed-off-by: Liu Yu <yu.liu@freescale.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-27powerpc: fix compilation with CONFIG_FDT undefinedAurelien Jarno
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-27powerpc/booke: move fdt loading to rom infrastructureLiu Yu
It's convinent to use rom to checking overlap, to reset etc. And uImage and ramdisk loading has already moved to it. Also, after we add fdt to rom, free it. Signed-off-by: Liu Yu <yu.liu@freescale.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-27target-ppc: add synchronize register for booke initLiu Yu
So that the following registers init could be flushed back to kvm. Signed-off-by: Liu Yu <yu.liu@freescale.com> Acked-by: Hollis Blanchard <hollis@penguinppc.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-27target-sh4: Fix gdb read/write registertakasi-y@ops.dti.ne.jp
cpu_gdb_read_register(): Fix n={8...15} case. cpu_gdb_write_register(): Fix n={8...15} case and runaway "case:". Signed-off-by: Takashi YOSHII <takasi-y@ops.dti.ne.jp> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-27target-ppc: fix SPE evsplat* instructionsNathan Froyd
The shifts in the gen_evsplat* functions were expecting rA to be masked, not extracted, and so used the wrong shift amounts to sign-extend or pad with zeroes. Signed-off-by: Nathan Froyd <froydnj@codesourcery.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-27target-ppc: fix SPE evcmp* instructionsNathan Froyd
The CRF_{CH,CL,CH_OR_CL,CH_AND_CL} constants were all off by one bit position. Because of this, the SPE evcmp* family of instructions would store values in the result condition register that were also off by one bit position. Fixed by using the CRF_{LT,GT,EQ,SO} constants for the shift amounts. Signed-off-by: Nathan Froyd <froydnj@codesourcery.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-27arm host: Fix linker warning (m68k targets)Stefan Weil
Compilation of m68k-softmmu or m68k-linux-user on arm host (or cross compilation for arm) results in a linker warning: LINK m68k-softmmu/qemu-system-m68k m68k-dis.o: warning: definition of `floatformat_ieee_single_little' overriding common arm-dis.o: warning: common is here /usr/lib/gcc/arm-linux-gnueabi/4.3.2/../../../../arm-linux-gnueabi/bin/ld: Warning: size of symbol `floatformat_ieee_single_little' changed from 4 in arm-dis.o to 48 in m68k-dis.o floatformat_ieee_single_little is declared in arm-dis.c and m68k-dis.c, and both declarations don't match, so this is an error. The symbol is not needed in arm-dis.c, so I removed it there. Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-27Fix 'make install' from non-srcdir buildAmit Shah
Commit b5ec5ce0 broke 'make install' from non source-dir build. Fix. Signed-off-by: Amit Shah <amit.shah@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-27Fix to 'gdb detach' stubDaniel Gutson
With this patch, 'gdb detach' correctly resumes the inferior execution after detaching the debugger. The bug was caused by qemu asking gdb to execute a syscall (isatty) after the detach, and then waiting (forever) for the reply. I fixed this by properly setting gdb_syscall_mode appropriately in the 'detach' packet handling, so subsequent syscalls are solved by qemu rather than gdb. Signed-off-by: Daniel Gutson <dgutson@codesourcery.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-27Fix qemu -net user,hostfwd= exampleAurelien Jarno
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-27tcg/ppc: Fix right rotationmalc
Signed-off-by: malc <av1474@comtv.ru>
2010-02-25target-sparc: fix --enable-debug build for 64 bit hostStefan Weil
b551ec04ca45d1925417dd2ec7c1b7f115c84f1d fixed the compilation for 32 bit hosts, but introduced a new error for 64 bit hosts: tcg_temp_new_ptr needs a matching tcg_temp_free_ptr. Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-02-25Fix -usbdevice crashPaul Brook
If -usbdevice is used on a machine with no USB busses, usb_create will fail and return NULL. Patch below handles this failure gracefully rather than crashing when we try to init the device. Signed-off-by: Paul Brook <paul@codesourcery.com>
2010-02-23ARM defconfig fixPaul Brook
Tix typo in default-configs/arm-softmmu.mak Signed-off-by: Paul Brook <paul@codesourcery.com>
2010-02-23target-alpha: Mark helper_excp as NORETURN.Richard Henderson
Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-23target-alpha: Clean up arithmetic traps.Richard Henderson
Replace the EXCP_ARITH_OVERFLOW placeholder with the complete set of bits from the EXC_SUM IPR. Use them in the existing places where we raise arithmetic exceptions. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-23target-alpha: Reduce internal processor registers for user-mode.Richard Henderson
The existing set of IPRs is totally irrelevant to user-mode emulation. Indeed, they most are irrelevant to implementing kernel-mode emulation, and would only be relevant to PAL-mode emulation, which I suspect that no one will ever attempt. Reducing the set of processor registers reduces the size of the CPU state. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-23target-alpha: Split up FPCR value into separate fields.Richard Henderson
The fpcr_exc_status, fpcr_exc_mask, and fpcr_dyn_round fields are stored in <softfloat.h> format for convenience during regular execution. Revert the addition of float_exception_mask to float_status, added in ba0e276db4b51bd2255a5d5ff8902c70d32ade40. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-23target-alpha: Fix gdb access to fpcr and unique.Richard Henderson
cpu_gdb_read/write_register need to access the fpcr via the cpu_alpha_load/store_fpcr functions. The unique register is number 66 in the gdb remote protocol. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-23Fix OpenBSD linker warningBlue Swirl
helper.o(.text+0x11e0): In function `listflags': /src/qemu/target-i386/helper.c:661: warning: sprintf() is often misused, please use snprintf() Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-02-23Fix i386-bsd-user buildBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-02-23Fix mingw32 buildBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-02-23Simplify qemu_realloc()Markus Armbruster
No functional change. Bonus: looks just like qemu_malloc() now. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-23pc-bios: update to latest SeabiosAnthony Liguori
- 0360e8e Seabios e820 reservation portion v3 - 7149fc8 Initial support for booting from USB drives. - 3c160dd Introduce helper functions for finding USB end-points. - 9571439 USB UHCI cleanups. - a4bd919 Minor - arrange struct drive_s to clarify field roles. - dac46b1 Fix off by one error in strtcpy. - d2d1de0 Don't require a valid physical cylinders/heads/spt for logical mapping. - 76977b2 Move common "command data block" functions to new file blockcmd.c. - d7e998f Dynamically allocate each drive_g with malloc_fseg(). - 525be69 Add *.pyc to .gitignore. - 7d70025 Add common "block command" definitions and update cdrom code. - 68caaa7 Optimize ntohl() code. - 42157c8 Minor - sort ATA CMD definitions. - 54671c1 Initial support for USB hubs. - 7852331 Minor - increase debug level of some USB debug statements. - ba94a68 Don't leave USB UHCI ports disabled for extended time during reset. - 49a0aa6 Don't parallelize USB OHCI root port reset. - cfdc13f Introduce standard warnings for allocation failures and timeouts. - 8bbc79c Add symbolic definitions for USB delays. - 991eaff Support USB interrupt schedules on OHCI and UHCI. - 59c7574 Add some ASSERT32FLAT() to help compiler eliminate dead code. - e1920be seabios: acpi: fix memory leak in build_srat(). - 84a4d4b Support USB keyboard auto-repeat. - bf7f1f3 mptable: Pull cpuid_signature/features setting out of loop. - 6f702dd Rework disabling of ps2 port irqs. - 2d3f0f5 Go back to using 0xf0000000 for PCI memory start. - 41c0957 Read APIC version from APIC instead of using a hard-coded value. - 7a98fd0 Work around bochs floppy issue with wait_irq(). - 4d07902 Add CONFIG_ATA_DMA option; default to off for now. - 3012af1 Fix PkgLength calculation for the SSDT. - 92a5742 Add explicit Program Headers to linker scripts. - 6fc91b2 Prep version for next release. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-02-23fix 'i' format handling in memory dumpGleb Natapov
It was broken by 09b9418c6d0. (!env && !is_physical) != (!is_physical) when env is true. Signed-off-by: Gleb Natapov <gleb@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-02-23rewrote timer implementation for rtl8139.Frediano Ziglio
Add a QEMU timer only when needed (timeout status not set, timeout irq wanted and timer set). This patch is required for Darwin. Patch has been tested under FreeBSD, Darwin and Linux. Signed-off-by: Frediano Ziglio <freddy77@gmail.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-02-23qcow2: Fix image creation regressionKevin Wolf
When checking for errors, commit db89119d compares with the wrong values, failing image creation even when there was no error. Additionally, if an error has occured, we can't preallocate the image (it's likely broken). This unbreaks test 023 of qemu-iotests. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-02-23qcow2: More checks for qemu-img checkKevin Wolf
Implement some more refcount block related checks Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-02-23qcow2: Rewrite alloc_refcount_block/grow_refcount_tableKevin Wolf
The current implementation of alloc_refcount_block and grow_refcount_table has fundamental problems regarding error handling. There are some places where an I/O error means that the image is going to be corrupted. I have found that the only way to fix this is to completely rewrite the thing. In detail, the problem is that the refcount blocks itself are allocated using alloc_refcount_noref (to avoid endless recursion when updating the refcount of the new refcount block, which migh access just the same refcount block but its allocation is not yet completed...). Only at the end of the refcount allocation the refcount of the refcount block is increased. If an error happens in between, the refcount block is in use, but has a refcount of zero and will likely be overwritten later. The new approach is explained in comments in the code. The trick is basically to let new refcount blocks describe their own refcount, so their refcount will be automatically changed when they are hooked up in the refcount table. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-02-23qcow2: Factor next_refcount_table_size outKevin Wolf
When the refcount table grows, it doesn't only grow by one entry but reserves some space for future refcount blocks. The algorithm to calculate the number of entries stays the same with the fixes, so factor it out before replacing the rest. As Juan suggested take the opportunity to simplify the code a bit. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-02-23declare saved_env_reg as volatilePaolo Bonzini
This ensures that the compiler does not move it away from the "env = env1;" assignment. Fixes a miscompilation on gcc 4.4, reported by Jay Foad. Cc: <jay.foad@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-02-23target-mips: fix ROTR and DROTR by zeroNathan Froyd
Signed-off-by: Nathan Froyd <froydnj@codesourcery.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-23target-mips: fix CpU exception for coprocessor 0Nathan Froyd
When we signal a CpU exception for coprocessor 0, we should indicate that it's for coprocessor 0 instead of coprocessor 1. Signed-off-by: Nathan Froyd <froydnj@codesourcery.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-23target-mips: remove useless sign extensionAurelien Jarno
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>