qemu
15 years agosoftfloat-native: fix *nan()
aurel32 [Mon, 15 Dec 2008 17:14:12 +0000 (17:14 +0000)]
softfloat-native: fix *nan()

Fix float64_is_nan()
Fix floatx80_is_signaling_nan()
Add floatx80_is_nan()

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6049 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: correctly propagate NaN in division
aurel32 [Mon, 15 Dec 2008 17:14:05 +0000 (17:14 +0000)]
target-ppc: correctly propagate NaN in division

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6048 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: fix fload_invalid_op_excp()
aurel32 [Mon, 15 Dec 2008 17:13:55 +0000 (17:13 +0000)]
target-ppc: fix fload_invalid_op_excp()

The argument is a value, not a flag. Update the tests accordingly. Also
set a correct default value for NaN.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6047 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: use a correct value to represent 1.0
aurel32 [Mon, 15 Dec 2008 17:13:48 +0000 (17:13 +0000)]
target-ppc: use a correct value to represent 1.0

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6046 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: update nip before calling an helper in FP instructions
aurel32 [Mon, 15 Dec 2008 17:13:39 +0000 (17:13 +0000)]
target-ppc: update nip before calling an helper in FP instructions

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6045 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: fix TCGv type in fcmpu/fcmpo
aurel32 [Mon, 15 Dec 2008 17:13:31 +0000 (17:13 +0000)]
target-ppc: fix TCGv type in fcmpu/fcmpo

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6044 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoconfigure: also switch ppc64abi32 and ppcemb to CONFIG_SOFTFLOAT
aurel32 [Mon, 15 Dec 2008 17:13:19 +0000 (17:13 +0000)]
configure: also switch ppc64abi32 and ppcemb to CONFIG_SOFTFLOAT

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6043 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: add signed fields to ppc_avr_t.
aurel32 [Mon, 15 Dec 2008 07:03:06 +0000 (07:03 +0000)]
target-ppc: add signed fields to ppc_avr_t.

Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6042 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoconfigure: switch to CONFIG_SOFTFLOAT for PPC
aurel32 [Mon, 15 Dec 2008 06:34:37 +0000 (06:34 +0000)]
configure: switch to CONFIG_SOFTFLOAT for PPC

softfloat-native currently only supports one FPU context, while we need
at least 3 of them for the PPC target (FPU, SPE, AVR).

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6041 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoconfigure: close stdout for the remaining calls to cc.
balrog [Mon, 15 Dec 2008 03:15:36 +0000 (03:15 +0000)]
configure: close stdout for the remaining calls to cc.

r5953 managed to quite most colorgcc errors leakage to console
but not all of them.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6040 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd ARM board names still missing from qemu-doc.
balrog [Mon, 15 Dec 2008 02:12:20 +0000 (02:12 +0000)]
Add ARM board names still missing from qemu-doc.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6039 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoARM: basic SX1-cellphone sysemu support (Jean-Christophe PLAGNIOL-VILLARD).
balrog [Mon, 15 Dec 2008 02:05:00 +0000 (02:05 +0000)]
ARM: basic SX1-cellphone sysemu support (Jean-Christophe PLAGNIOL-VILLARD).

The TSC2102 chip is not included in documentation because a patch is
pending.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6038 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix the PXA2xx LCD dirty page detection a little more.
balrog [Mon, 15 Dec 2008 01:35:39 +0000 (01:35 +0000)]
Fix the PXA2xx LCD dirty page detection a little more.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6037 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: fix frsp instruction
aurel32 [Mon, 15 Dec 2008 01:00:17 +0000 (01:00 +0000)]
target-ppc: fix frsp instruction

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6036 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: fix mtfsf and mtfsfi instructions
aurel32 [Mon, 15 Dec 2008 00:30:28 +0000 (00:30 +0000)]
target-ppc: fix mtfsf and mtfsfi instructions

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6035 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: fix fcmp{o,u} instructions
aurel32 [Sun, 14 Dec 2008 19:34:09 +0000 (19:34 +0000)]
target-ppc: fix fcmp{o,u} instructions

