sdk/emulator/qemu.git
16 years agoppc: cleanup register types
aurel32 [Thu, 4 Sep 2008 05:26:09 +0000 (05:26 +0000)]
ppc: cleanup register types

- use target_ulong for gpr and dyngen registers
- remove ppc_gpr_t type
- define 64-bit dyngen registers for GPE register on 32-bit targets

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5154 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoppc: Convert GPR moves to TCG
aurel32 [Thu, 4 Sep 2008 05:25:47 +0000 (05:25 +0000)]
ppc: Convert GPR moves to TCG

Replace op_load_gpr_{T0,T1,T2} and op_store_{T0,T1,T2} with tcg_gen_mov_tl.
Introduce TCG variables cpu_gpr[0..31].

For the SPE extension, assure that ppc_gpr_t is only uint64_t for ppc64.
Introduce TCG variables cpu_gprh[0..31] for upper 32 bits on ppc and helpers
gen_{load,store}_gpr64. Based on suggestions by Aurelien, Thiemo and Blue.

Signed-off-by: Andreas Faerber <andreas.faerber@web.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5153 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoalpha: convert a few more instructions to TCG
aurel32 [Thu, 4 Sep 2008 04:36:20 +0000 (04:36 +0000)]
alpha: convert a few more instructions to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5152 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoalpha: directly access ir registers
aurel32 [Thu, 4 Sep 2008 04:36:00 +0000 (04:36 +0000)]
alpha: directly access ir registers

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

16 years agoconvert of few alpha insn to TCG
aurel32 [Thu, 4 Sep 2008 04:35:40 +0000 (04:35 +0000)]
convert of few alpha insn to TCG

(based on a patch from Tristan Gingold)

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

16 years agohw/pcnet: use qemu_socket.h
aurel32 [Thu, 4 Sep 2008 04:35:20 +0000 (04:35 +0000)]
hw/pcnet: use qemu_socket.h

(Jan Kiszka)

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

16 years agoImplement no-fault loads
blueswir1 [Wed, 3 Sep 2008 17:32:10 +0000 (17:32 +0000)]
Implement no-fault loads

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

16 years agoETRAX-FS: Add support for DMA channel resets, needed for recent linux kernels.
edgar_igl [Wed, 3 Sep 2008 14:40:17 +0000 (14:40 +0000)]
ETRAX-FS: Add support for DMA channel resets, needed for recent linux kernels.

* Correct numeric value for the RST state.
* Add emulation for reseting a DMA channel.
* Add a few sanity checks.
* Make it compile with debug enabled.

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

16 years agoCRIS: Avoid a few unecessary steps in the mmu.
edgar_igl [Wed, 3 Sep 2008 14:31:11 +0000 (14:31 +0000)]
CRIS: Avoid a few unecessary steps in the mmu.

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

16 years agoCRIS: Remove redundant code.
edgar_igl [Wed, 3 Sep 2008 14:30:27 +0000 (14:30 +0000)]
CRIS: Remove redundant code.

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

16 years agoDelete unused variable.
ths [Tue, 2 Sep 2008 23:55:28 +0000 (23:55 +0000)]
Delete unused variable.

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

16 years ago[ppc] Convert op_moven_T2_T0 to TCG
aurel32 [Tue, 2 Sep 2008 23:26:40 +0000 (23:26 +0000)]
[ppc] Convert op_moven_T2_T0 to TCG

Signed-off-by: Andreas Faerber <andreas.faerber@web.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5143 c046a42c-6fe2-441c-8c8c-71466251a162

16 years ago[ppc] Convert op_reset_T0, op_set_{T0, T1} to TCG
aurel32 [Tue, 2 Sep 2008 23:26:32 +0000 (23:26 +0000)]
[ppc] Convert op_reset_T0, op_set_{T0, T1} to TCG

Signed-off-by: Andreas Faerber <andreas.faerber@web.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5142 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoSH4: R2D-PLUS FPGA: simply unassigned memory triggering
aurel32 [Tue, 2 Sep 2008 23:26:23 +0000 (23:26 +0000)]
SH4: R2D-PLUS FPGA: simply unassigned memory triggering

Use NULL to trigger unassigned memory error on 32-bit accesses instead
of assert(0) as suggested by Blue Swirl.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5141 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agohw/pcnet.c: windows compile fix
aurel32 [Tue, 2 Sep 2008 23:26:13 +0000 (23:26 +0000)]
hw/pcnet.c: windows compile fix

