vga: Cleanup dirty logging (Jan Kiszka)
In theory, there are no more quirks in the KVM slot management thatrequires dirty log start/stop all over the place. We just have to startthe logging each time the mapping may have changed. This patch dropsvga_dirty_log_stop for both standard and cirrus VGA. It also reverts...
vga: Fix inconsistent tracking of map_addr (Jan Kiszka)
Only track video RAM mapping in map_addr and use the correct RAM size.Furthermore, make sure the reset the address in case unmapping tookplace via PCI reconfiguration.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>...
kvm: improve handling of overlapping slots (Jan Kiszka)
This reworks the slot management to handle more patterns ofcpu_register_physical_memory*, finally allowing to reset KVM guests (sofar address remapping on reset broke the slot management).
We could actually handle all possible ones without failing, but a KVM...
kvm: Add sanity checks to slot management (Jan Kiszka)
Fail loudly if we run out of memory slot.
Make sure that dirty log start/stop works with consistent memory regionsby reporting invalid parameters. This reveals several inconsistencies inthe vga code, patch to fix them follows later in this series....
kvm: Cleanup unmap condition in kvm_set_phys_mem (Jan Kiszka)
Testing for TLB_MMIO on unmap makes no sense as A) that flag belongs toCPUTLBEntry and not to io_memory slots or physical addresses and B) wealready use a different condition before mapping. So make this test...
kvm: Apply SMM-already-initialized workaround on reset (Jan Kiszka)
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7136 c046a42c-6fe2-441c-8c8c-71466251a162
kvm: Sync CPU state on reset (Jan Kiszka)
Make sure KVM gets informed about the reset CPU state.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7135 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user: fix inotify syscalls
Configure test was broken, so the breakage of the #ifdef'dcode was not noticed.
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7134 c046a42c-6fe2-441c-8c8c-71466251a162
Revert "target-mips: fix call to check_*() functions"
This reverts commit r7127, r7132 is a better fix for that.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7133 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: simplify exception generation
There is no need to exit the tb after a call to helper_raise_exceptionas it already calls cpu_loop_exit().
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7132 c046a42c-6fe2-441c-8c8c-71466251a162
Translate signal values in exit status.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7131 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user: fix getcwd syscall
The patch called "prefer glibc over direct syscalls" (commit 7118) hasreplaced the getcwd syscall with a call to the glibc. With this change,the syscall is returning -1 in error case and 0 otherwise.This is problematic as the sys_getcwd syscall should return the number...
target-ppc: mark a few helpers TCG_CALL_CONST and/or TCG_CALL_PURE
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7129 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: fix revision r7126
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7128 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: fix call to check_*() functions
check_*() functions may in fine call generate_exception(), which endsby a call to tcg_gen_exit_tb(). As a consequence, we have to make surethat no TCG temp variables are crossing a check_*() function.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>...
target-mips: optimize gen_flt3_ldst()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7126 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: optimize gen_flt_ldst()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7125 c046a42c-6fe2-441c-8c8c-71466251a162
Stop translation after a syscall instruciton.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7124 c046a42c-6fe2-441c-8c8c-71466251a162
configure: display debug tcg status in summary
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7123 c046a42c-6fe2-441c-8c8c-71466251a162
tcg: make sure NDEBUG is defined before including <assert.h>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7122 c046a42c-6fe2-441c-8c8c-71466251a162
fix a typo introduced in r7118
Reported by Stefan Weil
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7121 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user: fix warnings introduced by r7118
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7120 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user: proper exit code for uncaught signals
The proper exit code for dieing from an uncaught signal is -<signal>.The kernel doesn't allow exit() or _exit() to pass a negative value.To get the proper exit code we need to actually die from an uncaught signal....
linux-user: prefer glibc over direct syscalls
The openat/*at syscalls are incredibly common with modern coreutils,calling them directly via syscalls breaks for example fakeroot. Useglibc stubs whenever directly available and provide old syscallcalling for people still using older libc....
linux-user: removed unnecessary MAX_SOCK_ADDR checks for socket syscalls
- This check is not needed because kernel will check whether given buffer is too small and there is no upper limit for size of the buffer.
From: Mika Westerberg <mika.westerberg@iki.fi>...
linux-user: unix sockets - fix running dbus
dbus sends too short (according to man 7 unix) addrlen for it'sunix socket. I've been told that happens with other applicationsas well. Linux kernel doesn't appear to mind, so I guesswe whould be tolerant as well. Expand sockaddr with +1 to fit...
linux-user: add support for passing contents of argv0
Added switch -0 (zero) which can be used to pass argv0 totarget process. The main use is for a binfmt_misc wrapper whenthe "P - preserve-argv0" setting is used.
From: Mika Westerberg
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>...
linux-user: Added posix message queue syscalls except mq_notify
Signed-off-by: Lionel Landwerlin <lionel.landwerlin@openwide.fr>Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>Signed-off-by: Riku Voipio <riku.voipio@iki.fi>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>...
Simplify reconfiguration
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7113 c046a42c-6fe2-441c-8c8c-71466251a162
Implement sonic netcard (MIPS Jazz)
Attached patch adds emulation of a SONIC netcard. This card has been usedin MIPS Jazz machines and in some Apple Mac 68K.
Emulation has been done using dp83932 specification, but can be enhanced(if needed) to also emulate dp83916, dp83934 or dp83936 chipsets....
target-alpha: fix emulation of ecb
As ECB is a hint, it can be safely emulated as a nop.
This change is necessary to boot Tru64.
Signed-off-by: Tristan Gingold <gingold@adacore.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7111 c046a42c-6fe2-441c-8c8c-71466251a162
Call configure automatically when needed
Automatically rerun configure when it is needed.
Signed-off-by: Stefan Weil <weil@mail.berlios.de>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7110 c046a42c-6fe2-441c-8c8c-71466251a162
block-vpc: Don't silently create smaller image than requested
The algorithm from the VHD specification for CHS calculation silently limitsimages to 127 GB which may confuse a user who requested a larger image. Betteroutput an error message and abort.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>...
target-alpha: lower parent irq when irq is lowered.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7108 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: mark zero register as unused.
Suggested by Stuart Brady.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7107 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: variable names consistency
Use a consistent naming of arguments and TCG variables across the wholefile, the same as in tcg/tcg-op.h:- arg1, arg2, ... for arguments- t0, t1, t2, ... for variables
Add a --enable-debug-tcg option to configure
This patch allows DEBUG_TCGV to be defined (and also prevents NDEBUGfrom being defined) when passing an option to the configure script.This should help to prevent any accidental changes that enableDEBUG_TCGV in tcg/tcg.h from being committed in future, and may...
Probe via #define check for OpenBSD and *Solaris
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7104 c046a42c-6fe2-441c-8c8c-71466251a162
Fix OpenSolaris gcc4 warnings: iovec type mismatches, missing 'static'
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7103 c046a42c-6fe2-441c-8c8c-71466251a162
Fix OpenSolaris softfloat warnings
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7102 c046a42c-6fe2-441c-8c8c-71466251a162
Skip KVM probe for OpenSolaris
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7101 c046a42c-6fe2-441c-8c8c-71466251a162
Probe for OpenSolaris curses missing resize_term
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7100 c046a42c-6fe2-441c-8c8c-71466251a162
Fix ppc-softmmu warnings on OpenBSD host
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7099 c046a42c-6fe2-441c-8c8c-71466251a162
Recognise evdev(xx)_aliases(yy) and xfree86(xx)_aliases(yy) as keymap names.
Newer Xorg use these with non-default kemaps (such as the ThinkPad keymap).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7097 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: fix commits 7040 and 7042
CPU state should also be saved for helpers that in fine callcpu_unlink_tb(). Reported by Stefan Weil.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7096 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: fix commit 7046
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7095 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: don't map zero register as a TCG global
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7094 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: optimize gen_ldst()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7093 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: optimize gen_arith_imm()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7092 c046a42c-6fe2-441c-8c8c-71466251a162
Add named initializers.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7091 c046a42c-6fe2-441c-8c8c-71466251a162
Remove redundant ram_require machine properly.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7090 c046a42c-6fe2-441c-8c8c-71466251a162
Remove more redundant ram size checks.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7089 c046a42c-6fe2-441c-8c8c-71466251a162
Implement dynamic guest ram allocation.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7088 c046a42c-6fe2-441c-8c8c-71466251a162
Fix/remove bogus ram size checks.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7087 c046a42c-6fe2-441c-8c8c-71466251a162
Allocate enough vram for 24-bit planes.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7086 c046a42c-6fe2-441c-8c8c-71466251a162
Remove code phys_ram_base uses.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7085 c046a42c-6fe2-441c-8c8c-71466251a162
BSD user: initial support for i386 and x86_64 targets
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7084 c046a42c-6fe2-441c-8c8c-71466251a162
Compile target independent files only once
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7083 c046a42c-6fe2-441c-8c8c-71466251a162
Remove reserved registers from tcg_target_reg_alloc_order
Noticed by Andreas Faerber
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7082 c046a42c-6fe2-441c-8c8c-71466251a162
Whack [LS]MW
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7081 c046a42c-6fe2-441c-8c8c-71466251a162
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7080 c046a42c-6fe2-441c-8c8c-71466251a162
mips malta: fix commit 7064
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7079 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: fix commit r7076
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7078 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: optimize gen_movcf_d()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7077 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: optimize a few tcg_temp_free()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7076 c046a42c-6fe2-441c-8c8c-71466251a162
target-alpha: remove amask helper
The direct use of helper_amask in translate.c was bogus (as env is notassigned). Directly code amask in tcg and remove the helper.
Signed-off-by: Tristan Gingold <gingold@adacore.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>...
target-alpha: remove helper_load_implver
There is no need to use an helper. Directly load the value with tcg code.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7074 c046a42c-6fe2-441c-8c8c-71466251a162
target-alpha: overflow condition for sublv and subqv
The conditions to detect overflow in sub operations was wrong.
This patch is necessary to boot Tru64.
Clean up rc4030 init function
At the moment, rc4030 init function is returning some function pointers.Mark them non-static and define them in header file instead.Export also a function to read/write DMA memory, it will be required bythe netcard.
Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>...
Make PCI config status register read-only
From the documentation I can find, this register is supposed to be read-only.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7070 c046a42c-6fe2-441c-8c8c-71466251a162
Wean device tree code off phys_ram_base.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7068 c046a42c-6fe2-441c-8c8c-71466251a162
Yet more phys_ram_base elimination.
Signed-off-by: Paul Brook <paul@cofdesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7067 c046a42c-6fe2-441c-8c8c-71466251a162
BSD user: add support for OpenBSD/amd64 host
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7066 c046a42c-6fe2-441c-8c8c-71466251a162
BSD user: add support for OpenBSD/i386 host
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7065 c046a42c-6fe2-441c-8c8c-71466251a162
More phys_ram_base elimination.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7064 c046a42c-6fe2-441c-8c8c-71466251a162
Clean up VGA ram allocation.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7063 c046a42c-6fe2-441c-8c8c-71466251a162
Fix RTC breakage from r7031.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7062 c046a42c-6fe2-441c-8c8c-71466251a162
Musicpal ram access cleanup.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7061 c046a42c-6fe2-441c-8c8c-71466251a162
More phys_ram_base removal.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7060 c046a42c-6fe2-441c-8c8c-71466251a162
Cleanup SPARC/TCX framebuffer allocation.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7059 c046a42c-6fe2-441c-8c8c-71466251a162
Use cpu_physical_memory_write_rom instead of memcpy.
Signed-off-by: Glauber Costa <glommer@redhat.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7058 c046a42c-6fe2-441c-8c8c-71466251a162
Register a single area for vga bios and option roms
Those guys are not different in nature. They're all roms,not blessed with the graces of being written to. So there'snot need to issue multiple requests to memory registration areas:just treat them as brothers, and put them all in the same...
Use load_image_targphys and avoid phys_ram_base.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7056 c046a42c-6fe2-441c-8c8c-71466251a162
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7055 c046a42c-6fe2-441c-8c8c-71466251a162
Use load_image_targphys.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7054 c046a42c-6fe2-441c-8c8c-71466251a162
Use guest memory access functions when setting up arm boorloader.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7053 c046a42c-6fe2-441c-8c8c-71466251a162
Use qemu_ram_alloc.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7052 c046a42c-6fe2-441c-8c8c-71466251a162
Enable generic accepts-anything cpu by default for usermode emulation.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7051 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user: fix fstatat64()/newfstatat() syscall implementation
There are two different syscall names for the same goal.
On systems with sizeof(long) 64 it calls newfstatat.On systems with sizeof(long) 32 it calls fstatat64.
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>...
pcnet: Avoid double conversion via PHYSADDR
rdra and tdra are already kept converted in the pcnet state structure.Avoid converting derivatives a second time. The same case with the localvariable xmit_cxda: it already contains a converted cxda address. This...
apic: Fix access to non-existent APIC
When running with M isapc, there is no env>apic_state. Fixcpu_get/set_apic_* helpers to handle this corner case gracefully.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>...
Use stdint.h for integral data types and definitions
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7047 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: optimize gen_farith()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7046 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: optimize gen_flt3_arith()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7045 c046a42c-6fe2-441c-8c8c-71466251a162
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7044 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: optimize gen_arith()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7043 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: optimize decode_opc()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7042 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: optimize gen_cp1()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7041 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: optimize gen_cp0()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7040 c046a42c-6fe2-441c-8c8c-71466251a162
factor out setting pc in gdbstub
The code for handling the c and s packets both contain code for settingthe pc. Move that code out to a common function.
Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>Acked-by: Jan Kiszka <jan.kiszka@siemens.com>...