The instructions are specified to update the condition register even if
an error is to be signaled because of NaN input.

Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6034 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: remove FPRF optimization
aurel32 [Sun, 14 Dec 2008 18:59:08 +0000 (18:59 +0000)]
target-ppc: remove FPRF optimization

FPRF optimization is totally broken, remove it.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6033 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: fix mtfsb0 and mtfsb1
aurel32 [Sun, 14 Dec 2008 18:40:58 +0000 (18:40 +0000)]
target-ppc: fix mtfsb0 and mtfsb1

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6032 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: display FPSCR in register dump
aurel32 [Sun, 14 Dec 2008 18:40:49 +0000 (18:40 +0000)]
target-ppc: display FPSCR in register dump

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6031 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoRevert "target-ppc: use -Werror to make sure no new warning is added"
aurel32 [Sun, 14 Dec 2008 17:30:18 +0000 (17:30 +0000)]
Revert "target-ppc: use -Werror to make sure no new warning is added"

This reverts commit 6028.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6030 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotcg: kill two warnings
aurel32 [Sun, 14 Dec 2008 17:29:58 +0000 (17:29 +0000)]
tcg: kill two warnings

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6029 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: use -Werror to make sure no new warning is added
aurel32 [Sun, 14 Dec 2008 11:12:28 +0000 (11:12 +0000)]
target-ppc: use -Werror to make sure no new warning is added

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6028 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: fix mbar opcode
aurel32 [Sun, 14 Dec 2008 11:12:20 +0000 (11:12 +0000)]
target-ppc: fix mbar opcode

Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6027 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: fix fsel instruction
aurel32 [Sun, 14 Dec 2008 11:12:10 +0000 (11:12 +0000)]
target-ppc: fix fsel instruction

Fix fsel instruction.  Eliminate unneeded temporaries while we're at it,
too.

Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6026 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoUse float_relation_* constants
aurel32 [Sun, 14 Dec 2008 11:12:02 +0000 (11:12 +0000)]
Use float_relation_* constants

Use float_relation_* constants rather than magic numbers in
softfloat-native comparison routines.

Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6025 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoIgnore .pc and patches used by quilt
blueswir1 [Sun, 14 Dec 2008 10:32:11 +0000 (10:32 +0000)]
Ignore .pc and patches used by quilt

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6024 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoUse a hex value instead of possibly ambiguous 8 bit character
blueswir1 [Sun, 14 Dec 2008 09:30:41 +0000 (09:30 +0000)]
Use a hex value instead of possibly ambiguous 8 bit character

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6023 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoSVN property and .gitignore fixes (Stuart Brady)
blueswir1 [Sun, 14 Dec 2008 09:22:41 +0000 (09:22 +0000)]
SVN property and .gitignore fixes (Stuart Brady)

Remove dyngen and dyngen.dSYM from svn property svn:ignore
Add *-bsd-user and qemu-nbd.pod to the svn property svn:ignore and .gitignore

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6022 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoRemove CRs
blueswir1 [Sun, 14 Dec 2008 08:53:17 +0000 (08:53 +0000)]
Remove CRs

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6021 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd missing newline at the end of file
blueswir1 [Sun, 14 Dec 2008 08:50:18 +0000 (08:50 +0000)]
Add missing newline at the end of file

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6020 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix PXA2xx framebuffer dirty checking.
balrog [Sat, 13 Dec 2008 23:57:01 +0000 (23:57 +0000)]
Fix PXA2xx framebuffer dirty checking.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6019 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoInitialize msr list size properly in KVM
aliguori [Sat, 13 Dec 2008 20:49:31 +0000 (20:49 +0000)]
Initialize msr list size properly in KVM

Hollis Blanchard noticed that the last commit was not sufficient.  We also need
to initialize the msr size in our newly allocated list.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6018 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoCorrectly initialize msr list in KVM
aliguori [Sat, 13 Dec 2008 20:41:58 +0000 (20:41 +0000)]
Correctly initialize msr list in KVM

