aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* target-ppc: fix RFI by clearing some bits of MSRThomas Monjalon2010-07-202-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 2ada0ed, "Return From Interrupt" is broken for PPC processors because some interrupt specifics bits of SRR1 are copied to MSR. SRR1 is a save of MSR during interrupt. During RFI, MSR must be restored from SRR1. But some bits of SRR1 are interrupt-specific and are not used for MSR saving. This is the specification (ISA 2.06) at chapter 6.4.3 (Interrupt Processing): "2. Bits 33:36 and 42:47 of SRR1 or HSRR1 are loaded with information specific to the interrupt type. 3. Bits 0:32, 37:41, and 48:63 of SRR1 or HSRR1 are loaded with a copy of the corresponding bits of the MSR." Below is a representation of MSR bits which are not saved: 0:15 16:31 32 33:36 37:41 42:47 48:63 ——— | ——— | — X X X X — — — — — X X X X X X | ———— 0000 0000 | 7 | 8 | 3 | F | 0000 History: In the initial Qemu implementation (e1833e1), the mask 0x783F0000 was used for saving MSR in SRR1. But all the bits 32:47 were cleared during RFI restoring. This was wrong. The commit 2ada0ed explains that this breaks Altivec. Indeed, bit 38 (for Altivec support) must be saved and restored. The change of 2ada0ed was to restore all the bits of SRR1 to MSR. But it's also wrong. Explanation: As an example, let's see what's happening after a TLB miss. According to the e300 manual (E300CORERM table 5-6), the TLB miss interrupts set the bits 44-47 for KEY, I/D, WAY and S/L. These bits are specifics to the interrupt and must not be copied into MSR at the end of the interrupt. With the current implementation, a TLB miss overwrite bits POW, TGPR and ILE. Fix: It shouldn't be needed to filter-out bits on MSR saving when interrupt occurs. Specific bits overwrite MSR ones in SRR1. But at the end of interrupt (RFI), specifics bits must be cleared before restoring MSR from SRR1. The mask 0x783F0000 apply here. Discussion: The bits of the mask 0x783F0000 are cleared after an interrupt. I cannot find a specification which talks about this but I assume it is the truth since Linux can run this way. Maybe it's not perfect but it's better (works for e300). Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Alexander Graf <agraf@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> (cherry picked from commit c3d420ead1aee9fcfd12be11cbdf6b1620134773)
* Merge commit '686a3c3dc235df2492e754423799d1abe4f6d9e2' into stable-0.12-mergeAvi Kivity2009-12-201-0/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '686a3c3dc235df2492e754423799d1abe4f6d9e2': Revert "pci: interrupt disable bit support" target-ppc: fix ppc32 kvm build S390: Bail out without KVM S390: Don't tell guest we're updating config space add default virtcon initialization S390: Loop through virtio console devices target-s390: Fail on unknown instructions osdep: Fix runtime failure on older Linux kernels Fix a make -j race target-alpha: Fix generic ctz64. s390: Fix buggy assignment target-mips: fix user-mode emulation startup Conflicts: hw/pci.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * target-ppc: fix ppc32 kvm buildAlexander Graf2009-12-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | My segment sync patch broke compilation on PPC32, because it was trying to sync the SLB even though ppc32 CPUs don't have an SLB. So let's only sync it when we're on a PP64 one! Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> (cherry picked from commit 82c09f2f0d0f405428ce0c567da2ada493acc30b)
* | Merge commit 'a0fb002c6462d21ceb9eac8c5772e469ec189374' into upstream-mergeAvi Kivity2009-12-071-0/+30
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'a0fb002c6462d21ceb9eac8c5772e469ec189374': kvm: x86: Add support for VCPU event states kvm: x86: Fix merge artifact of f8d926e9 about mp_state targe-ppc: Sync CPU state for KVM target-ppc: Get MMU state on register sync qemu: cleanup unused macros in cirrus qemu: make cirrus init value pci spec compliant Conflicts: kvm-all.c target-i386/kvm.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * target-ppc: Get MMU state on register syncAlexander Graf2009-12-031-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | While x86 only needs to sync cr0-4 to know all about its MMU state and enable qemu to resolve virtual to physical addresses, we need to sync all of the segment registers on PPC to know which mapping we're in. So let's grab the segment register contents to be able to use the "x" monitor command and also enable the gdbstub to resolve virtual addresses. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | Merge commit '0e607a80d323ba9f46dee71cd07380c4eb5c2b0a' into upstream-mergeAvi Kivity2009-11-221-0/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '0e607a80d323ba9f46dee71cd07380c4eb5c2b0a': (22 commits) kvm: x86: Refactor use of interrupt_bitmap kvm: Add arch reset handler Enable migration without shared storage from the monitor Block live migration Expose a mechanism to trace block writes char: rename qemu_chr_reset to qemu_chr_generic_open char: Remove special init_reset handling char: don't limit data sent to backends to 1k per buffer ARM PB-A8 support LAN9118 emulation mips_r4k: fix reset PPC64: map Uni-North AGP bus aka fix Linux boot PPC64: Partial fix to Linux crash: revert to old devfn PCI: make duplicate devfn allocation fatal Do not execute shell scripts directly mips malta: fix indentation target-mips: fix indentation mips-malta: fix reset mips: fix cpu_reset memory leak fix make clean targets ... Carry changes to qemu-kvm-x86.c. Signed-off-by: Avi Kivity <avi@redhat.com>
| * kvm: Add arch reset handlerJan Kiszka2009-11-171-0/+4
| | | | | | | | | | | | | | Will be required by succeeding changes. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '91011d4f3b7c311a42b842f6682ac64a2372d2b7' into upstream-mergeAvi Kivity2009-11-221-1/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '91011d4f3b7c311a42b842f6682ac64a2372d2b7': pci: Fix function pci_default_write_config mips: fix CPU reset Fix PPC crash ARM MPCore tweaks Realview/EB procid hacks pci: fix the conversion of config field from array to pointer qemu_system_reset: we need to call it before loadvm/migration fdc: fix vmstate variable passed vnc: improve capslock handling. e1000 fix: read access to some registers is missing. Fix 32-bit overflow in parallels image support kvm ppc: Remove unused label kvm: Move KVM mp_state accessors to i386-specific code virtio-blk: Pass read errors to the guest savevm: Delete existing snapshots in all images Fix incoming migration fix type in CFLAGS name Conflicts: hw/pci.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * kvm ppc: Remove unused labelHollis Blanchard2009-11-121-1/+0
| | | | | | | | | | Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '59f2689d9082f2f631253c810f73cd22290144a9' into upstream-mergeAvi Kivity2009-11-222-5/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '59f2689d9082f2f631253c810f73cd22290144a9': Added readonly flag to -drive command qcow2: Allow qcow2 disk images with size zero (x86/Sparc/PPC)-user: fix cpu_copy IDE: Fix reset handling user: move CPU reset call to main.c for x86/PPC/Sparc PPC: rename cpu_ppc_reset to cpu_reset for consistency Sparc64/x86: remove unneeded calls to device reset PPC: remove unneeded calls to device reset sparc32 (mostly): remove unneeded calls to device reset v3: don't call reset functions on cpu initialization vga: fix line comparison vga: Respect Line Compare Register in text modes Conflicts: qemu-config.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * user: move CPU reset call to main.c for x86/PPC/SparcBlue Swirl2009-11-071-3/+0
| | | | | | | | Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
| * PPC: rename cpu_ppc_reset to cpu_reset for consistencyBlue Swirl2009-11-072-5/+2
| | | | | | | | Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
| * PPC: remove unneeded calls to device resetBlue Swirl2009-11-071-0/+2
| | | | | | | | Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* | Merge commit '93db66850d99fd9885edeff6af5679be51e1c610' into upstream-mergeMark McLoughlin2009-10-282-66/+80
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '93db66850d99fd9885edeff6af5679be51e1c610': (81 commits) ne2k_isa: use qdev properties for configuration. qdev/net: common nic property bits qdev: add vlan property qdev: add netdev property qdev: mac addr property fixups net: add macaddr type. Send a RARP packet after migration. multiboot.S patch for old as(1) (was: Re: [Qemu-devel] Some OpenBSD/amd64 build fixes) raw/linux-aio: Also initialize POSIX AIO qcow2: Fix grow_refcount_table error handling usb-linux: return USB_RET_STALL on -EPIPE Makefile: Change make to be quiet again when doing nothing eepro100: Restructure code target-arm: use native tcg-ops for ror/bic/vorn target-arm: fix neon shift helper functions target-arm: fix neon vsri, vshl and vsli ops target-arm: allow modifying vfp fpexc en bit only target-arm: add support for neon vld1.64/vst1.64 instructions target-arm: fix neon vshrn/vrshrn ops target-arm: fix incorrect temporary variable freeing ... Signed-off-by: Mark McLoughlin <markmc@redhat.com>
| * target-ppc: move often used CPU fields at the top of the structureAurelien Jarno2009-10-231-4/+4
| | | | | | | | Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * target-ppc: simpler definitions for microcontrollers based on e300Thomas Monjalon2009-10-181-68/+44
| | | | | | | | | | | | | | | | | | No need to alias e300 core for each CPU package. Differences between microcontrollers have to be implemented in a higher layer than translate_init.c Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * target-ppc: add declarations of microcontrollers based on e300Thomas Monjalon2009-10-181-8/+40
| | | | | | | | | | | | | | Add CPU declarations of MPC8343, MPC8343E, MPC8347 and MPC8347E. Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * target-ppc: better support of e300 CPU coreThomas Monjalon2009-10-181-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | Declare HID2 register. Use high BATs for e300 (8 instead of 4). Fix index of high BATs registers. Before the fix, IBAT4-7 were overwriting IBAT0-3. Signed-off-by: François Armand <francois.armand@os4i.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * Revert "Get rid of _t suffix"Anthony Liguori2009-10-016-233/+235
| | | | | | | | | | | | | | | | | | | | | | | | In the very least, a change like this requires discussion on the list. The naming convention is goofy and it causes a massive merge problem. Something like this _must_ be presented on the list first so people can provide input and cope with it. This reverts commit 99a0949b720a0936da2052cb9a46db04ffc6db29. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * Get rid of _t suffixmalc2009-10-016-235/+233
| | | | | | | | | | | | | | Some not so obvious bits, slirp and Xen were left alone for the time being. Signed-off-by: malc <av1474@comtv.ru>
* | Merge commit '731c54f86988d3f28268f184fabfe9b2a32fb5d3' into upstream-mergeMarcelo Tosatti2009-09-291-0/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit '731c54f86988d3f28268f184fabfe9b2a32fb5d3': target-ppc: log instructions start in TCG code target-mips: log instructions start in TCG code Win32: avoid a warning BSD user: suppress a warning BSD user: implement GUEST_BASE tcg/i386: generates dec/inc instead of sub/add when possible tcg/i386: optimize and $0xff(ff), reg Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * target-ppc: log instructions start in TCG codeAurelien Jarno2009-09-281-0/+2
| | | | | | | | Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | Merge commit '075e36b8ede5409b491abdf69fe2ffcf1bfe6bca' into upstream-mergeMarcelo Tosatti2009-09-291-4/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '075e36b8ede5409b491abdf69fe2ffcf1bfe6bca': (27 commits) monitor: Fix do_commit() argument type Don't redefine NULL, please Fix coding style issue Remove PARAMS() macro __thread should be before real type gcc wants 1st static and then const Bring two last users of K&R definitions to ANSI c89 static and inline should came before the type of the functions Use proper typedef syntax Revert "This files are compiled in libqemu.a now" fix use after free unbreak usb pass-through on linux. clean: remove ide/*.o files on clean ARM host: fix generated blocks linking Fix spelling in comment Suppress some variants of English in comments sparc64-8bit-asi target-mips: remove MAX_OP_PER_INSTR workaround exec-all.h: increase OPC_BUF_SIZE exec-all.h: increase MAX_OP_PER_INSTR to 96 from 64 ... Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * static and inline should came before the type of the functionsJuan Quintela2009-09-251-4/+4
| | | | | | | | | | Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* | Merge commit '5f6b9e8fd5b9516170e582d9b6c27c98519a8031' into upstream-mergeAvi Kivity2009-09-211-49/+49
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '5f6b9e8fd5b9516170e582d9b6c27c98519a8031': (29 commits) Probe for fdatasync() PPC: make system bus parent of PCI bus Fix indentation ESP: convert to VMState target-alpha: fix extlh instruction target-ppc: optimize slw/srw/sld/srd audio: use correct email address audio: internal API change sdlaudio: use correct function names in sdl_XXX calls oss: use audio_pcm_hw_clip_out alsa: use audio_pcm_hw_clip_out audio: introduce audio_pcm_hw_clip_out helper function audio: use muldiv64 where it makes sense coreaudio: fix sloppy "posixification" by 1ea879e5580f63414693655fcf0328559cdce138 tcg: fix size of local variables in tcg_gen_bswap64_i64 qemu serial: lost tx irqs (affecting FreeBSD's new uart(4) driver) fix typo in configure --help escc: fix IRQ routing, broken by 6c319c82223a1766c5d64a20051e5c6ab7b53951 ide/isa: convert to qdev. ide/pci: convert to qdev. ... Conflicts: configure Signed-off-by: Avi Kivity <avi@redhat.com>
| * target-ppc: optimize slw/srw/sld/srdAurelien Jarno2009-09-181-49/+49
| | | | | | | | | | | | Remove a temp local variable and a jump by computing a mask with shifts. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | Merge commit '72cf2d4f0e181d0d3a3122e04129c58a95da713e' into upstream-mergeMarcelo Tosatti2009-09-141-2/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '72cf2d4f0e181d0d3a3122e04129c58a95da713e': Fix sys-queue.h conflict for good Try to fix BSD breakage by 806b60248218bd5f74a8b070f5a99a864e8e51c6 Include sys-queue.h early to override system queue definitions on BSD Unbreak BSD: use qemu_fdatasync instead of fdatasync Use proper format conversion specifier when printing size_t value audio: remove lsbindex/popcount in favour of host-utils's ctz32 alsa: poll mode handling oss: poll mode handling audio: poll mode infrastructure gus: Do not manually free the state, qdev does it for us oss: Unbreak mmaping the ability to mmap oss fd on Linux Conflicts: exec.c kvm.h sysemu.h vl.c Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * Fix sys-queue.h conflict for goodBlue Swirl2009-09-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Our file sys-queue.h is a copy of the BSD file, but there are some additions and it's not entirely compatible. Because of that, there have been conflicts with system headers on BSD systems. Some hacks have been introduced in the commits 15cc9235840a22c289edbe064a9b3c19c5f49896, f40d753718c72693c5f520f0d9899f6e50395e94, 96555a96d724016e13190b28cffa3bc929ac60dc and 3990d09adf4463eca200ad964cc55643c33feb50 but the fixes were fragile. Solution: Avoid the conflict entirely by renaming the functions and the file. Revert the previous hacks. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* | Merge commit '752ff2fa3188f8bd9a105024ab65f6fe53736126' into upstream-mergeMarcelo Tosatti2009-09-141-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '752ff2fa3188f8bd9a105024ab65f6fe53736126': vmstate: rename run_after_load() -> post_load() vmstate: add sensible arguments to vmstate_unregister() Make get_ticks_per_sec() a static inline timers: move them to VMState timers: Createt TimersState and put all timers state there Unexport ticks_per_sec variable. Create get_ticks_per_sec() function timers: remove useless check Remove SaveVM v2 support Conflicts: savevm.c Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * Unexport ticks_per_sec variable. Create get_ticks_per_sec() functionJuan Quintela2009-09-111-1/+1
| | | | | | | | | | Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '4c0960c0c483fffc5f8e1dab169d946ac295bf44' into upstream-mergeAvi Kivity2009-08-301-3/+3
|\| | | | | | | | | | | | | | | | | | | | | * commit '4c0960c0c483fffc5f8e1dab169d946ac295bf44': kvm: Simplify cpu_synchronize_state() Conflicts: hw/apic.c target-i386/machine.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * kvm: Simplify cpu_synchronize_state()Avi Kivity2009-08-271-3/+3
| | | | | | | | | | | | | | | | | | | | | | cpu_synchronize_state() is a little unreadable since the 'modified' argument isn't self-explanatory. Simplify it by making it always synchronize the kernel state into qemu, and automatically flush the registers back to the kernel if they've been synchronized on this exit. Signed-off-by: Avi Kivity <avi@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '4dd75c702c96ec84db4efe24fcc80a4d7bb32df2' into upstream-mergeAvi Kivity2009-08-241-0/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '4dd75c702c96ec84db4efe24fcc80a4d7bb32df2': make pthreads mandatory qemu: move virtio-pci.o to near pci.o char: Emit 'CLOSED' events on char device close cleanup cpu-exec.c, part 0/N: consolidate handle_cpu_signal unify popen/fopen qemu wrappers Only build osdep once Conflicts: block/raw-posix.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * cleanup cpu-exec.c, part 0/N: consolidate handle_cpu_signalNathan Froyd2009-08-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | handle_cpu_signal is very nearly copy-paste code for each target, with a few minor variations. This patch sets up appropriate defaults for a generic handle_cpu_signal and provides overrides for particular targets that did things differently. Fixing things like the persistent (XXX: use sigsetjmp) should now become somewhat easier. Previous comments on this patch suggest that the "activate soft MMU for this block" comments refer to defunct functionality. I have removed such blocks for the appropriate targets in this patch. Signed-off-by: Nathan Froyd <froydnj@codesourcery.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '1452411b25fb207e7f442e5a5128f34b4939d31c' into upstream-mergeAvi Kivity2009-08-247-463/+454
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '1452411b25fb207e7f442e5a5128f34b4939d31c': (38 commits) Route PC irqs to ISA bus instead of i8259 directly Makefile: fixed rule TAGS QEMU set irq0override in fw_cfg SMART ATA Functionality Add missing linefeed in error message Clean up VGA type selection; far too many variables being used to track one state leads to confusion if new variables are added. When using stdio monitor and VNC display, one can set or clear a VNC password; this should set or turn off VNC authentication as well. Don't segfault when changing VNC password on an SDL display. Fix detached migration with exec. Do not disable autostart for live migration make vga screen_dump use DisplayState properly Restore consistent formatting es1370: Remove unused indirection of PCIES1370State and ES1370State Fix device name completion for 'eject' Revert my commit c00a9de060124a988bd9847c095e5836488c6f01 Fix segfault of qemu-system-arm with PXA target sdl.c: support 32 bpp cursors Use corect depth from DisplaySurface in vmware_vga.c Remove the unnecessary and only global in musicpal.c Make musicpal.c use the I2C device and the Marvell 88w8618 audio device ... Conflicts: hw/pc.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * Replace REGX with PRIx64Blue Swirl2009-08-163-5/+4
| | | | | | | | Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
| * Replace local ADDRX/PADDRX macros with TARGET_FMT_lx/plxBlue Swirl2009-08-165-174/+173
| | | | | | | | Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
| * Replace always_inline with inlineBlue Swirl2009-08-166-285/+278
| | | | | | | | | | | | We define inline as always_inline. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* | Merge branch 'master' of git://git.sv.gnu.org/qemuAvi Kivity2009-08-045-33/+85
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'master' of git://git.sv.gnu.org/qemu: (30 commits) linux-user: make FUTEX_* calls honor timeout parameter enable NPTL for ppc-linux-user targets in configure linux-user: handle POWERPC_EXCP_STCX target-ppc: add exceptions for conditional stores target-ppc: retain l{w,d}arx loaded value target-ppc: add cpu_set_tls target-ppc: fix cpu_clone_regs Fix Sparse warning about missing prototype Fix Sparse warning about "expression using sizeof on a function" Add missing "static" More NULL pointer fixes Fix Sparse warnings: "Using plain integer as NULL pointer" PPC: convert Uni-north to qdev: also fixes Mac99 machine crash PPC: convert Grackle to qdev Option rom makefile fixes Save/restore ARMv6 MMU state esp: fix interrupt register read sparc64 flush pending conditional evaluations before exposing cpu state Fix SDL zooming with pl110 (cf. d3ffcafe25b5966b351ea6100160c2156688f22f) e1000.c doesn't properly emulate EERD and ICS registers ... Conflicts: target-ppc/cpu.h Signed-off-by: Avi Kivity <avi@redhat.com>
| * target-ppc: add exceptions for conditional storesNathan Froyd2009-08-032-20/+56
| | | | | | | | | | Signed-off-by: Nathan Froyd <froydnj@codesourcery.com> Signed-off-by: malc <av1474@comtv.ru>
| * target-ppc: retain l{w,d}arx loaded valueNathan Froyd2009-08-035-10/+17
| | | | | | | | | | | | | | | | | | We do this so we can check on the corresponding stc{w,d}x. whether the value has changed. It's a poor man's form of implementing atomic operations and is valid only for NPTL usermode Linux emulation. Signed-off-by: Nathan Froyd <froydnj@codesourcery.com> Signed-off-by: malc <av1474@comtv.ru>
| * target-ppc: add cpu_set_tlsNathan Froyd2009-08-031-0/+11
| | | | | | | | | | Signed-off-by: Nathan Froyd <froydnj@codesourcery.com> Signed-off-by: malc <av1474@comtv.ru>
| * target-ppc: fix cpu_clone_regsNathan Froyd2009-08-031-3/+1
| | | | | | | | | | | | | | | | We only need to make sure that the clone syscall looks like it succeeded, not clobber 60% of the register set. Signed-off-by: Nathan Froyd <froydnj@codesourcery.com> Signed-off-by: malc <av1474@comtv.ru>
* | Merge commit 'eb82284f180196f911fd70ebf0cddfbfdf5af3e3' into upstream-mergeAvi Kivity2009-07-294-20/+20
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'eb82284f180196f911fd70ebf0cddfbfdf5af3e3': (38 commits) simplify brlapi selection simplify curses library selection Define and use xen libs in a single place indent with 2 spaces sdl tests remove sdl_static. Just do the right thing if static is yes target_softmmu is undefined at that point instead of setup sdl_x11 just add -lX11 to sdl_libs Calculate sdl_libs and sdl_flags and use them everywhere sdl_config value was always sdl-config the else part of this test is obsolete We are testing for sdl = yes inside the else part of the test if sdl = yes Use CONFIG_POSIX to simplify Makefile Add CONFIG_POSIX rename WORDS_BIGENDIAN to HOST_WORDS_BIGENDIAN rename DEBUG_EXEC to CONFIG_DEBUG_EXEC rename DEBUG_TCG to CONFIG_DEBUG_TCG rename HAVE_BYTESWAP_H to CONFIG_BYTESWAP_H rename HAVE_GPROF to TARGET_GPROF rename HAVE_MACHINE_BSWAP_H to CONFIG_MACHINE_BSWAP_H rename HAVE_FNMATCH_H to CONFIG_FNMATCH rename HAVE_IOVEC to CONFIG_IOVEC ... Conflicts: configure Signed-off-by: Avi Kivity <avi@redhat.com>
| * rename WORDS_BIGENDIAN to HOST_WORDS_BIGENDIANJuan Quintela2009-07-273-19/+19
| | | | | | | | | | Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * Rename HAVE_FDT to CONFIG_FDT and define it also in MakefileJuan Quintela2009-07-271-1/+1
| | | | | | | | | | Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '452e475196a3f8b6b96d16bbaca727ebc1278a97' into upstream-mergeAvi Kivity2009-07-282-12/+26
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '452e475196a3f8b6b96d16bbaca727ebc1278a97': (55 commits) introduce on_vcpu qemu-io: reject invalid pattern qemu-io: Rework alloc command qmu-img: fix qemu-img convert to generate a valid image when the source referenced a backing file vmdk: Fix backing file handling use struct initializer for audio.c Add save/restore support to the LSI logic SCSI device model. Handle BH's queued by AIO completions in qemu_aio_flush() Fake dirty loggin when it's not there Use correct input constant Fix warning in kvm-all.c Set PVR in sregs Enable PPC KVM for non-embedded Sparc32: convert Sun4c interrupt controller to qdev Sparc32: convert SBI to qdev Fix CONFIG_PROFILER Sparc32/64: use 64 bit type for memory size qdev: add 64 bit type Sparc64: refactor kernel init Sparc64: refactor CPU init ... Conflicts: kvm-all.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * Use correct input constantAlexander Graf2009-07-221-1/+9
| | | | | | | | | | | | | | | | | | 440 and desktop codes use different input constants for interrupt indication. Let's use the respective ones for KVM. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * Set PVR in sregsAlexander Graf2009-07-221-1/+7
| | | | | | | | | | | | | | | | | | | | | | We need to tell the kernel about some initial CPU state we don't have yet, so let's use the "sregs" IOCTL for that and simply put the Processor Version Register in there. Now the kernel knows which guest CPU to virtualize. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * Fix most warnings (errors with -Werror) when debugging is enabledBlue Swirl2009-07-201-10/+10
| | | | | | | | | | | | | | I used the following command to enable debugging: perl -p -i -e 's/^\/\/#define DEBUG/#define DEBUG/g' * */* */*/* Signed-off-by: Blue Swirl <blauwirbel@gmail.com>