qemu
16 years agoShare devices that may be useful for all PowerPC 40x and 440 implementations.
j_mayer [Sun, 7 Oct 2007 14:25:11 +0000 (14:25 +0000)]
Share devices that may be useful for all PowerPC 40x and 440 implementations.

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

16 years agoShare devices that might be useful for all PowerPC 40x & 440 implementations
j_mayer [Sun, 7 Oct 2007 14:21:26 +0000 (14:21 +0000)]
Share devices that might be useful for all PowerPC 40x & 440 implementations
 (mostly CPU registration and UIC, for now).

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

16 years ago More user timer fixes (Robert Reif)
blueswir1 [Sun, 7 Oct 2007 10:00:55 +0000 (10:00 +0000)]
 More user timer fixes (Robert Reif)

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

16 years ago More detabification
blueswir1 [Sat, 6 Oct 2007 11:28:21 +0000 (11:28 +0000)]
 More detabification

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

16 years ago Implement user mode for timers
blueswir1 [Sat, 6 Oct 2007 11:25:43 +0000 (11:25 +0000)]
 Implement user mode for timers

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

16 years ago Support for loading a real BIOS image (Robert Reif)
blueswir1 [Sat, 6 Oct 2007 11:24:18 +0000 (11:24 +0000)]
 Support for loading a real BIOS image (Robert Reif)

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

16 years agoFull implementation of PowerPC 64 MMU, just missing support for 1 TB
j_mayer [Fri, 5 Oct 2007 22:06:02 +0000 (22:06 +0000)]
Full implementation of PowerPC 64 MMU, just missing support for 1 TB
  memory segments.
Remove the PowerPC 64 "bridge" MMU model and implement segment registers
  emulation using SLB entries instead.
Make SLB area size implementation dependant.
Improve TLB & SLB search debug traces.
Temporary hack to make PowerPC 970 boot from ROM instead of RAM.

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

16 years ago Implement sparc64_[gs]et_context
blueswir1 [Fri, 5 Oct 2007 17:01:51 +0000 (17:01 +0000)]
 Implement sparc64_[gs]et_context

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

16 years agoRename PowerPC MMUCSR0 and MMUCFG SPRs: those are not BookE specific.
j_mayer [Fri, 5 Oct 2007 13:11:25 +0000 (13:11 +0000)]
Rename PowerPC MMUCSR0 and MMUCFG SPRs: those are not BookE specific.

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

16 years agoPowerPC hardware reset vector is now considered as part of the exception model.
j_mayer [Fri, 5 Oct 2007 13:09:54 +0000 (13:09 +0000)]
PowerPC hardware reset vector is now considered as part of the exception model.
Use it at CPU initialisation time.

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

16 years agoNew '-bios' option, used to select an alternate BIOS image from bios_dir.
j_mayer [Fri, 5 Oct 2007 13:08:35 +0000 (13:08 +0000)]
New '-bios' option, used to select an alternate BIOS image from bios_dir.

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

16 years agoImplement PL110 byte order config bit (original patch by Richard Purdie).
balrog [Thu, 4 Oct 2007 23:45:31 +0000 (23:45 +0000)]
Implement PL110 byte order config bit (original patch by Richard Purdie).

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

16 years agoQuiet warnings introduced with the USB iso support.
balrog [Thu, 4 Oct 2007 22:55:53 +0000 (22:55 +0000)]
Quiet warnings introduced with the USB iso support.

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

16 years agoUSB iso transfers support for the linux redirector and for UHCI, by Arnon Gilboa.
balrog [Thu, 4 Oct 2007 22:47:34 +0000 (22:47 +0000)]
USB iso transfers support for the linux redirector and for UHCI, by Arnon Gilboa.

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

16 years agosh775x interrupt controller by Magnus Damm.
balrog [Thu, 4 Oct 2007 21:53:55 +0000 (21:53 +0000)]
sh775x interrupt controller by Magnus Damm.

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