I believe this was spotted by Gerd Hoffman but I can't find his patch
now.  This will cause very subtle corruption on the heap because we
don't allocate the appropriately sized buffer.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6017 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-sh4: make the initial value of SR easier to read
aurel32 [Sat, 13 Dec 2008 19:27:22 +0000 (19:27 +0000)]
target-sh4: make the initial value of SR easier to read

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6016 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-sh4: don't disable FPU instructions in user mode
aurel32 [Sat, 13 Dec 2008 19:27:14 +0000 (19:27 +0000)]
target-sh4: don't disable FPU instructions in user mode

Based on a patch from Lionel Landwerlin.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6015 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-sh4: disable debug code
aurel32 [Sat, 13 Dec 2008 18:57:46 +0000 (18:57 +0000)]
target-sh4: disable debug code

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6014 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-sh4: add prefi, icbi, synco
aurel32 [Sat, 13 Dec 2008 18:57:37 +0000 (18:57 +0000)]
target-sh4: add prefi, icbi, synco

(Vladimir Prus)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6013 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-sh4: add SH7785 as CPU option
aurel32 [Sat, 13 Dec 2008 18:57:28 +0000 (18:57 +0000)]
target-sh4: add SH7785 as CPU option

(Vladimir Prus)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6012 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoTCG x86/x86-64: use move with zero-extend for loads/stores
aurel32 [Sat, 13 Dec 2008 18:57:21 +0000 (18:57 +0000)]
TCG x86/x86-64: use move with zero-extend for loads/stores

Starting with version 4.3, gcc returns the result of a function in
rax/eax/ax/al instead of rax/eax, depending of the return type. As
a consequence we should use a zero extend moe in TCG loads/stores.

See http://gcc.gnu.org/ml/gcc/2008-01/msg00052.html for more details.

A big thanks to malc who founds the problem and wrote the x86 patch.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6011 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agovnc: Fix crash on 'info vnc' after 'change vnc none'
aurel32 [Sat, 13 Dec 2008 18:57:12 +0000 (18:57 +0000)]
vnc: Fix crash on 'info vnc' after 'change vnc none'

vnc_state->display is set to NULL after "change vnc none" but vnc_state itself
is still valid.

(James Ko)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6010 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix smsw for x86_64 guest and bigendian host case
malc [Sat, 13 Dec 2008 15:51:14 +0000 (15:51 +0000)]
Fix smsw for x86_64 guest and bigendian host case

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6009 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-i386: SVM: acknowledge interrupt only after it is taken
aurel32 [Sat, 13 Dec 2008 12:33:02 +0000 (12:33 +0000)]
target-i386: SVM: acknowledge interrupt only after it is taken

SVM specifies that the V_IRQ mask is only to be removed, if the
interrupt that is to be delivered actually is delivered.

As of the SVM rewrite, this mask is always unmasked when the main cpu
loop is processed, leaving a corner case where calling the interrupt
handler causes a #PF. In that case (booting Linux / starting gfxboot)
the current implementation tells the VMM the interrupt is taken, even
though it is not.

This patch modifies the VIRQ unmasking to occur after do_interrupt,
making gfxboot work again.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6008 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: keep only the table version for mfrom
aurel32 [Sat, 13 Dec 2008 12:30:21 +0000 (12:30 +0000)]
target-ppc: keep only the table version for mfrom

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6007 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: use accessors to access fp_status exception_flags
aurel32 [Sat, 13 Dec 2008 12:13:33 +0000 (12:13 +0000)]
target-ppc: use accessors to access fp_status exception_flags

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6006 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agox86 cleanup
blueswir1 [Sat, 13 Dec 2008 11:49:17 +0000 (11:49 +0000)]
x86 cleanup

Remove some unnecessary includes, add needed includes, move prototypes to
cpu.h to suppress missing prototype warnings.

Remove unused functions and prototypes (cpu_x86_flush_tlb, cpu_lock,
cpu_unlock, restore_native_fp_state, save_native_fp_state).

Make some functions and data static (f15rk, parity_table, rclw_table,
rclb_table, raise_interrupt, fpu_raise_exception), they are not used
outside op_helper.c anymore.

Make some x86_64 and user only code conditional to avoid warnings.

