ths
1548b15d23
Add mipsn32{,el}-linux-user.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3286 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-30 02:14:03 +00:00
ths
cf575356bf
Remove unused variable.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3285 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-30 02:10:37 +00:00
ths
540635ba65
Code provision for n32/n64 mips userland emulation. Not functional yet.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3284 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-30 01:58:33 +00:00
j_mayer
868d585ace
Avoid crash on NULL timers.
...
This is a rework of Stefan Weil proposed patch.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3283 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-30 01:29:07 +00:00
j_mayer
c80f84e3c0
Implement Process Priority Register as defined in the PowerPC 2.04 spec.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3282 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-30 01:18:26 +00:00
j_mayer
d7e4b87e53
Implement new floating-point instructions (fre, frin, friz, frip, frim)
...
as defined in the PowerPC 2.04 specification.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3281 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-30 01:11:48 +00:00
j_mayer
477023a603
Improve single-precision floats load & stores:
...
as the PowerPC registers only store double-precision floats,
use float64_to_float32 & float32_to_float64 to do the appropriate conversion.
Implement stfiwx.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3280 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-30 01:01:08 +00:00
j_mayer
bfa1e5cf0a
XER is to be treated as a 64 bits register on 64 bits implementations,
...
according to the PowerPC 2.04 specification.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3279 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-30 00:50:23 +00:00
ths
a09d88b86a
Update TODO.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3278 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-30 00:45:51 +00:00
j_mayer
a062e36c58
Implement the PowerPC alternate time-base, following the 2.04 specification.
...
Share most code with the time-base management routines.
Remove time-base write routines from user-mode emulation environments.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3277 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-30 00:38:38 +00:00
ths
4887d78b01
Don't hardcode the host architecture name.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3276 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-29 21:22:33 +00:00
ths
ff1aaf65e7
Update tarbin rule.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3275 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-29 21:18:26 +00:00
ths
8915ee7414
Enable sh4-softmmu and sh4-linux-user builds by default, by Magnus Damm.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3274 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-29 19:55:21 +00:00
ths
c5e814b271
Fix rte opcode, by Magnus Damm.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3273 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-29 19:52:22 +00:00
ths
ed8e0a4d4b
Add FRQCR read support, by Magnus Damm.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3272 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-29 19:51:40 +00:00
ths
3464c58998
Add INTC controller prototype, by Magnus Damm.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3271 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-29 19:47:44 +00:00
ths
2f062c7227
Stand-alone SCI/SCIF emulation code, by Magnus Damm.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3270 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-29 19:43:54 +00:00
ths
cd1a3f6840
Stand-alone TMU emulation code, by Magnus Damm.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3269 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-29 19:40:09 +00:00
ths
0d78f544de
Add R2D-PLUS support, by Magnus Damm.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3268 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-29 19:24:41 +00:00
ths
671880e651
Supervisor mode implementation, by Aurelien Jarno.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3267 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-29 19:21:36 +00:00
ths
544540979c
Less magic constants.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3266 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-29 19:19:59 +00:00
j_mayer
dee96f6ca3
PowerPC emulation optimization:
...
avoid stopping translation after most SPR updates
when a context-synchronization instruction is also needed.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3265 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-29 15:02:38 +00:00
j_mayer
58a7d32872
Code provision for hypervisor timers resources,
...
as described in PowerPC 2.04 specification.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3264 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-29 13:21:37 +00:00
j_mayer
47c4d8f06b
Fix PowerPC target objects dependencies
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3263 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-29 13:20:12 +00:00
j_mayer
8bb1f9c51c
Provision for x86_64-linux-user target: needs get_sp_from_cpustate
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3262 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-29 13:12:58 +00:00
j_mayer
e1833e1f96
Rework PowerPC exceptions model to make it more versatile:
...
* don't use exception vectors as the exception number.
Use vectors numbers as defined in the PowerPC embedded specification instead
and extend this model to cover all emulated PowerPC variants exceptions.
* add some missing exceptions definitions, from PowerPC 2.04 specification
and actual PowerPC implementations.
* add code provision for hypervisor exceptions handling.
* define exception vectors and prefix in CPUPPCState to emulate BookE exception
vectors without any hacks.
* define per CPU model valid exception vectors.
* handle all known exceptions in user-mode only emulations.
* fix hardware interrupts priorities in most cases.
* change RET_EXCP macros name into GEN_EXCP as they don't return.
* do not stop translation on most instructions that are not defined as
context-synchronizing in PowerPC specification.
* fix PowerPC 64 jump targets and link register update when in 32 bits mode.
* Fix PowerPC 464 and 464F definitions.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3261 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-29 13:06:16 +00:00
j_mayer
f93732914e
make cpu_abort dump cpu state in logfile, which is useful for debugging.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3260 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-29 12:18:20 +00:00
j_mayer
29f640e2cf
always_inline gcc directive can be useful.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3259 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-29 12:17:25 +00:00
j_mayer
f1548daae3
host_utils.o may also be useful for user-mode emulation.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3258 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-29 12:15:39 +00:00
j_mayer
237c0af017
Define the proper bfd_mach to be used by the disassembler for each
...
PowerPC emulated CPU.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3257 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-29 12:01:46 +00:00
j_mayer
d12f4c3822
Change POWERPC_PPC_GENERIC to POWERPC_DEFAULT.
...
Use it as default for workstation targets.
Fix PowerPC 750fl and 750gl definitions.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3256 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-29 11:51:08 +00:00
ths
418d7c7169
Fix MIPS FP underflow handling, spotted by Daniel Jacobowitz.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3255 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-28 19:30:36 +00:00
ths
df0d373665
Build fix, ppc64 needs also a get_sp_from_cpustate function now.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3254 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-28 18:45:59 +00:00
ths
198a74de4c
Move get_sp_from_cpustate from cpu.h to target_signal.h.
...
Enable sigaltstack processing for more architectures.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3253 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-27 16:44:32 +00:00
ths
a04e134ad1
linux-user sigaltstack() syscall, by Thayne Harbaugh.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3252 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-27 13:57:58 +00:00
ths
e3b9808535
Build fix for PowerPC hosts, where "PPC" is a predefined macro name.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3251 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-27 12:48:11 +00:00
j_mayer
e3878283de
Implement size bit in PowerPC 64 comparisons.
...
Allow 'weight' field in sync instruction.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3250 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-27 04:47:25 +00:00
j_mayer
4118a97030
memset string pages to zero to avoid putting random data on the stack
...
that may make some program crash at startup.
Fix unsigned long / target_ulong confusion (more to do).
Fix missing g2h macros.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3249 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-27 04:10:43 +00:00
ths
526216880d
SVM VINTR fix, by Alexander Graf.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3248 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-27 01:52:00 +00:00
j_mayer
40d0591e2c
Fixes for PowerPC 64 rotate and mask instructions.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3247 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-27 01:32:19 +00:00
j_mayer
92a343da3f
New ppc64-linux-user target.
...
Allow use of PowerPC 970 for debugging (softmmu would not run, for now).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3246 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-27 01:14:15 +00:00
j_mayer
b8d3f5d126
Add flags to support PowerPC 405 bootinfos variations.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3245 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-26 23:55:31 +00:00
j_mayer
a750fc0b91
Great rework and cleanups to ease PowerPC implementations definitions.
...
* cleanup cpu.h, removing definitions used only in translate.c/translate_init.c
* add new flags to define instructions sets more precisely
* various changes in MMU models definitions
* add definitions for PowerPC 440/460 support (insns and SPRs).
* add definitions for PowerPC 401/403 and 620 input pins model
* Fix definitions for most PowerPC 401, 403, 405, 440, 601, 602, 603 and 7x0
* Preliminary support for PowerPC 74xx (aka G4) without altivec.
* Code provision for other PowerPC support (7x5, 970, ...).
* New SPR and PVR defined, from PowerPC 2.04 specification and other sources
* Misc code bugs, error messages and styles fixes.
* Update status files for PowerPC cores support.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3244 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-26 23:54:22 +00:00
ths
08fa4bab83
hflags computation cleanup, by Aurelien Jarno.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3243 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-26 23:52:06 +00:00
ths
fe253235b2
Wrap a few often used tests with unlikely(), by Aurelien Jarno.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3242 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-26 23:50:39 +00:00
j_mayer
324071035f
Convert syscall arguments and return value from long to int or target_long.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3241 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-26 23:01:49 +00:00
ths
9007f0ef73
linux-user utimensat() syscall, by Thayne Harbaugh.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3240 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-25 17:50:37 +00:00
blueswir1
eb296a0a03
Remove the target dependency introduced by previous patch
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3239 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-25 17:30:09 +00:00
blueswir1
c2efc95d45
Fix monitor expressions
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3238 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-25 17:28:42 +00:00
ths
42532189df
Timer start/stop implementation, by Aurelien Jarno.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3237 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-25 16:53:15 +00:00