16 years agoRemove redundant qemu_rearm_alarm_timer() in qemu_del_timer, patch by Dan Kenigsberg.
balrog [Thu, 4 Oct 2007 19:59:04 +0000 (19:59 +0000)]
Remove redundant qemu_rearm_alarm_timer() in qemu_del_timer, patch by Dan Kenigsberg.

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

16 years ago(int64_t)UINT64_MAX is -1 and should not be assigned to nearest_delta_us, patch by...
balrog [Thu, 4 Oct 2007 19:47:09 +0000 (19:47 +0000)]
(int64_t)UINT64_MAX is -1 and should not be assigned to nearest_delta_us, patch by Dan Kenigsberg.

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

16 years agoSeveral corrections in the spitzkbd keymap (patch by Juergen Lock).
balrog [Thu, 4 Oct 2007 19:41:17 +0000 (19:41 +0000)]
Several corrections in the spitzkbd keymap (patch by Juergen Lock).
Don't abort on illegal GPSR reads, instead only warn.

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

16 years agoWe must reset the PowerPC CPU _after_ registering it, as hardware reset
j_mayer [Thu, 4 Oct 2007 01:54:44 +0000 (01:54 +0000)]
We must reset the PowerPC CPU _after_ registering it, as hardware reset
  effect is implementation dependant.

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

16 years agoMore cache tuning fixes:
j_mayer [Thu, 4 Oct 2007 01:50:03 +0000 (01:50 +0000)]
More cache tuning fixes:
* fix the tunable cache line size probe for PowerPC 970.
* initialize HID5 so cache line is 32 bytes long when running in user-mode only

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

16 years agoMake PowerPC cache line size implementation dependant.
j_mayer [Thu, 4 Oct 2007 00:51:58 +0000 (00:51 +0000)]
Make PowerPC cache line size implementation dependant.
Implement dcbz tunable cache line size for PowerPC 970.
Make hardware reset vector implementation dependant.

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

16 years agoHID0 is a write-clear register on 970 (DBSR).
j_mayer [Wed, 3 Oct 2007 20:27:44 +0000 (20:27 +0000)]
HID0 is a write-clear register on 970 (DBSR).

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

16 years agoEnable PowerPC 64 MMU model and exceptions.
j_mayer [Wed, 3 Oct 2007 20:19:40 +0000 (20:19 +0000)]
Enable PowerPC 64 MMU model and exceptions.
Cleanups in MMU exceptions generation.

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

16 years ago Fix Sparc64 ldfa/stfa and float ops with fpr >= 32
blueswir1 [Wed, 3 Oct 2007 17:46:29 +0000 (17:46 +0000)]
 Fix Sparc64 ldfa/stfa and float ops with fpr >= 32

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

16 years agoFix PowerPC initialisation and first reset:
j_mayer [Wed, 3 Oct 2007 01:06:57 +0000 (01:06 +0000)]
Fix PowerPC initialisation and first reset:
 reset must occur after we defined the CPU features.

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

16 years agoWe never have to export ppc_set_irq.
j_mayer [Wed, 3 Oct 2007 01:05:39 +0000 (01:05 +0000)]
We never have to export ppc_set_irq.
Protect PowerPC 64 only features with #ifdef (TARGET_PPC64)

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

16 years agoFix PowerPC 405 BIOS instanciation: is a 32 bits only target.
j_mayer [Wed, 3 Oct 2007 01:04:20 +0000 (01:04 +0000)]
Fix PowerPC 405 BIOS instanciation: is a 32 bits only target.

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

16 years ago Fix kernel loading
blueswir1 [Tue, 2 Oct 2007 19:15:48 +0000 (19:15 +0000)]
 Fix kernel loading

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

16 years agoCode provision for hypervisor mode memory accesses.
j_mayer [Tue, 2 Oct 2007 10:11:50 +0000 (10:11 +0000)]
Code provision for hypervisor mode memory accesses.
Add comments in load & store tables to ease code reading.

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

