j_mayer
a9d9eb8fd4
Implement PowerPC Altivec load & stores, used by Apple firmware for memcpy.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3349 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-07 18:19:26 +00:00
j_mayer
b33c17e12d
PowerPC target coding style fixes.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3348 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-07 17:30:34 +00:00
j_mayer
b068d6a713
PowerPC target optimisations: make intensive use of always_inline.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3347 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-07 17:13:44 +00:00
j_mayer
ed26abdbc1
Report missing elf_addr_t definition from Linux kernel header
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3346 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-07 16:07:25 +00:00
j_mayer
3d17787055
Fix host and target longs confusions (continued).
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3345 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-07 16:06:13 +00:00
j_mayer
863cf0b72c
Fix confusions between host and target long types.
...
Fix start_data computation.
Fix auxiliary infos setup.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3344 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-07 15:59:45 +00:00
j_mayer
f2e63a42c9
Reorganize the CPUPPCState structure to group features.
...
Add #ifdef to avoid compiling not relevant resources:
- MMU related stuff for user-mode only targets
- PowerPC 64 only resources for PowerPC 32 targets
- embedded PowerPC extensions for non-ppcemb targets.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3343 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-07 15:43:50 +00:00
j_mayer
d26bfc9a1b
Add MSR bits signification per PowerPC implementation flags (to be continued).
...
As a side effect, single step and branch step are available again.
Remove irrelevant MSR bits definitions.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3342 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-07 14:41:00 +00:00
j_mayer
7875ed20d7
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
2007-10-07 14:25:11 +00:00
j_mayer
008ff9d756
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
2007-10-07 14:21:26 +00:00
blueswir1
115646b648
More user timer fixes (Robert Reif)
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3339 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-07 10:00:55 +00:00
blueswir1
f930d07eda
More detabification
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3338 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-06 11:28:21 +00:00
blueswir1
81732d1926
Implement user mode for timers
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3337 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-06 11:25:43 +00:00
blueswir1
aa6ad6fee2
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
2007-10-06 11:24:18 +00:00
j_mayer
12de9a396a
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
2007-10-05 22:06:02 +00:00
blueswir1
5bfb56b264
Implement sparc64_[gs]et_context
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3334 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-05 17:01:51 +00:00
j_mayer
65f9ee8d67
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
2007-10-05 13:11:25 +00:00
j_mayer
1c27f8fbfe
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
2007-10-05 13:09:54 +00:00
j_mayer
1192dad879
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
2007-10-05 13:08:35 +00:00
balrog
e9c05b42e3
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
2007-10-04 23:45:31 +00:00
balrog
4d043a0900
Quiet warnings introduced with the USB iso support.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3329 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-04 22:55:53 +00:00
balrog
b9dc033c0d
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
2007-10-04 22:47:34 +00:00
balrog
80f515e636
sh775x interrupt controller by Magnus Damm.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3327 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-04 21:53:55 +00:00
balrog
30d6eaca96
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
2007-10-04 19:59:04 +00:00
balrog
49a9b72568
(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
2007-10-04 19:47:09 +00:00
balrog
2b76bdc965
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
2007-10-04 19:41:17 +00:00
j_mayer
1cc8e6f067
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
2007-10-04 01:54:44 +00:00
j_mayer
e57448f11c
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
2007-10-04 01:50:03 +00:00
j_mayer
d63001d114
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
2007-10-04 00:51:58 +00:00
j_mayer
064034211a
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
2007-10-03 20:27:44 +00:00
j_mayer
8f793433af
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
2007-10-03 20:19:40 +00:00
blueswir1
0387d92875
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
2007-10-03 17:46:29 +00:00
j_mayer
fe33cc7103
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
2007-10-03 01:06:57 +00:00
j_mayer
00af685fc9
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
2007-10-03 01:05:39 +00:00
j_mayer
217fae2d6b
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
2007-10-03 01:04:20 +00:00
blueswir1
0bd5f4ce3b
Fix kernel loading
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3314 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-02 19:15:48 +00:00
j_mayer
2857068eb1
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
2007-10-02 10:11:50 +00:00
j_mayer
2f4011767b
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
2007-10-01 21:51:40 +00:00
j_mayer
a97fed52e5
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
2007-10-01 21:49:57 +00:00
blueswir1
51996525c7
Fix block load ASIs
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3310 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-01 17:07:58 +00:00
j_mayer
55aa45ddde
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
2007-10-01 06:44:33 +00:00
j_mayer
30032c940a
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
2007-10-01 05:22:17 +00:00
j_mayer
7dbe11acd8
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
2007-10-01 05:16:57 +00:00
j_mayer
578bb25230
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
2007-10-01 04:48:45 +00:00
j_mayer
056b05f8d2
Optimisations: avoid generation of duplicated micro-ops.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3305 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-01 03:03:51 +00:00
j_mayer
b48d7d697f
Compilation fix (forgotten patch).
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3304 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-01 02:55:07 +00:00
j_mayer
5356c7b5a6
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
2007-10-01 01:59:12 +00:00
j_mayer
daf4f96ece
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
2007-10-01 01:51:12 +00:00
j_mayer
035feb8857
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
2007-10-01 01:38:03 +00:00
j_mayer
6f5d427d58
Implement embedded PowerPC exceptions prefix and vectors registers.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3300 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-01 01:32:49 +00:00