Document where each function is implemented in cpu.h and exec.h.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6005 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: fix compilation with PRECISE_EMULATION
aurel32 [Sat, 13 Dec 2008 11:46:36 +0000 (11:46 +0000)]
target-ppc: fix compilation with PRECISE_EMULATION

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6004 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: fix compilation with CONFIG_SOFTFLOAT
aurel32 [Sat, 13 Dec 2008 11:46:27 +0000 (11:46 +0000)]
target-ppc: fix compilation with CONFIG_SOFTFLOAT

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6003 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agosoftfloat-native: add float32_is_nan()
aurel32 [Sat, 13 Dec 2008 11:46:15 +0000 (11:46 +0000)]
softfloat-native: add float32_is_nan()

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6002 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix warning about unused shm_regions
blueswir1 [Sat, 13 Dec 2008 11:37:02 +0000 (11:37 +0000)]
Fix warning about unused shm_regions

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6001 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoRemove unnecessary trailing newlines
blueswir1 [Sat, 13 Dec 2008 09:32:43 +0000 (09:32 +0000)]
Remove unnecessary trailing newlines

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6000 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoRemove useless check_ops.sh
aurel32 [Sat, 13 Dec 2008 09:03:28 +0000 (09:03 +0000)]
Remove useless check_ops.sh

Suggested by Stuart Brady.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5999 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix TARGET_LONG_BITS warning in TCG
blueswir1 [Sat, 13 Dec 2008 08:16:43 +0000 (08:16 +0000)]
Fix TARGET_LONG_BITS warning in TCG

Looking at tcg/tcg.c:828, the bug that the warning indicated would show up as
incorrect PC shown in log, only on 32 bit big endian host emulating a 64 bit
target, -d op flag enabled. Now that dyngen is gone, the patch can be applied.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5998 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake sure to link librt if we need to.
aliguori [Fri, 12 Dec 2008 20:02:52 +0000 (20:02 +0000)]
Make sure to link librt if we need to.

This is really a stop-gap.  The recent thread pool changes uncovered a
deeper issue with how we use librt.  We really should be probing for
timer_create and then conditionally enabling that code.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5997 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoReplace posix-aio with custom thread pool
aliguori [Fri, 12 Dec 2008 16:41:40 +0000 (16:41 +0000)]
Replace posix-aio with custom thread pool

glibc implements posix-aio as a thread pool and imposes a number of limitations.

1) it limits one request per-file descriptor.  we hack around this by dup()'ing
file descriptors which is hideously ugly

2) it's impossible to add new interfaces and we need a vectored read/write
operation to properly support a zero-copy API.

What has been suggested to me by glibc folks, is to implement whatever new
interfaces we want and then it can eventually be proposed for standardization.
This requires that we implement our own posix-aio implementation though.

This patch implements posix-aio using pthreads.  It immediately eliminates the
need for fd pooling.

It performs at least as well as the current posix-aio code (in some
circumstances, even better).

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5996 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoPPC405EP: fix fpga write function
aurel32 [Thu, 11 Dec 2008 22:43:07 +0000 (22:43 +0000)]
PPC405EP: fix fpga write function

I'm not familiar with this device, but I'm fairly certain the writel handler is
not supposed to recurse.

Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5995 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agobaum: remove 2 warnings
aurel32 [Thu, 11 Dec 2008 22:42:58 +0000 (22:42 +0000)]
baum: remove 2 warnings

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5994 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-sh4: remove 2 warnings
aurel32 [Thu, 11 Dec 2008 22:42:50 +0000 (22:42 +0000)]
target-sh4: remove 2 warnings

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5993 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-alpha: fix 2 warnings
aurel32 [Thu, 11 Dec 2008 22:42:42 +0000 (22:42 +0000)]
target-alpha: fix 2 warnings

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5992 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: remove remaining warnings
aurel32 [Thu, 11 Dec 2008 22:42:33 +0000 (22:42 +0000)]
target-ppc: remove remaining warnings

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5991 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: remove unneeded include
aurel32 [Thu, 11 Dec 2008 22:42:25 +0000 (22:42 +0000)]
target-ppc: remove unneeded include

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5990 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: rework exception code
aurel32 [Thu, 11 Dec 2008 22:42:14 +0000 (22:42 +0000)]
target-ppc: rework exception code