16 years agoFix nasty sign-extensions when running 32 bits CPU in the 64 bits emulator
j_mayer [Mon, 1 Oct 2007 21:51:40 +0000 (21:51 +0000)]
Fix nasty sign-extensions when running 32 bits CPU in the 64 bits emulator
on 32 bits hosts.

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

16 years agoFix reproductible crash: call cpu_loop_exit from micro-op, not from helper.c
j_mayer [Mon, 1 Oct 2007 21:49:57 +0000 (21:49 +0000)]
Fix reproductible crash: call cpu_loop_exit from micro-op, not from helper.c

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

16 years ago Fix block load ASIs
blueswir1 [Mon, 1 Oct 2007 17:07:58 +0000 (17:07 +0000)]
 Fix block load ASIs

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

16 years agoQuickly hack PowerPC BIOS able to boot on CDROM again.
j_mayer [Mon, 1 Oct 2007 06:44:33 +0000 (06:44 +0000)]
Quickly hack PowerPC BIOS able to boot on CDROM again.

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

16 years agoFix missing nip updates for instructions that potentially generate
j_mayer [Mon, 1 Oct 2007 05:22:17 +0000 (05:22 +0000)]
Fix missing nip updates for instructions that potentially generate
  exceptions from op helpers.

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

16 years agoHandle all MMU models in switches, even if it's just to abort because of lack
j_mayer [Mon, 1 Oct 2007 05:16:57 +0000 (05:16 +0000)]
Handle all MMU models in switches, even if it's just to abort because of lack
  of supporting code.
Implement 74xx software TLB model.
Keep 74xx with software TLB disabled, as Linux is not able to handle TLB miss
  on those processors.

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

16 years agoMore comments about unimplemented SPRs.
j_mayer [Mon, 1 Oct 2007 04:48:45 +0000 (04:48 +0000)]
More comments about unimplemented SPRs.
Tag unused functions with unused attribute instead of using #ifdef (TODO)
  to ease tests: just have to enable the implementation in the cpu_defs table.

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

16 years agoOptimisations: avoid generation of duplicated micro-ops.
j_mayer [Mon, 1 Oct 2007 03:03:51 +0000 (03:03 +0000)]
Optimisations: avoid generation of duplicated micro-ops.

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

16 years agoCompilation fix (forgotten patch).
j_mayer [Mon, 1 Oct 2007 02:55:07 +0000 (02:55 +0000)]
Compilation fix (forgotten patch).

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

16 years agoRemove definitions for deprecated SLB & TLB related op helpers.
j_mayer [Mon, 1 Oct 2007 01:59:12 +0000 (01:59 +0000)]
Remove definitions for deprecated SLB & TLB related op helpers.

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

16 years agoAvoid op helpers that would just call helpers for TLB & SLB management:
j_mayer [Mon, 1 Oct 2007 01:51:12 +0000 (01:51 +0000)]
Avoid op helpers that would just call helpers for TLB & SLB management:
  call the helpers directly from the micro-ops.
Avoid duplicated code for tlbsx. implementation.

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

16 years agoShare more SPR instanciations between all PowerPC 401 incarnations.
j_mayer [Mon, 1 Oct 2007 01:38:03 +0000 (01:38 +0000)]
Share more SPR instanciations between all PowerPC 401 incarnations.
Add comments about some unimplemented storage control dedicated SPRs.

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

16 years agoImplement embedded PowerPC exceptions prefix and vectors registers.
j_mayer [Mon, 1 Oct 2007 01:32:49 +0000 (01:32 +0000)]
Implement embedded PowerPC exceptions prefix and vectors registers.

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

16 years agoShare input pins and internal interrupt controller between all PowerPC 40x.
j_mayer [Mon, 1 Oct 2007 01:27:10 +0000 (01:27 +0000)]
Share input pins and internal interrupt controller between all PowerPC 40x.
Fix critical input interrupt generation.

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