(Eduardo Felipe)

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

16 years agoBuild fix for gcc-3.3.
ths [Tue, 2 Sep 2008 17:39:45 +0000 (17:39 +0000)]
Build fix for gcc-3.3.

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

16 years agoFix sign extension problems with smul and umul (Vince Weaver)
blueswir1 [Tue, 2 Sep 2008 16:33:23 +0000 (16:33 +0000)]
Fix sign extension problems with smul and umul (Vince Weaver)

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

16 years ago[ppc] Convert op_move_{T1,T2}_T0 to TCG
aurel32 [Tue, 2 Sep 2008 16:19:05 +0000 (16:19 +0000)]
[ppc] Convert op_move_{T1,T2}_T0 to TCG

Attached patch replaces op_move_T1_T0 and op_move_T2_T0 with
tcg_gen_mov_tl.

Signed-off-by: Andreas Faerber <andreas.faerber@web.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5137 c046a42c-6fe2-441c-8c8c-71466251a162

16 years ago[ppc] Convert gen_set_{T0,T1} to TCG
aurel32 [Tue, 2 Sep 2008 16:18:55 +0000 (16:18 +0000)]
[ppc] Convert gen_set_{T0,T1} to TCG

The attached patch replaces gen_set_T0 and gen_set_T1 with
tcg_gen_movi_tl.

Signed-off-by: Andreas Faerber <andreas.faerber@web.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5136 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agopcnet: add loopback mode emulation
aurel32 [Tue, 2 Sep 2008 16:18:46 +0000 (16:18 +0000)]
pcnet: add loopback mode emulation

This patch enhances the pcnet NIC emulation with better loopback mode
support, including CRC generation for looped-back packets in "raw" mode.
The patch has practically no impact on the normal RX and TX path.

Successfully tested against an ancient proprietary pcnet driver that
does a lot of hardware checks on boot-up and now works fine over qemu as
well.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5135 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agosh4: Add R2D-PLUS FPGA support.
aurel32 [Tue, 2 Sep 2008 16:18:38 +0000 (16:18 +0000)]
sh4: Add R2D-PLUS FPGA support.

This adds trivial support for the R2D-PLUS FPGA, mostly just for the
versioning information that the kernel uses for IRL mappings, in addition
to handling the heartbeat and poweroff writes.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5134 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agosh4: CPU versioning.
aurel32 [Tue, 2 Sep 2008 16:18:28 +0000 (16:18 +0000)]
sh4: CPU versioning.

Trivial patch adding CPU listing and the ability to do per-subtype
CVR/PVR/PRR values. Presently SH7750R and SH7751R definitions are
provided, as these are the ones in present use in-tree.

The CVR value for SH7751R is intentionally restricted so the kernel
boots, though this will want to be switched to the proper CVR value
once system emulation has sufficiently stabilized.

This also makes it trivial to abstract subtype specific registers like
MMU_PTEA and to set up feature bits in line with the kernel probing for
things like conditionalizing FPU/DSP context.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5133 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoSH4: fix a regression introduced in r5122
aurel32 [Tue, 2 Sep 2008 08:42:16 +0000 (08:42 +0000)]
SH4: fix a regression introduced in r5122

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5132 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoFix call_pal() prototype for alpha system emulation
aurel32 [Tue, 2 Sep 2008 00:09:35 +0000 (00:09 +0000)]
Fix call_pal() prototype for alpha system emulation

(HervĂ© Poussineau)

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

16 years agox86: Fix powerdown for non-ACPI case
aurel32 [Tue, 2 Sep 2008 00:09:25 +0000 (00:09 +0000)]
x86: Fix powerdown for non-ACPI case

Trivial fix for a corner case: system_shutdown on isapc machines causes
qemu to segfaults due to accessing the uninitialized pm_state. Issue a
system shutdown instead.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5130 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoFix typo in console.c comment
aurel32 [Tue, 2 Sep 2008 00:09:16 +0000 (00:09 +0000)]
Fix typo in console.c comment

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5129 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoReset I32_APIC_BASE on system RESET
aurel32 [Tue, 2 Sep 2008 00:09:08 +0000 (00:09 +0000)]
Reset I32_APIC_BASE on system RESET

Should be done according to spec.