... also remove two warnings.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5989 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: remove dead code
aurel32 [Thu, 11 Dec 2008 22:42:04 +0000 (22:42 +0000)]
target-ppc: remove dead code

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5988 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agopci: virtio: use pci id defines (Gerd Hoffman)
aliguori [Thu, 11 Dec 2008 21:20:03 +0000 (21:20 +0000)]
pci: virtio: use pci id defines (Gerd Hoffman)

Use the defines added by the previous patch in the virtio drivers.
Also remove the pointless vendor and device args from the
virtio_blk_init() function.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5987 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agopci: add default pci subsystem id for all devices (Gerd Hoffman)
aliguori [Thu, 11 Dec 2008 21:15:42 +0000 (21:15 +0000)]
pci: add default pci subsystem id for all devices (Gerd Hoffman)

This sets a default PCI subsystem ID for all emulated PCI devices.  PCI
specs require this, so do it.

In many cases it is enougth to know the PCI ID to handle a device
correctly.  Sometimes a device driver must identify the exact piece of
hardware (via PCI Subsystem ID) though.

What does this patch to qemu devices:

Right now the emulated PCI devices have no PCI subsystem ID, only the
PCI ID.  The discussed patch sets a default PCI subsystem ID for all
emulated devices.  Which will make the qemu devices look pretty much
like in the laptop case: all PCI subsystem IDs will point to qemu by
default.

If a driver emulates a very specific piece of hardware where it has to
emulate more than just the PCI chip, it can overwrite the PCI subsystem
ID without problems.  The es1370 driver does that for example.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5986 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix handling of disk-only snapshots (Kevin Wolf)
aliguori [Thu, 11 Dec 2008 21:06:49 +0000 (21:06 +0000)]
Fix handling of disk-only snapshots (Kevin Wolf)

When creating a snapshot with multiple qcow2 disks attached, the current
behaviour is that qemu creates a disk snapshot on all of them and
chooses one to write the VM state to.

Despite having the state only in one image, loadvm tries to restore the
VM state from the middle of nowhere if you run qemu a second time with
only one of the other images attached. In the lucky case it will fail
because there simply is no state, but it also can happen that it loads
the state of a different snapshot (the one this new one is based upon).

The fix is to write a zero VM state size to the images which don't
contain the state, and check this in loadvm.

I agree that you probably have to provoke such things intentionally to
get in a state like this with qemu itself. However, with my second patch
that adds snapshot support to qemu-img it could become a reasonable use
case to have snapshots with and without VM states on the same image.

Signed-off-by: Kevin Wolf <kwolf@suse.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5985 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix crash in kvm.c (Stefan Weil)
aliguori [Thu, 11 Dec 2008 21:03:10 +0000 (21:03 +0000)]
Fix crash in kvm.c (Stefan Weil)

Fix crash with kvm enabled.

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5984 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoRemove redundant #ifdef _BSD
blueswir1 [Thu, 11 Dec 2008 19:39:56 +0000 (19:39 +0000)]
Remove redundant #ifdef _BSD

since _BSD if already handled in osdep.c:qemu_memalign(), we don't need to
check it in the calling function again. getpagesize() is available in BSD.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5983 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoRename fls to qemu_fls
blueswir1 [Thu, 11 Dec 2008 19:37:54 +0000 (19:37 +0000)]
Rename fls to qemu_fls

Fix compiler warning on OSX, reported by Andreas Faerber.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5982 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd lost semicolons
malc [Thu, 11 Dec 2008 19:20:41 +0000 (19:20 +0000)]
Add lost semicolons

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5981 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoDon't require linux/auxvec.h, which isn't always installed with libc.
malc [Thu, 11 Dec 2008 19:12:59 +0000 (19:12 +0000)]
Don't require linux/auxvec.h, which isn't always installed with libc.

I'm cross-compiling, and linux/auxvec.h was not installed with my glibc
headers. How about this:

Don't require linux/auxvec.h, which isn't always installed with libc.

Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5980 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix compiling without MREMAP_FIXED
blueswir1 [Thu, 11 Dec 2008 19:12:25 +0000 (19:12 +0000)]
Fix compiling without MREMAP_FIXED

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5979 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAllow to register a callback with fw_cfg_add_callback()
blueswir1 [Thu, 11 Dec 2008 17:30:50 +0000 (17:30 +0000)]
Allow to register a callback with fw_cfg_add_callback()
fw_cfg_add_callback() checks if key has FW_CFG_WRITE_CHANNEL bit set
after masking the key with FW_CFG_ENTRY_MASK.

But as FW_CFG_ENTRY_MASK is ~(FW_CFG_WRITE_CHANNEL | FW_CFG_ARCH_LOCAL),
the bit is never set and function exits.

This patch corrects this by checking the bit before masking the value.

Signed-by-off: Laurent Vivier <Laurent.Vivier@bull.net>
Acked-by: Gleb Natapov <gleb@redhat.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5978 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd missing "static"
blueswir1 [Thu, 11 Dec 2008 17:29:00 +0000 (17:29 +0000)]
Add missing "static"

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5977 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix warnings introduced in r5948
malc [Thu, 11 Dec 2008 00:14:30 +0000 (00:14 +0000)]
Fix warnings introduced in r5948

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5976 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd missing static qualifier
malc [Thu, 11 Dec 2008 00:14:28 +0000 (00:14 +0000)]
Add missing static qualifier

Caught by -Wstrict-prototypes

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5975 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoadlib.c includes fmopl.h and so needs -DBUILD_Y8950=0 too
malc [Thu, 11 Dec 2008 00:14:25 +0000 (00:14 +0000)]
adlib.c includes fmopl.h and so needs -DBUILD_Y8950=0 too

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5974 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoIntroduce and use cache-utils.[ch]
malc [Wed, 10 Dec 2008 19:18:40 +0000 (19:18 +0000)]
Introduce and use cache-utils.[ch]

Thanks to Segher Boessenkool and Holis Blanchard.

AIX and Darwin cache inquiry:
http://gcc.gnu.org/ml/gcc-patches/2007-08/msg00388.html

Auxiliary vectors:
http://manugarg.googlepages.com/aboutelfauxiliaryvectors

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5973 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoIDE: Implement SEEK command
aurel32 [Wed, 10 Dec 2008 18:17:06 +0000 (18:17 +0000)]
IDE: Implement SEEK command

Signed-off-by: Justin Chevrier <theburner1@yahoo.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5972 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-sh4: Add SH bit handling to TLB
aurel32 [Wed, 10 Dec 2008 17:31:51 +0000 (17:31 +0000)]
target-sh4: Add SH bit handling to TLB

This patch adds SH bit handling to sh4's TLB, which is a part of MMU
functionality that had not been implemented in qemu.

Additionally, increment_urc() call in cpu_load_tlb() is deleted, because
the specification explicitly says that URC is not incremented by an LDTLB
instruction (at Section 3 of SH7751 Hardware manual(REJ09B0370-0400)).
Even though URC is not needed to be strictly same as HW because it is a
random number, this condition is not negligible.

Signed-off-by: Takashi YOSHII <takasi-y@ops.dti.ne.jp>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5971 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-sh4: check FD bit for FP instructions
aurel32 [Wed, 10 Dec 2008 17:31:43 +0000 (17:31 +0000)]
target-sh4: check FD bit for FP instructions

Based on a patch from Vladimir Prus <vladimir@codesourcery.com>

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5970 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd 64-bit Block Move support (Direct & Table Indirect) (Ryan Harper)
aliguori [Wed, 10 Dec 2008 15:38:47 +0000 (15:38 +0000)]
Add 64-bit Block Move support (Direct & Table Indirect) (Ryan Harper)

This patch adds support for 64-bit Block Move instructions.  There are multiple
modes for 64-bit Block moves, direct, indirect, and table indirect.  This patch
implements Direct and Table indirect moves which are needed by 64-bit windows
and SYM_CONF_DMA_ADDRESSING_MODE=2 for the Linux sym53c8xx_2 driver respectively.

Two helper functions are included to check which mode the guest is using.  For
 64-bit direct moves, we fetch a 3rd DWORD and store the value in the DBMS