16 years ago Fix Sparc64 ldfa, lddfa, stfa, and stdfa instructions
blueswir1 [Sun, 30 Sep 2007 19:38:12 +0000 (19:38 +0000)]
 Fix Sparc64 ldfa, lddfa, stfa, and stdfa instructions

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

16 years ago Fix Sparc64 wrasr instructions
blueswir1 [Sun, 30 Sep 2007 16:37:00 +0000 (16:37 +0000)]
 Fix Sparc64 wrasr instructions

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

16 years agoFix (once again) PowerPC sync weight field.
j_mayer [Sun, 30 Sep 2007 15:21:15 +0000 (15:21 +0000)]
Fix (once again) PowerPC sync weight field.

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

16 years agoFix PowerPC TLB miss dump code.
j_mayer [Sun, 30 Sep 2007 15:19:48 +0000 (15:19 +0000)]
Fix PowerPC TLB miss dump code.

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

16 years agoFix missing case in the new PowerPC exception model.
j_mayer [Sun, 30 Sep 2007 15:15:18 +0000 (15:15 +0000)]
Fix missing case in the new PowerPC exception model.

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

16 years agoFix inconsistent end conditions in ppc_find_xxx functions.
j_mayer [Sun, 30 Sep 2007 14:52:08 +0000 (14:52 +0000)]
Fix inconsistent end conditions in ppc_find_xxx functions.
  (crash reported by Andreas Farber when using default CPU).

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

16 years agoFix compilation on Darwin platform, avoiding the use of gcc function attributes
j_mayer [Sun, 30 Sep 2007 14:44:52 +0000 (14:44 +0000)]
Fix compilation on Darwin platform, avoiding the use of gcc function attributes
 (problem reported by Andreas Farber).
: ----------------------------------------------------------------------

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

16 years agoFix mmap to handle differing host/target page sizes, by Edgar E. Iglesias.
ths [Sun, 30 Sep 2007 14:32:45 +0000 (14:32 +0000)]
Fix mmap to handle differing host/target page sizes, by Edgar E. Iglesias.

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

16 years agoAdd get_sp_from_cpustate implementation.
ths [Sun, 30 Sep 2007 13:49:22 +0000 (13:49 +0000)]
Add get_sp_from_cpustate implementation.

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

