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
1e6784f960Fix PowerPC TLB miss dump code.
j_mayer
2007-09-30 15:19:48 +00:00
56ba31ff0bFix missing case in the new PowerPC exception model.
j_mayer
2007-09-30 15:15:18 +00:00
068abdc8a5Fix inconsistent end conditions in ppc_find_xxx functions. (crash reported by Andreas Farber when using default CPU).
j_mayer
2007-09-30 14:52:08 +00:00
8a84de23b8Fix compilation on Darwin platform, avoiding the use of gcc function attributes (problem reported by Andreas Farber). : ----------------------------------------------------------------------
j_mayer
2007-09-30 14:44:52 +00:00
a5b85f7959Fix mmap to handle differing host/target page sizes, by Edgar E. Iglesias.
ths
2007-09-30 14:32:45 +00:00
be147d0879* 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)
j_mayer
2007-09-30 13:03:23 +00:00
b0566f4f45Support UltraVNC clients, by Eduardo Felipe.
ths
2007-09-30 13:01:15 +00:00
0db1b20e47Synchronize with latest PowerPC ISA VEA: * fix invalid instructions bits masks * new wait instruction * more comments about effect of cache instructions on the MMU
j_mayer
2007-09-30 03:46:38 +00:00
540635ba65Code provision for n32/n64 mips userland emulation. Not functional yet.
ths
2007-09-30 01:58:33 +00:00
868d585aceAvoid crash on NULL timers. This is a rework of Stefan Weil proposed patch.
j_mayer
2007-09-30 01:29:07 +00:00
c80f84e3c0Implement Process Priority Register as defined in the PowerPC 2.04 spec.
j_mayer
2007-09-30 01:18:26 +00:00
d7e4b87e53Implement new floating-point instructions (fre, frin, friz, frip, frim) as defined in the PowerPC 2.04 specification.
j_mayer
2007-09-30 01:11:48 +00:00
477023a603Improve 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.
j_mayer
2007-09-30 01:01:08 +00:00
bfa1e5cf0aXER is to be treated as a 64 bits register on 64 bits implementations, according to the PowerPC 2.04 specification.
j_mayer
2007-09-30 00:50:23 +00:00
a062e36c58Implement 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.
j_mayer
2007-09-30 00:38:38 +00:00
4887d78b01Don't hardcode the host architecture name.
ths
2007-09-29 21:22:33 +00:00
dee96f6ca3PowerPC emulation optimization: avoid stopping translation after most SPR updates when a context-synchronization instruction is also needed.
j_mayer
2007-09-29 15:02:38 +00:00
58a7d32872Code provision for hypervisor timers resources, as described in PowerPC 2.04 specification.
j_mayer
2007-09-29 13:21:37 +00:00
8bb1f9c51cProvision for x86_64-linux-user target: needs get_sp_from_cpustate
j_mayer
2007-09-29 13:12:58 +00:00
e1833e1f96Rework 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.
j_mayer
2007-09-29 13:06:16 +00:00
f93732914emake cpu_abort dump cpu state in logfile, which is useful for debugging.
j_mayer
2007-09-29 12:18:20 +00:00
29f640e2cfalways_inline gcc directive can be useful.
j_mayer
2007-09-29 12:17:25 +00:00
f1548daae3host_utils.o may also be useful for user-mode emulation.
j_mayer
2007-09-29 12:15:39 +00:00
237c0af017Define the proper bfd_mach to be used by the disassembler for each PowerPC emulated CPU.
j_mayer
2007-09-29 12:01:46 +00:00
d12f4c3822Change POWERPC_PPC_GENERIC to POWERPC_DEFAULT. Use it as default for workstation targets. Fix PowerPC 750fl and 750gl definitions.
j_mayer
2007-09-29 11:51:08 +00:00
418d7c7169Fix MIPS FP underflow handling, spotted by Daniel Jacobowitz.
ths
2007-09-28 19:30:36 +00:00
df0d373665Build fix, ppc64 needs also a get_sp_from_cpustate function now.
ths
2007-09-28 18:45:59 +00:00
198a74de4cMove get_sp_from_cpustate from cpu.h to target_signal.h. Enable sigaltstack processing for more architectures.
ths
2007-09-27 16:44:32 +00:00
a04e134ad1linux-user sigaltstack() syscall, by Thayne Harbaugh.
ths
2007-09-27 13:57:58 +00:00
e3b9808535Build fix for PowerPC hosts, where "PPC" is a predefined macro name.
ths
2007-09-27 12:48:11 +00:00
e3878283deImplement size bit in PowerPC 64 comparisons. Allow 'weight' field in sync instruction.
j_mayer
2007-09-27 04:47:25 +00:00
4118a97030memset 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.
j_mayer
2007-09-27 04:10:43 +00:00
526216880dSVM VINTR fix, by Alexander Graf.
ths
2007-09-27 01:52:00 +00:00
40d0591e2cFixes for PowerPC 64 rotate and mask instructions.
j_mayer
2007-09-27 01:32:19 +00:00
92a343da3fNew ppc64-linux-user target. Allow use of PowerPC 970 for debugging (softmmu would not run, for now).
j_mayer
2007-09-27 01:14:15 +00:00
b8d3f5d126Add flags to support PowerPC 405 bootinfos variations.
j_mayer
2007-09-26 23:55:31 +00:00
a750fc0b91Great 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.
j_mayer
2007-09-26 23:54:22 +00:00
08fa4bab83hflags computation cleanup, by Aurelien Jarno.
ths
2007-09-26 23:52:06 +00:00
fe253235b2Wrap a few often used tests with unlikely(), by Aurelien Jarno.
ths
2007-09-26 23:50:39 +00:00
324071035fConvert syscall arguments and return value from long to int or target_long.
j_mayer
2007-09-26 23:01:49 +00:00
9007f0ef73linux-user utimensat() syscall, by Thayne Harbaugh.
ths
2007-09-25 17:50:37 +00:00
eb296a0a03Remove the target dependency introduced by previous patch
blueswir1
2007-09-25 17:30:09 +00:00