register.  For Table Indirect moves, we look into the table for which register
contains the upper 32-bits of the 64-bit address.  This selector value indicates
which register to pull the value from and into dnad64 register.

Finally, lsi_do_dma is updated to use the approriate register to build a 64-bit
DMA address if required.

With this patch, Windows XP x64, 2003 SP2 x64, can now install to scsi devices.
Linux SYM_CONF_DMA_ADDRESSING_MODE=2 need a quirk fixup in Patch 4 to function
properly.

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5969 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoLSI53C895A: Rename dmbs register to dbms (Ryan Harper)
aliguori [Wed, 10 Dec 2008 15:37:33 +0000 (15:37 +0000)]
LSI53C895A: Rename dmbs register to dbms (Ryan Harper)

Register name should be: Dynamic Block Move Selector (dbms) according to page
 215 of the LSI 53C895A Technical Manual[1].

 1. http://www.lsi.com/DistributionSystem/AssetDocument/files/docs/techdocs/storage_stand_prod/SCSIControllers/lsi53c895a_tech_manual.pdf

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5968 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAccept password as an argument to 'change vnc password' monitor command (Chris Webb)
aliguori [Wed, 10 Dec 2008 15:14:13 +0000 (15:14 +0000)]
Accept password as an argument to 'change vnc password' monitor command (Chris Webb)

This allows easier use of the change vnc password monitor command from
management scripts, without having to implement expect(1)-like behaviour.

Signed-off-by: Chris Webb <chris@arachsys.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5967 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix off-by-one bug limiting VNC passwords to 7 chars (Chris Webb)
aliguori [Wed, 10 Dec 2008 15:12:57 +0000 (15:12 +0000)]
Fix off-by-one bug limiting VNC passwords to 7 chars (Chris Webb)

monitor_readline expects buf_size to include the terminating \0, but
do_change_vnc in monitor.c calls it as though it doesn't. The other site
where monitor_readline reads a password (in vl.c) passes the buffer
length
correctly.

Signed-off-by: Chris Webb <chris@arachsys.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5966 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: enable SPE and Altivec in user mode
aurel32 [Wed, 10 Dec 2008 15:02:33 +0000 (15:02 +0000)]
target-ppc: enable SPE and Altivec in user mode

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5965 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: initialize MSR appropriately in user-mode
aurel32 [Wed, 10 Dec 2008 15:02:24 +0000 (15:02 +0000)]
target-ppc: initialize MSR appropriately in user-mode

Mask the initial MSR with the mask from the PowerPC CPU definition.

Noticed by Nathan Froyd.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5964 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-i386: Fix jmp im on x86_64 when executing 32-bit code
aurel32 [Wed, 10 Dec 2008 15:02:16 +0000 (15:02 +0000)]
target-i386: Fix jmp im on x86_64 when executing 32-bit code

When running grub-install (32-bit) on an x86_64 Linux system in qemu, it
hangs on a pagefault forever, because an integer overflow occurs on the
IP on "jmp im". This patch masks overflows for 32 bit IPs on a 64 bit
system, just like it is done for 16 bit IPs already.

Using this patch, x86_64 openSUSE installation works again.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Kevin Wolf <kwolf@suse.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5963 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMIPS Magnum: fix memory-mapped i8042
aurel32 [Wed, 10 Dec 2008 15:02:07 +0000 (15:02 +0000)]
MIPS Magnum: fix memory-mapped i8042

Current implementation of memory-mapped i8042 controller is atm
implemented with an interface shift (it_shift) parameter, like most all
memory-mapped devices in Qemu.
However, this isn't suitable for MIPS Magnum, where i8042 controller is at
0x80005000 up to 0x80005fff.