Signed-off-by: Gleb Natapov <gleb@qumranet.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5128 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agosuppress a couple of spurious warnings in scsi-generic.c
aurel32 [Tue, 2 Sep 2008 00:08:58 +0000 (00:08 +0000)]
suppress a couple of spurious warnings in scsi-generic.c

This patch fixes two spurious `may be used uninitialised' warnings
when compiling with some compilers.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5127 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoSH4: Remove dyngen leftovers
aurel32 [Mon, 1 Sep 2008 22:12:14 +0000 (22:12 +0000)]
SH4: Remove dyngen leftovers

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5126 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoSH4: final conversion to TCG
aurel32 [Mon, 1 Sep 2008 22:12:06 +0000 (22:12 +0000)]
SH4: final conversion to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5125 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoSH4: convert floating-point ops to TCG
aurel32 [Mon, 1 Sep 2008 22:11:56 +0000 (22:11 +0000)]
SH4: convert floating-point ops to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5124 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoFix y register loads and stores
blueswir1 [Mon, 1 Sep 2008 19:35:29 +0000 (19:35 +0000)]
Fix y register loads and stores

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

16 years agoSH4: Remove most uses of cpu_T[0] and cpu_T[1]
aurel32 [Mon, 1 Sep 2008 13:09:21 +0000 (13:09 +0000)]
SH4: Remove most uses of cpu_T[0] and cpu_T[1]

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5122 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoSH4: TCG optimisations
aurel32 [Mon, 1 Sep 2008 13:09:14 +0000 (13:09 +0000)]
SH4: TCG optimisations

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5121 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoSH4: Convert remaining non-fp ops to TCG
aurel32 [Mon, 1 Sep 2008 13:09:06 +0000 (13:09 +0000)]
SH4: Convert remaining non-fp ops to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5120 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoSH4: Convert shift functions to TCG
aurel32 [Sat, 30 Aug 2008 22:37:17 +0000 (22:37 +0000)]
SH4: Convert shift functions to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5119 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoSH4: convert control/status register load/store to TCG
aurel32 [Sat, 30 Aug 2008 22:07:52 +0000 (22:07 +0000)]
SH4: convert control/status register load/store to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5118 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoSH4: Convert memory loads/stores to TCG
aurel32 [Sat, 30 Aug 2008 22:07:44 +0000 (22:07 +0000)]
SH4: Convert memory loads/stores to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5117 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoSH4: convert some more arithmetics ops to TCG
aurel32 [Sat, 30 Aug 2008 13:55:14 +0000 (13:55 +0000)]
SH4: convert some more arithmetics ops to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5116 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoFix some warnings that would be generated by gcc -Wredundant-decls
blueswir1 [Sat, 30 Aug 2008 09:51:20 +0000 (09:51 +0000)]
Fix some warnings that would be generated by gcc -Wredundant-decls

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

16 years agoRemove memcpy32() prototype leftover from r5109
blueswir1 [Sat, 30 Aug 2008 09:22:10 +0000 (09:22 +0000)]
Remove memcpy32() prototype leftover from r5109

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

16 years agoAdd correct stack bias if a 64 bit stack is used
blueswir1 [Sat, 30 Aug 2008 09:20:21 +0000 (09:20 +0000)]
Add correct stack bias if a 64 bit stack is used

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

16 years agoSH4: convert a few helpers to TCG
aurel32 [Fri, 29 Aug 2008 23:01:41 +0000 (23:01 +0000)]
SH4: convert a few helpers to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5112 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoSH4: convert branch/jump instructions to TCG
aurel32 [Fri, 29 Aug 2008 22:32:32 +0000 (22:32 +0000)]
SH4: convert branch/jump instructions to TCG

(Shin-ichiro KAWASAKI)

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

16 years agoFix FCC handling for Sparc64 target, initial patch by Vince Weaver
blueswir1 [Fri, 29 Aug 2008 21:03:31 +0000 (21:03 +0000)]
Fix FCC handling for Sparc64 target, initial patch by Vince Weaver

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

16 years agoFix Sparc64 boot on i386 host:
blueswir1 [Fri, 29 Aug 2008 20:50:21 +0000 (20:50 +0000)]
Fix Sparc64 boot on i386 host:
 - move do_interrupt() back to op_helper.c
 - move non-helper prototypes from helper.h to exec.h
 - move some prototypes from cpu.h to exec.h
 - do not export either set_cwp() or cpu_set_cwp() from op_helper.c,
   but instead provide inline functions

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

16 years agoSH4: convert simple compare instructions to TCG
aurel32 [Fri, 29 Aug 2008 20:12:18 +0000 (20:12 +0000)]
SH4: convert simple compare instructions to TCG

(Shin-ichiro KAWASAKI)

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

16 years agoSH4: convert a few control or system register functions to TCG
aurel32 [Fri, 29 Aug 2008 16:32:18 +0000 (16:32 +0000)]
SH4: convert a few control or system register functions to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5107 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoSH4: Fix bugs introduce in r5099
aurel32 [Fri, 29 Aug 2008 16:08:38 +0000 (16:08 +0000)]
SH4: Fix bugs introduce in r5099

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5106 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoSH4: fix xtrct Rm,Rn (broken in r5103)
aurel32 [Fri, 29 Aug 2008 13:27:29 +0000 (13:27 +0000)]
SH4: fix xtrct Rm,Rn (broken in r5103)

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5105 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoFix a nit in exec.c, by Tristan Gingold.
ths [Fri, 29 Aug 2008 13:10:00 +0000 (13:10 +0000)]
Fix a nit in exec.c, by Tristan Gingold.

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

16 years agoSH4: convert logic and arithmetic ops to TCG
aurel32 [Fri, 29 Aug 2008 10:05:12 +0000 (10:05 +0000)]
SH4: convert logic and arithmetic ops to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5103 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoSH4: use TCG variables for gregs
aurel32 [Fri, 29 Aug 2008 00:48:50 +0000 (00:48 +0000)]
SH4: use TCG variables for gregs

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5102 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoSH4: use uint32_t/i32 based types/ops
aurel32 [Thu, 28 Aug 2008 21:37:53 +0000 (21:37 +0000)]
SH4: use uint32_t/i32 based types/ops

Use uint32_t/i32 based types/ops to stay consistent with previous dyngen
code. Thanks to Paul Brook for noticing that.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5101 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoSH4: Convert register moves to TCG
aurel32 [Thu, 28 Aug 2008 21:02:38 +0000 (21:02 +0000)]
SH4: Convert register moves to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5100 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoSH4: Convert dyngen registers moves to TCG
aurel32 [Thu, 28 Aug 2008 21:02:30 +0000 (21:02 +0000)]
SH4: Convert dyngen registers moves to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5099 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoSH4: Convert immediate loads to TCG
aurel32 [Thu, 28 Aug 2008 21:02:19 +0000 (21:02 +0000)]
SH4: Convert immediate loads to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5098 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoSH4: remove unused ops
aurel32 [Thu, 28 Aug 2008 21:02:08 +0000 (21:02 +0000)]
SH4: remove unused ops

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5097 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoSH4: add support for TCG helpers
aurel32 [Thu, 28 Aug 2008 21:02:00 +0000 (21:02 +0000)]
SH4: add support for TCG helpers

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5096 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoSH4: Init TCG variables
aurel32 [Thu, 28 Aug 2008 21:01:53 +0000 (21:01 +0000)]
SH4: Init TCG variables

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5095 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoPPC: add support for TCG helpers
aurel32 [Thu, 28 Aug 2008 21:01:45 +0000 (21:01 +0000)]
PPC: add support for TCG helpers

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5094 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoPPC: Init TCG variables
aurel32 [Thu, 28 Aug 2008 21:01:36 +0000 (21:01 +0000)]
PPC: Init TCG variables

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5093 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoDo not try to use -net user as a default when slirp disabled (Jeremy Fitzhardinge)
aliguori [Thu, 28 Aug 2008 20:05:14 +0000 (20:05 +0000)]
Do not try to use -net user as a default when slirp disabled (Jeremy Fitzhardinge)

When CONFIG_SLIRP is not defined, we should not try to use
-net user as a default.

Patch from Jeremy Fitzhardinge <jeremy@goop.org> (who is a Citrix
staff member).

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5092 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoFix Sparc64 window handling problems detected by Vince Weaver
blueswir1 [Wed, 27 Aug 2008 19:19:44 +0000 (19:19 +0000)]
Fix Sparc64 window handling problems detected by Vince Weaver

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

16 years agoRevert a part of r5087 that didn't need fixing (thanks to malc for spotting)
blueswir1 [Wed, 27 Aug 2008 18:43:53 +0000 (18:43 +0000)]
Revert a part of r5087 that didn't need fixing (thanks to malc for spotting)

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

16 years agoRevert broken part of r5044 (thanks to Igor Kovalenko for spotting)
blueswir1 [Tue, 26 Aug 2008 17:07:04 +0000 (17:07 +0000)]
Revert broken part of r5044 (thanks to Igor Kovalenko for spotting)

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

16 years agoUpdate maintainers list.
j_mayer [Mon, 25 Aug 2008 22:26:03 +0000 (22:26 +0000)]
Update maintainers list.

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

16 years agoFix more bugs in r5044
blueswir1 [Mon, 25 Aug 2008 20:43:37 +0000 (20:43 +0000)]
Fix more bugs in r5044

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

16 years agoFix error introduced by r5044
blueswir1 [Mon, 25 Aug 2008 20:03:28 +0000 (20:03 +0000)]
Fix error introduced by r5044

qemu_strdup() doesn't copy a last character because of off by one error.

Signed-off-by: Gleb Natapov <gleb@qumranet.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5086 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoFix udiv and sdiv on Sparc64 (Vince Weaver)
blueswir1 [Mon, 25 Aug 2008 19:43:53 +0000 (19:43 +0000)]
Fix udiv and sdiv on Sparc64 (Vince Weaver)

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

16 years agoRevert commits 5082 and 5083
aurel32 [Sun, 24 Aug 2008 23:16:35 +0000 (23:16 +0000)]
Revert commits 5082 and 5083

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

16 years agoPPC: Switch a few instructions to TCG
aurel32 [Sun, 24 Aug 2008 19:05:35 +0000 (19:05 +0000)]
PPC: Switch a few instructions to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5083 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoPPC: Init TCG variables
aurel32 [Sun, 24 Aug 2008 19:05:26 +0000 (19:05 +0000)]
PPC: Init TCG variables

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5082 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoAdd missing FreeBSD #include (Juergen Lock)
blueswir1 [Sun, 24 Aug 2008 10:43:12 +0000 (10:43 +0000)]
Add missing FreeBSD #include (Juergen Lock)

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

16 years agoTo make syscall.c for 64 bit truly warning-free, we need some more #ifs.
blueswir1 [Sun, 24 Aug 2008 10:35:55 +0000 (10:35 +0000)]
To make syscall.c for 64 bit truly warning-free, we need some more #ifs.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5080 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoEnable pty/tty functions for BSDs too (initial patch from Xen)
blueswir1 [Sun, 24 Aug 2008 10:34:20 +0000 (10:34 +0000)]
Enable pty/tty functions for BSDs too (initial patch from Xen)

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

16 years agoFix OpenBSD linker warnings in qemu-img
blueswir1 [Sun, 24 Aug 2008 10:30:33 +0000 (10:30 +0000)]
Fix OpenBSD linker warnings in qemu-img

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

16 years agoFix math warnings on OpenBSD -current
blueswir1 [Sun, 24 Aug 2008 10:29:29 +0000 (10:29 +0000)]
Fix math warnings on OpenBSD -current

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

16 years agoVNC: Support for ExtendedKeyEvent client message
aliguori [Sat, 23 Aug 2008 23:27:37 +0000 (23:27 +0000)]
VNC: Support for ExtendedKeyEvent client message

This patch adds support for the ExtendedKeyEvent client message.  This message
allows a client to send raw scan codes directly to the server.  If the client
and server are using the same keymap, then it's unnecessary to use the '-k'
option with QEMU when this extension is supported.

This is extension is currently only implemented by gtk-vnc based clients
(gvncviewer, virt-manager, vinagre, etc.).

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5076 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoMIPS: don't free TCG temporary variable twice
aurel32 [Sat, 23 Aug 2008 17:22:19 +0000 (17:22 +0000)]
MIPS: don't free TCG temporary variable twice

In gen_dmtc0 function, TCG temporary variable t0 is freed at the end of
the function. Variable is freed again in the gen_dmtc0 caller.
I removed the free in gen_dmtc0, to do like in gen_dmfc0, gen_mfc0,
gen_mtc0.

(HervĂ© Poussineau)

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

16 years agosh4: fix tas.b @Rn instruction
aurel32 [Fri, 22 Aug 2008 21:30:28 +0000 (21:30 +0000)]
sh4: fix tas.b @Rn instruction

(Shin-ichiro KAWASAKI, based on a patch from Andrzej Zaborowski)

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

16 years agoqemu-char.h: Fix IOCTL values
aurel32 [Fri, 22 Aug 2008 21:25:00 +0000 (21:25 +0000)]
qemu-char.h: Fix IOCTL values

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5073 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agouhci: improved TD matching, working ISOC transfers
aurel32 [Fri, 22 Aug 2008 09:23:06 +0000 (09:23 +0000)]
uhci: improved TD matching, working ISOC transfers

While trying to make VX-3000 camera work on XP under KVM I realized that
we do not necessarily have to find original TD address. All we care about
is the token which identifies the transfer rather well (direction, endpoint,
size, etc).
This is especially important for the isochronous transfers because otherwise
they are being canceled left and right and we do not make much progress.

With this patch all devices that used bulk transfers that I've tried so
far continue to work just as well. And now my USB web cammera (isoc transfers)
is working well tool. It's not as smooth as native Windows but it's pretty
darn smooth.

The cool thing is that new USB code (both usb-uhci and usb-linux) is totaly
generic and does not need any special logic for ISOC.

Signed-off-by: Max Krasnyansky <maxk@kernel.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5072 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoadd comment for DisplayState->idle
aurel32 [Fri, 22 Aug 2008 09:03:17 +0000 (09:03 +0000)]
add comment for DisplayState->idle

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5071 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agouhci: Fixed length handling for SETUP and OUT tokens
aurel32 [Fri, 22 Aug 2008 08:58:08 +0000 (08:58 +0000)]
uhci: Fixed length handling for SETUP and OUT tokens

Fixes regression reported agains Linux 2.6.18.
Looks like XP and newer Linux kernels are less sensitive
to length returned for control transfers.

Signed-off-by: Max Krasnyansky <maxk@kernel.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5070 c046a42c-6fe2-441c-8c8c-71466251a162

16 years ago[sh4] code translation bug fix
aurel32 [Fri, 22 Aug 2008 08:58:00 +0000 (08:58 +0000)]
[sh4] code translation bug fix

When a TLB miss occurs while pre-decrement store instruction such as
"mov.l Rm, @-Rn" is executed, re-execution of such instruction cause
status confusion. Because pre Rn decrement is executed before TLB miss,
re-execution decrements Rn again.
In other words, in a translated instruction array, register status
should not modified before memory access instruction.

(Shin-ichiro KAWASAKI)

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

16 years ago[sh4] MMU bug fix
aurel32 [Fri, 22 Aug 2008 08:57:52 +0000 (08:57 +0000)]
[sh4] MMU bug fix

Some bugs on SH4 MMU are fixed.

- When a TLB entry is overwritten or invalidated, tlb_flush_page() should be
  invoked to invalidate old entry.
- When a ASID is changed, tlb_flush() should be invoke to invalidate entries
  which have old ASID.
- The check for shared bit in TLB entry causes multiple TLB hit exception.
  As SH3's MMU, shared bit is ignored.
- ASID is used when MMUCR's SV bit or SR's MD bit is zero.
  No need to check both bits are zero.

(Shin-ichiro KAWASAKI)

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

16 years ago[sh4] memory mapped TLB entries
aurel32 [Fri, 22 Aug 2008 08:57:43 +0000 (08:57 +0000)]
[sh4] memory mapped TLB entries

SH4 MMU's memory mapped TLB feature is implemented.
SH-Linux seems to write to memory mapped TLB to invalidate a TLB entry,
but does not to read it. So only memory write feature is implemented.
Work on memory read feature is left.

(Shin-ichiro KAWASAKI)

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

16 years ago[sh4] delay slot bug fix
aurel32 [Fri, 22 Aug 2008 08:57:35 +0000 (08:57 +0000)]
[sh4] delay slot bug fix

Two bugs about delay slot handlings are fixed.

- After an exception occurred in delay slot, the branch instruction
  before delay slot should be executed again. To judge such re-execution
  is necessery or not, delay slot status is kept in SH4 CPU data structure.
- When a branch instruction is placed at the end of memory segment,
  the delay slot is placed at the start of next memory segment.
  It means delay slot comes to the start of a translation block.
  In such occasion, DELAY_SLOT_CLAREME flag is used to transmit status
  between translation blocks. When an exception occurs on this kind of
  delay slot, DELAY_SLOT_CLEARME flag cause a status confusion in exception
  handling. DELAY_SLOT_CLEARME flag should be cleared on exceptions.

And some items are added to CPU status dump.

(Shin-ichiro KAWASAKI)

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

16 years ago[sh4] sleep instruction
aurel32 [Fri, 22 Aug 2008 08:57:27 +0000 (08:57 +0000)]
[sh4] sleep instruction

This patch adds sleep instruction.

(Shin-ichiro KAWASAKI)

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

16 years agoarray overflow in hw/stellaris.c and hw/omap_dss.c
aurel32 [Fri, 22 Aug 2008 08:57:19 +0000 (08:57 +0000)]
array overflow in hw/stellaris.c and hw/omap_dss.c

(Jindrich Makovicka)

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

16 years agoParallel Port Direction Fix
aurel32 [Fri, 22 Aug 2008 08:57:09 +0000 (08:57 +0000)]
Parallel Port Direction Fix

The direction bit in the control register should not be directly

set using PPWCONTROL. The kernel gives the following debug message.

    parport0 (ppdev0): use data_reverse for this!

More over setting the data pins to forward mode does not work,
perhaps a bug in the Linux PP driver. The right way to do this is
to use PPDATADIR to set the direction. The patch checks if the
user is toggling the direction bit, and invokes PPDATADIR to
do the job.

Signed-off-by: Vijay Kumar B <vijaykumar@bravegnu.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5063 c046a42c-6fe2-441c-8c8c-71466251a162

16 years ago*FreeBSD: pulseaudio is a possible audio driver
aurel32 [Thu, 21 Aug 2008 23:03:15 +0000 (23:03 +0000)]
*FreeBSD: pulseaudio is a possible audio driver

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5062 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoPC: suggest a workaround to boot a kernel without hard-disk
aurel32 [Thu, 21 Aug 2008 22:52:22 +0000 (22:52 +0000)]
PC: suggest a workaround to boot a kernel without hard-disk

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5061 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoIgnore IDE command if issued while IDE is busy (Gleb Natapov)
aliguori [Thu, 21 Aug 2008 22:40:00 +0000 (22:40 +0000)]
Ignore IDE command if issued while IDE is busy (Gleb Natapov)

Feature, Sector Count, LBA Low/Mid/High and Device registers should be
written only when both BSY and DRQ are cleared to zero.
Command register shall only be written when BSY and DRQ are set to zero
for all commands except DEVICE RESET.
Data Port register shall be accessed for host PIO data transfer only when
DRQ is set to one.

Signed-off-by: Gleb Natapov <gleb@qumranet.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5060 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoAdd image format option for USB mass-storage devices
aurel32 [Thu, 21 Aug 2008 22:24:32 +0000 (22:24 +0000)]
Add image format option for USB mass-storage devices

(fix CVE-2008-1945)

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5059 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agomove GUI_REFRESH_INTERVAL define from vl.c to console.h (Gerd Hoffmann)
aliguori [Thu, 21 Aug 2008 20:12:05 +0000 (20:12 +0000)]
move GUI_REFRESH_INTERVAL define from vl.c to console.h (Gerd Hoffmann)

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@5058 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoadd container_of() macro to osdep.h (Gerd Hoffmann)
aliguori [Thu, 21 Aug 2008 20:11:11 +0000 (20:11 +0000)]
add container_of() macro to osdep.h (Gerd Hoffmann)

From linux kernel sources, xen bits will use it, put it
into a place where others can see and use it too ;)

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@5057 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoadd DisplayState->idle (Samuel Thibault)
aliguori [Thu, 21 Aug 2008 20:08:55 +0000 (20:08 +0000)]
add DisplayState->idle (Samuel Thibault)

Add idle field to DisplayState struct, so drivers can figure
the display is idle and take advantage of that.

The xen framebuffer driver will use this to communicate the
idle state to the guest, so it knows it can stop doing updates
to a virtual display which is invisible anyway.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5056 c046a42c-6fe2-441c-8c8c-71466251a162

16 years agoHandle terminating signals (Gerd Hoffmann)
aliguori [Thu, 21 Aug 2008 20:08:03 +0000 (20:08 +0000)]
Handle terminating signals (Gerd Hoffmann)

This patch makes qemu handle signals better.  It sets the request_shutdown
flag, making the main_loop exit and qemu taking the usual exit route, with
atexit handlers being called and so on, instead of qemu just being killed
by the signal.

To avoid calling vm_start() from the signal handler main_loop() got an
additional check so qemu_system_shutdown_request() works even when the
vm is in stopped state.

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@5055 c046a42c-6fe2-441c-8c8c-71466251a162