aboutsummaryrefslogtreecommitdiff
path: root/linux-user/main.c
AgeCommit message (Collapse)Author
2007-09-30Fix missing case in the new PowerPC exception model.j_mayer
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3294 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-30Code provision for n32/n64 mips userland emulation. Not functional yet.ths
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3284 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-30Implement the PowerPC alternate time-base, following the 2.04 specification.j_mayer
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
2007-09-29Rework PowerPC exceptions model to make it more versatile:j_mayer
* 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
2007-09-26Great rework and cleanups to ease PowerPC implementations definitions.j_mayer
* 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
2007-09-17find -type f | xargs sed -i 's/[\t ]*$//g' # Yes, again. Note the star in ↵ths
the regex. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3177 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-16find -type f | xargs sed -i 's/[\t ]$//g' # on most filesths
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3173 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-06Partial support for 34K multithreading, not functional yet.ths
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3156 c046a42c-6fe2-441c-8c8c-71466251a162
2007-07-07 Deliver page faults to programblueswir1
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3049 c046a42c-6fe2-441c-8c8c-71466251a162
2007-06-27Fix environ termination, by Andreas Schwab.ths
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3027 c046a42c-6fe2-441c-8c8c-71466251a162
2007-06-21Hack to keep wine happy, by Alexander Graf.ths
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2993 c046a42c-6fe2-441c-8c8c-71466251a162
2007-06-17Option to drop LD_PRELOAD from emulated environment, by Lauri Leukkunen.ths
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2985 c046a42c-6fe2-441c-8c8c-71466251a162
2007-06-01Delete leftover Status FPU flag check.ths
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2920 c046a42c-6fe2-441c-8c8c-71466251a162
2007-05-27Spelling fix (Mark Glines)blueswir1
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2879 c046a42c-6fe2-441c-8c8c-71466251a162
2007-05-26Rework m68k cpu feature flags.pbrook
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2865 c046a42c-6fe2-441c-8c8c-71466251a162
2007-05-26M68k system mode semihosting.pbrook
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2861 c046a42c-6fe2-441c-8c8c-71466251a162
2007-05-23m68k/ColdFire system emulation.pbrook
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2851 c046a42c-6fe2-441c-8c8c-71466251a162
2007-05-13MIPS linux-user update.ths
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2810 c046a42c-6fe2-441c-8c8c-71466251a162
2007-04-14Fix miscellaneous display warnings for PowerPC & alpha targetsj_mayer
and parallel CFI flash driver. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2661 c046a42c-6fe2-441c-8c8c-71466251a162
2007-04-08Sparc32/64 CPU selection for user emulatorblueswir1
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2637 c046a42c-6fe2-441c-8c8c-71466251a162
2007-04-06Code provision for x86_64 and PowerPC 64 linux user mode support.j_mayer
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2619 c046a42c-6fe2-441c-8c8c-71466251a162
2007-04-05Preliminary patch for Alpha Linux user mode emulation support.j_mayer
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2600 c046a42c-6fe2-441c-8c8c-71466251a162
2007-03-19Support -cpu selection for mips usermode emulation. Fix segfault whenths
dispaying the -cpu list help. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2497 c046a42c-6fe2-441c-8c8c-71466251a162
2007-03-19Add -cpu option for linux user emulation.j_mayer
Only usable for PowerPC and ARM for now. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2496 c046a42c-6fe2-441c-8c8c-71466251a162
2007-03-08Implement --cpu for ARM.pbrook
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2474 c046a42c-6fe2-441c-8c8c-71466251a162
2007-03-07Great PowerPC emulation code resynchronisation and improvments:j_mayer
- Add status file to make regression tracking easier - Move all micro-operations helpers definitions into a separate header: should never be seen outside of op.c - Update copyrights - Add new / missing PowerPC CPU definitions - Add definitions for PowerPC BookE - Add support for PowerPC 6xx/7xx software driven TLBs Allow use of PowerPC 603 as an example - Add preliminary code for POWER, POWER2, PowerPC 403, 405, 440, 601, 602 and BookE support - Avoid compiling priviledged only resources support for user-mode emulation - Remove unused helpers / micro-ops / dead code - Add instructions usage statistics dump: useful to figure which instructions need strong optimizations. - Micro-operation fixes: * add missing RETURN in some micro-ops * fix prototypes * use softfloat routines for all floating-point operations * fix tlbie instruction * move some huge micro-operations into helpers - emulation fixes: * fix inverted opcodes for fcmpo / fcmpu * condition register update is always to be done after the whole instruction has completed * add missing NIP updates when calling helpers that may generate an exception - optimizations and improvments: * optimize very often used instructions (li, mr, rlwixx...) * remove specific micro-ops for rarely used instructions * add routines for addresses computations to avoid bugs due to multiple different implementations * fix TB linking: do not reset T0 at the end of every TB. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2473 c046a42c-6fe2-441c-8c8c-71466251a162
2007-03-02MIPS Userland TLS register emulation, by Daniel Jacobowitz.ths
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2465 c046a42c-6fe2-441c-8c8c-71466251a162
2007-02-28MIPS FPU dynamic activation, part 1, by Herve Poussineau.ths
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2463 c046a42c-6fe2-441c-8c8c-71466251a162
2007-02-05copyright updatebellard
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2392 c046a42c-6fe2-441c-8c8c-71466251a162
2006-12-10Handle invalid accesses as SIGILL for mips/mipsel userland emulation.ths
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2235 c046a42c-6fe2-441c-8c8c-71466251a162
2006-11-04MIPS usermode debug exceptions (Dave Denholm).pbrook
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2209 c046a42c-6fe2-441c-8c8c-71466251a162
2006-10-23sparc64 syscall fix (Blue Swirl)bellard
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2199 c046a42c-6fe2-441c-8c8c-71466251a162
2006-10-22ColdFire target.pbrook
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2196 c046a42c-6fe2-441c-8c8c-71466251a162
2006-09-24added cpu_smm_update()bellard
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2173 c046a42c-6fe2-441c-8c8c-71466251a162
2006-07-18Sparc64 user emulator fixes (Blue Swirl)bellard
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2063 c046a42c-6fe2-441c-8c8c-71466251a162
2006-07-13new clock logic: cpu ticks and virtual clocks are no longer proportional - ↵bellard
added timestamps on the stdio console git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2049 c046a42c-6fe2-441c-8c8c-71466251a162
2006-06-27initial MIPS signal handling (initial patch by Raphael Rigo)bellard
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2031 c046a42c-6fe2-441c-8c8c-71466251a162
2006-06-21sparc user fixes (Blue Swirl)bellard
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1998 c046a42c-6fe2-441c-8c8c-71466251a162
2006-06-18SH bugfixes.pbrook
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1991 c046a42c-6fe2-441c-8c8c-71466251a162
2006-06-17SH usermode fault handling.pbrook
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1988 c046a42c-6fe2-441c-8c8c-71466251a162
2006-06-17Respond to qOffsets gdb packet (for debugging bFLT binaries).pbrook
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1986 c046a42c-6fe2-441c-8c8c-71466251a162
2006-06-14MIPS FPU support in linux user emulationbellard
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1967 c046a42c-6fe2-441c-8c8c-71466251a162
2006-06-11bFLT loader (for uClinux binaries).pbrook
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1951 c046a42c-6fe2-441c-8c8c-71466251a162
2006-05-14Teach usermode emulation how to lie about uname -r.pbrook
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1920 c046a42c-6fe2-441c-8c8c-71466251a162
2006-04-27sh4 target (Samuel Tardieu)bellard
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1861 c046a42c-6fe2-441c-8c8c-71466251a162
2006-03-25Avoid accessing guest memory directly in usermode emulation.pbrook
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1790 c046a42c-6fe2-441c-8c8c-71466251a162
2006-03-11Fix FPA condition codes (Ulrich Hecht).pbrook
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1784 c046a42c-6fe2-441c-8c8c-71466251a162
2006-02-20Add Arm926 core support.pbrook
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1765 c046a42c-6fe2-441c-8c8c-71466251a162
2006-02-09Arm Linux EABI syscall support.pbrook
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1756 c046a42c-6fe2-441c-8c8c-71466251a162
2006-02-04Implement Arm BKPT instruction.pbrook
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1740 c046a42c-6fe2-441c-8c8c-71466251a162