a01d8cadadFix memory corruption reported by Julian Seward (still more bugs to fix in PreP emulation).
j_mayer
2007-10-14 08:52:44 +00:00
bb6f6792bfAllow Alpha target to use supervisor and executive mode micro-ops.
j_mayer
2007-10-14 08:50:17 +00:00
e63ecc6f68Do not allow PowerPC CPU restart after entering checkstop mode.
j_mayer
2007-10-14 08:48:23 +00:00
22f8a8b31cProvision for PowerPC 64 with hypervisor mode support - not enabled for now. For consistency, group all PowerPC targets.
j_mayer
2007-10-14 08:38:29 +00:00
1e42b8f06dGenerate micro-ops for PowerPC hypervisor mode.
j_mayer
2007-10-14 08:27:14 +00:00
b1806c9e67Generate micro-ops for Alpha executive and supervisor modes.
j_mayer
2007-10-14 08:18:12 +00:00
6ebbf39000Replace is_user variable with mmu_idx in softmmu core, allowing support of more than 2 mmu access modes. Add backward compatibility is_user variable in targets code when needed. Implement per target cpu_mmu_index function, avoiding duplicated code and #ifdef TARGET_xxx in softmmu core functions. Implement per target mmu modes definitions. As an example, add PowerPC hypervisor mode definition and Alpha executive and kernel modes definitions. Optimize PowerPC case, precomputing mmu_idx when MSR register changes and using the same definition in code translation code.
j_mayer
2007-10-14 07:07:08 +00:00
863cf0b72cFix confusions between host and target long types. Fix start_data computation. Fix auxiliary infos setup.
j_mayer
2007-10-07 15:59:45 +00:00
f2e63a42c9Reorganize 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.
j_mayer
2007-10-07 15:43:50 +00:00
d26bfc9a1bAdd 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.
j_mayer
2007-10-07 14:41:00 +00:00
7875ed20d7Share devices that may be useful for all PowerPC 40x and 440 implementations.
j_mayer
2007-10-07 14:25:11 +00:00
008ff9d756Share devices that might be useful for all PowerPC 40x & 440 implementations (mostly CPU registration and UIC, for now).
j_mayer
2007-10-07 14:21:26 +00:00
115646b648More user timer fixes (Robert Reif)
blueswir1
2007-10-07 10:00:55 +00:00
81732d1926Implement user mode for timers
blueswir1
2007-10-06 11:25:43 +00:00
aa6ad6fee2Support for loading a real BIOS image (Robert Reif)
blueswir1
2007-10-06 11:24:18 +00:00
12de9a396aFull 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.
j_mayer
2007-10-05 22:06:02 +00:00
65f9ee8d67Rename PowerPC MMUCSR0 and MMUCFG SPRs: those are not BookE specific.
j_mayer
2007-10-05 13:11:25 +00:00
1c27f8fbfePowerPC hardware reset vector is now considered as part of the exception model. Use it at CPU initialisation time.
j_mayer
2007-10-05 13:09:54 +00:00
1192dad879New '-bios' option, used to select an alternate BIOS image from bios_dir.
j_mayer
2007-10-05 13:08:35 +00:00
e9c05b42e3Implement PL110 byte order config bit (original patch by Richard Purdie).
balrog
2007-10-04 23:45:31 +00:00
4d043a0900Quiet warnings introduced with the USB iso support.
balrog
2007-10-04 22:55:53 +00:00
b9dc033c0dUSB iso transfers support for the linux redirector and for UHCI, by Arnon Gilboa.
balrog
2007-10-04 22:47:34 +00:00
80f515e636sh775x interrupt controller by Magnus Damm.
balrog
2007-10-04 21:53:55 +00:00
30d6eaca96Remove redundant qemu_rearm_alarm_timer() in qemu_del_timer, patch by Dan Kenigsberg.
balrog
2007-10-04 19:59:04 +00:00
49a9b72568(int64_t)UINT64_MAX is -1 and should not be assigned to nearest_delta_us, patch by Dan Kenigsberg.
balrog
2007-10-04 19:47:09 +00:00
2b76bdc965Several corrections in the spitzkbd keymap (patch by Juergen Lock). Don't abort on illegal GPSR reads, instead only warn.
balrog
2007-10-04 19:41:17 +00:00
1cc8e6f067We must reset the PowerPC CPU _after_ registering it, as hardware reset effect is implementation dependant.
j_mayer
2007-10-04 01:54:44 +00:00
e57448f11cMore 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
j_mayer
2007-10-04 01:50:03 +00:00
d63001d114Make PowerPC cache line size implementation dependant. Implement dcbz tunable cache line size for PowerPC 970. Make hardware reset vector implementation dependant.
j_mayer
2007-10-04 00:51:58 +00:00
064034211aHID0 is a write-clear register on 970 (DBSR).
j_mayer
2007-10-03 20:27:44 +00:00
8f793433afEnable PowerPC 64 MMU model and exceptions. Cleanups in MMU exceptions generation.
j_mayer
2007-10-03 20:19:40 +00:00
0387d92875Fix Sparc64 ldfa/stfa and float ops with fpr >= 32
blueswir1
2007-10-03 17:46:29 +00:00
fe33cc7103Fix PowerPC initialisation and first reset: reset must occur after we defined the CPU features.
j_mayer
2007-10-03 01:06:57 +00:00
00af685fc9We never have to export ppc_set_irq. Protect PowerPC 64 only features with #ifdef (TARGET_PPC64)
j_mayer
2007-10-03 01:05:39 +00:00
217fae2d6bFix PowerPC 405 BIOS instanciation: is a 32 bits only target.
j_mayer
2007-10-03 01:04:20 +00:00
55aa45dddeQuickly hack PowerPC BIOS able to boot on CDROM again.
j_mayer
2007-10-01 06:44:33 +00:00
30032c940aFix missing nip updates for instructions that potentially generate exceptions from op helpers.
j_mayer
2007-10-01 05:22:17 +00:00
7dbe11acd8Handle 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.
j_mayer
2007-10-01 05:16:57 +00:00
578bb25230More 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.
j_mayer
2007-10-01 04:48:45 +00:00
056b05f8d2Optimisations: avoid generation of duplicated micro-ops.
j_mayer
2007-10-01 03:03:51 +00:00
5356c7b5a6Remove definitions for deprecated SLB & TLB related op helpers.
j_mayer
2007-10-01 01:59:12 +00:00
daf4f96eceAvoid 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.
j_mayer
2007-10-01 01:51:12 +00:00
035feb8857Share more SPR instanciations between all PowerPC 401 incarnations. Add comments about some unimplemented storage control dedicated SPRs.
j_mayer
2007-10-01 01:38:03 +00:00