Thomas Bogendoerfer (from #mipslinux) tested the behaviour of a real
machine, and found that odd addresses are for status/command register, and
even addresses for data register.

Attached patch implements this behaviour by replacing the it_shift
parameter by a mask one.
Incidentally, keyboard now works on OpenBSD 2.3, which accesses i8042
controller at 0x80005060 and 0x80005061.

Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5962 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoKVM: Coalesced MMIO support
aliguori [Tue, 9 Dec 2008 20:09:57 +0000 (20:09 +0000)]
KVM: Coalesced MMIO support

MMIO exits are more expensive in KVM or Xen than in QEMU because they
involve, at least, privilege transitions.  However, MMIO write
operations can be effectively batched if those writes do not have side
effects.

Good examples of this include VGA pixel operations when in a planar
mode.  As it turns out, we can get a nice boost in other areas too.
Laurent mentioned a 9.7% performance boost in iperf with the coalesced
MMIO changes for the e1000 when he originally posted this work for KVM.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5961 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoDisable KVM support if the kernel modules have broken memory slot handling
aliguori [Tue, 9 Dec 2008 19:59:09 +0000 (19:59 +0000)]
Disable KVM support if the kernel modules have broken memory slot handling

Prior to kvm-80, memory slot deletion was broken in the KVM kernel
modules.  In kvm-81, a new capability is introduced to signify that this
problem has been fixed.

Since we rely on being able to delete memory slots, refuse to work with
any kernel module that does not have this capability present.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5960 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agolinux-user: mremap(): handle MREMAP_FIXED and MREMAP_MAYMOVE correctly
aurel32 [Mon, 8 Dec 2008 18:12:40 +0000 (18:12 +0000)]
linux-user: mremap(): handle MREMAP_FIXED and MREMAP_MAYMOVE correctly

Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5959 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agolinux-user: mmap: add check if requested memory area fits target address space
aurel32 [Mon, 8 Dec 2008 18:12:33 +0000 (18:12 +0000)]
linux-user: mmap: add check if requested memory area fits target address space

Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5958 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agolinux-user: Fix h2g usage in page_find_alloc
aurel32 [Mon, 8 Dec 2008 18:12:26 +0000 (18:12 +0000)]
linux-user: Fix h2g usage in page_find_alloc

Paul's comment on my first approach to fix the h2g usage in
page_find_alloc finally open my eyes about what the code is actually
supposed to do:

With the help of h2g_valid we can no cleanly check if a freshly allocate
page (for host usage) is guest-reachable and, in case it is, mark it
reserved in the guest's address range.

Signed-off-by: Jan Kiszka <jan.kiszka@web.de>
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5957 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agolinux-user: Introduce h2g_valid
aurel32 [Mon, 8 Dec 2008 18:12:18 +0000 (18:12 +0000)]
linux-user: Introduce h2g_valid

Introduce h2g_valid to check if a given host address can be converted
into a valid guest address.

Based on a patch from  Jan Kiszka <jan.kiszka@web.de>

Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5956 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agolinux-user: Safety belt for h2g
aurel32 [Mon, 8 Dec 2008 18:12:11 +0000 (18:12 +0000)]
linux-user: Safety belt for h2g

h2g can only work on 64-bit hosts if the provided address is mappable to
the guest range. Neglecting this was already the source for several
bugs. Instrument the macro so that it will trigger earlier in the
future (at least as long as we have this kind of mapping mechanism).

Based on a patch from Jan Kiszka <jan.kiszka@web.de>

Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5955 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agolinux-user: Move abi_* typedefs into qemu-types.h
aurel32 [Mon, 8 Dec 2008 18:12:04 +0000 (18:12 +0000)]
linux-user: Move abi_* typedefs into qemu-types.h

Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5954 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoconfigure: also close stdout when calling cc
aurel32 [Mon, 8 Dec 2008 18:11:57 +0000 (18:11 +0000)]
configure: also close stdout when calling cc

Remove some ugly outputs with colorgcc

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5953 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: kill a warning
aurel32 [Mon, 8 Dec 2008 18:11:50 +0000 (18:11 +0000)]
target-ppc: kill a warning

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5952 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: cleanup op_helper.c after TCG conversion
aurel32 [Mon, 8 Dec 2008 18:11:42 +0000 (18:11 +0000)]
target-ppc: cleanup op_helper.c after TCG conversion

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5951 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: enable access type in MMU
aurel32 [Mon, 8 Dec 2008 18:11:33 +0000 (18:11 +0000)]
target-ppc: enable access type in MMU

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5950 c046a42c-6fe2-441c-8c8c-71466251a162