16 years ago* Update OEA environment, following the PowerPC 2.04 specification:
j_mayer [Sun, 30 Sep 2007 13:03:23 +0000 (13:03 +0000)]
* Update OEA environment, following the PowerPC 2.04 specification:
- New mtmsr/mtmsrd form that just update RI and EE bits
- New hrfid, lq and stq instructions
- Add support for supervisor and hypervisor modes process priority update
- Code provision for hypervisor SPR accesses
* Actually implement the wait instruction
* Bugfixes (missing RETURN in micro-op / missing #ifdef)

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

16 years agoSupport UltraVNC clients, by Eduardo Felipe.
ths [Sun, 30 Sep 2007 13:01:15 +0000 (13:01 +0000)]
Support UltraVNC clients, by Eduardo Felipe.

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

16 years agoSynchronize with latest PowerPC ISA VEA:
j_mayer [Sun, 30 Sep 2007 03:46:38 +0000 (03:46 +0000)]
Synchronize with latest PowerPC ISA VEA:
* fix invalid instructions bits masks
* new wait instruction
* more comments about effect of cache instructions on the MMU

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

16 years agoAdd mipsn32{,el}-linux-user.
ths [Sun, 30 Sep 2007 02:14:03 +0000 (02:14 +0000)]
Add mipsn32{,el}-linux-user.

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

16 years agoRemove unused variable.
ths [Sun, 30 Sep 2007 02:10:37 +0000 (02:10 +0000)]
Remove unused variable.

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

16 years agoCode provision for n32/n64 mips userland emulation. Not functional yet.
ths [Sun, 30 Sep 2007 01:58:33 +0000 (01:58 +0000)]
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

16 years agoAvoid crash on NULL timers.
j_mayer [Sun, 30 Sep 2007 01:29:07 +0000 (01:29 +0000)]
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

16 years agoImplement Process Priority Register as defined in the PowerPC 2.04 spec.
j_mayer [Sun, 30 Sep 2007 01:18:26 +0000 (01:18 +0000)]
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

16 years agoImplement new floating-point instructions (fre, frin, friz, frip, frim)
j_mayer [Sun, 30 Sep 2007 01:11:48 +0000 (01:11 +0000)]
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

16 years agoImprove single-precision floats load & stores:
j_mayer [Sun, 30 Sep 2007 01:01:08 +0000 (01:01 +0000)]
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

16 years agoXER is to be treated as a 64 bits register on 64 bits implementations,
j_mayer [Sun, 30 Sep 2007 00:50:23 +0000 (00:50 +0000)]
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

16 years agoUpdate TODO.
ths [Sun, 30 Sep 2007 00:45:51 +0000 (00:45 +0000)]
Update TODO.

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

16 years agoImplement the PowerPC alternate time-base, following the 2.04 specification.
j_mayer [Sun, 30 Sep 2007 00:38:38 +0000 (00:38 +0000)]
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

16 years agoDon't hardcode the host architecture name.
ths [Sat, 29 Sep 2007 21:22:33 +0000 (21:22 +0000)]
Don't hardcode the host architecture name.

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

16 years agoUpdate tarbin rule.
ths [Sat, 29 Sep 2007 21:18:26 +0000 (21:18 +0000)]
Update tarbin rule.

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

16 years agoEnable sh4-softmmu and sh4-linux-user builds by default, by Magnus Damm.
ths [Sat, 29 Sep 2007 19:55:21 +0000 (19:55 +0000)]
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

16 years agoFix rte opcode, by Magnus Damm.
ths [Sat, 29 Sep 2007 19:52:22 +0000 (19:52 +0000)]
Fix rte opcode, by Magnus Damm.

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

16 years agoAdd FRQCR read support, by Magnus Damm.
ths [Sat, 29 Sep 2007 19:51:40 +0000 (19:51 +0000)]
Add FRQCR read support, by Magnus Damm.

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

16 years agoAdd INTC controller prototype, by Magnus Damm.
ths [Sat, 29 Sep 2007 19:47:44 +0000 (19:47 +0000)]
Add INTC controller prototype, by Magnus Damm.

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

16 years agoStand-alone SCI/SCIF emulation code, by Magnus Damm.
ths [Sat, 29 Sep 2007 19:43:54 +0000 (19:43 +0000)]
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

16 years agoStand-alone TMU emulation code, by Magnus Damm.
ths [Sat, 29 Sep 2007 19:40:09 +0000 (19:40 +0000)]
Stand-alone TMU emulation code, by Magnus Damm.

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

16 years agoAdd R2D-PLUS support, by Magnus Damm.
ths [Sat, 29 Sep 2007 19:24:41 +0000 (19:24 +0000)]
Add R2D-PLUS support, by Magnus Damm.

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

16 years agoSupervisor mode implementation, by Aurelien Jarno.
ths [Sat, 29 Sep 2007 19:21:36 +0000 (19:21 +0000)]
Supervisor mode implementation, by Aurelien Jarno.

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

16 years agoLess magic constants.
ths [Sat, 29 Sep 2007 19:19:59 +0000 (19:19 +0000)]
Less magic constants.

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

16 years agoPowerPC emulation optimization:
j_mayer [Sat, 29 Sep 2007 15:02:38 +0000 (15:02 +0000)]
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

16 years agoCode provision for hypervisor timers resources,
j_mayer [Sat, 29 Sep 2007 13:21:37 +0000 (13:21 +0000)]
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

16 years agoFix PowerPC target objects dependencies
j_mayer [Sat, 29 Sep 2007 13:20:12 +0000 (13:20 +0000)]
Fix PowerPC target objects dependencies

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

16 years agoProvision for x86_64-linux-user target: needs get_sp_from_cpustate
j_mayer [Sat, 29 Sep 2007 13:12:58 +0000 (13:12 +0000)]
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

16 years agoRework PowerPC exceptions model to make it more versatile:
j_mayer [Sat, 29 Sep 2007 13:06:16 +0000 (13:06 +0000)]
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

16 years agomake cpu_abort dump cpu state in logfile, which is useful for debugging.
j_mayer [Sat, 29 Sep 2007 12:18:20 +0000 (12:18 +0000)]
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

16 years agoalways_inline gcc directive can be useful.
j_mayer [Sat, 29 Sep 2007 12:17:25 +0000 (12:17 +0000)]
always_inline gcc directive can be useful.

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

16 years agohost_utils.o may also be useful for user-mode emulation.
j_mayer [Sat, 29 Sep 2007 12:15:39 +0000 (12:15 +0000)]
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

16 years agoDefine the proper bfd_mach to be used by the disassembler for each
j_mayer [Sat, 29 Sep 2007 12:01:46 +0000 (12:01 +0000)]
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

16 years agoChange POWERPC_PPC_GENERIC to POWERPC_DEFAULT.
j_mayer [Sat, 29 Sep 2007 11:51:08 +0000 (11:51 +0000)]
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

16 years agoFix MIPS FP underflow handling, spotted by Daniel Jacobowitz.
ths [Fri, 28 Sep 2007 19:30:36 +0000 (19:30 +0000)]
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

16 years agoBuild fix, ppc64 needs also a get_sp_from_cpustate function now.
ths [Fri, 28 Sep 2007 18:45:59 +0000 (18:45 +0000)]
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

16 years agoMove get_sp_from_cpustate from cpu.h to target_signal.h.
ths [Thu, 27 Sep 2007 16:44:32 +0000 (16:44 +0000)]
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

16 years agolinux-user sigaltstack() syscall, by Thayne Harbaugh.
ths [Thu, 27 Sep 2007 13:57:58 +0000 (13:57 +0000)]
linux-user sigaltstack() syscall, by Thayne Harbaugh.

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

16 years agoBuild fix for PowerPC hosts, where "PPC" is a predefined macro name.
ths [Thu, 27 Sep 2007 12:48:11 +0000 (12:48 +0000)]
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

16 years agoImplement size bit in PowerPC 64 comparisons.
j_mayer [Thu, 27 Sep 2007 04:47:25 +0000 (04:47 +0000)]
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

16 years agomemset string pages to zero to avoid putting random data on the stack
j_mayer [Thu, 27 Sep 2007 04:10:43 +0000 (04:10 +0000)]
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

16 years agoSVM VINTR fix, by Alexander Graf.
ths [Thu, 27 Sep 2007 01:52:00 +0000 (01:52 +0000)]
SVM VINTR fix, by Alexander Graf.

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

16 years agoFixes for PowerPC 64 rotate and mask instructions.
j_mayer [Thu, 27 Sep 2007 01:32:19 +0000 (01:32 +0000)]
Fixes for PowerPC 64 rotate and mask instructions.

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

16 years agoNew ppc64-linux-user target.
j_mayer [Thu, 27 Sep 2007 01:14:15 +0000 (01:14 +0000)]
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

16 years agoAdd flags to support PowerPC 405 bootinfos variations.
j_mayer [Wed, 26 Sep 2007 23:55:31 +0000 (23:55 +0000)]
Add flags to support PowerPC 405 bootinfos variations.

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

16 years agoGreat rework and cleanups to ease PowerPC implementations definitions.
j_mayer [Wed, 26 Sep 2007 23:54:22 +0000 (23:54 +0000)]
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

16 years agohflags computation cleanup, by Aurelien Jarno.
ths [Wed, 26 Sep 2007 23:52:06 +0000 (23:52 +0000)]
hflags computation cleanup, by Aurelien Jarno.

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

16 years agoWrap a few often used tests with unlikely(), by Aurelien Jarno.
ths [Wed, 26 Sep 2007 23:50:39 +0000 (23:50 +0000)]
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