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
2662a059aaMore PowerPC definitions, from POWER 2.04 specifications and misc sources. Check that at least instructions set and SPRs are correct for PowerPC 401, 403, 405 and 440 cores. Implement PowerPC 401 MMU model (real-mode only). Improve INSNs and SPRs dump to ease parse with standard shell tools. Add more precise status for most PowerPC cores families.
j_mayer
2007-09-21 05:50:37 +00:00
4296f45902Make CPU hflags be a masked version of the PowerPC MSR. As a side effect, avoid potential bits shadowing in TB flags on 64 bits BookE.
j_mayer
2007-09-21 05:23:26 +00:00
2e03286b9aMake likely/unlikely accessible also in hw/. Revert the logfile->stderr change.
balrog
2007-09-20 13:24:53 +00:00
a50a6282d7Use logfile only when loglevel is set (http://bugzilla.openmoko.org/cgi-bin/bugz illa/show_bug.cgi?id=886). raw_pread() and raw_pwrite() are expected to return number of bytes read.
balrog
2007-09-20 12:42:24 +00:00
cbecba264bMove likely and unlikely macros in a common place (Aurelien Jarno).
j_mayer
2007-09-20 09:44:48 +00:00
ff937dbad1More PowerPC registers definitions. Avoid duplicating code and, as a side effect, fix missing bits in MSR.
j_mayer
2007-09-19 05:49:13 +00:00
71c8b8fd7bTARGET_FMT_lu may also be useful. Fix compilation warnings.
j_mayer
2007-09-19 05:46:03 +00:00
5eb7995e34Code provision for PowerPC BookE MMU model support. Better MSR flags initialisation.
j_mayer
2007-09-19 05:44:04 +00:00
1527c87eeeImprove PowerPC target implementation, using computed hflags as TB flags.
j_mayer
2007-09-19 05:37:56 +00:00
0686970f81Avoid Linux to stay stucked in an infinite loop when requesting a reboot.
j_mayer
2007-09-19 04:46:57 +00:00
caa4039cedCode provision for PowerPC 64 MMU model support.
j_mayer
2007-09-19 04:36:02 +00:00
be58fc7cc7Always keep the bootinfo structure in the first 16 MB, as suggested by Andrew May. Fix compilation warnings introduced by variables types changes.
j_mayer
2007-09-18 21:47:18 +00:00
d9d7210c7dFix PowerPC 32 emulation on 64 bits hosts: we can use 64 bits registers but not pretend page is 1kB long As it seems most Linux programs assume page-size is 4kB, never allow 1kB pages for user-mode only emulation.
j_mayer
2007-09-18 11:17:30 +00:00
e2b577e5e5Prevent segfaulting when -clock is specified multiple times.
balrog
2007-09-17 21:25:20 +00:00
926acf8f73Pass correct pointer to HID keyboard event handler, fixes regression from IDLE mode introduction.
balrog
2007-09-17 17:27:00 +00:00
966439a678PowerPC flags update/use fixes: - fix confusion between overflow/summary overflow, as reported by S Bansal. - reset carry in addic. optimized case (as it was already done in addic).
j_mayer
2007-09-17 09:51:40 +00:00
3608160206Coding style fixes in PowerPC related code (no functional change): - avoid useless blanks at EOL. - avoid tabs. - fix wrapping lines on 80 chars terminals. - add missing ';' at macros EOL to avoid confusing auto-identers. - fix identation. - Remove historical macros in micro-ops (PARAM, SPARAM, PPC_OP, regs)
j_mayer
2007-09-17 08:21:54 +00:00
3b46e62427find -type f | xargs sed -i 's/[\t ]*$//g' # Yes, again. Note the star in the regex.
ths
2007-09-17 08:09:54 +00:00
ef18c8839eSolaris x86_64 configure patch, by Ben Taylor.
ths
2007-09-16 22:12:39 +00:00