summaryrefslogtreecommitdiffstats
path: root/target-ppc
Commit message (Collapse)AuthorAgeFilesLines
* Spelling fix (Mark Glines)blueswir12007-05-271-5/+5
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2879 c046a42c-6fe2-441c-8c8c-71466251a162
* Update PowerPC target status.j_mayer2007-04-241-2/+16
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2724 c046a42c-6fe2-441c-8c8c-71466251a162
* Debug traces fixes.j_mayer2007-04-241-19/+20
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2721 c046a42c-6fe2-441c-8c8c-71466251a162
* Code provision for new PowerPC embedded target support with:j_mayer2007-04-248-21/+26
| | | | | | | | | | | - 1 kB page size - 64 bits GPR - 64 bits physical address space - SPE extension support. Change TARGET_PPCSPE into TARGET_PPCEMB git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2718 c046a42c-6fe2-441c-8c8c-71466251a162
* Improve PowerPC 405 MMU model / share more code for other embedded targetsj_mayer2007-04-245-57/+111
| | | | | | | | support. Fix PowerPC 405 MSR mask. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2717 c046a42c-6fe2-441c-8c8c-71466251a162
* No functional changes:j_mayer2007-04-192-57/+73
| | | | | | | | | - compilation warning fixes - make loglevel tests consistent - use cpu_abort instead of printf(...); exit git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2706 c046a42c-6fe2-441c-8c8c-71466251a162
* Duplicated SPR fix for BookE PowerPC by Guglielmo Morandinj_mayer2007-04-191-4/+0
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2704 c046a42c-6fe2-441c-8c8c-71466251a162
* Move PowerPC 405 specific definitions into a separate filej_mayer2007-04-171-111/+109
| | | | | | | | | | | | Preliminary code for -kernel option support for PowerPC 405 boards Fix DBSR in case of PowerPC 405 chip reset Add enums for PowerPC 405 clocks. Fix IRQ numbers (IBM reversed bits numbering...) Fix SPRG4-7 read access right Fix MSR mask in CPU definitions git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2692 c046a42c-6fe2-441c-8c8c-71466251a162
* Add callbacks to allow dynamic change of PowerPC clocks (to be improved)j_mayer2007-04-164-15/+20
| | | | | | | | | | | Fix embedded PowerPC watchdog and timers Fix PowerPC 405 SPR Add generic PowerPC 405 core instanciation code + resets support. Implement simple peripherals shared by most PowerPC 405 implementations PowerPC 405 EC & EP microcontrollers preliminary support git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2690 c046a42c-6fe2-441c-8c8c-71466251a162
* Cleanup and add more PowerPC core definitions.j_mayer2007-04-161-1116/+1120
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2684 c046a42c-6fe2-441c-8c8c-71466251a162
* PowerPC 4xx software driven TLB fixes + debug traces.j_mayer2007-04-163-39/+163
| | | | | | | Add code provision for more MMU models support. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2683 c046a42c-6fe2-441c-8c8c-71466251a162
* Add reset callbacks for PowerPC CPU.j_mayer2007-04-164-62/+83
| | | | | | | | Move cpu_ppc_init, cpu_ppc_close, cpu_ppc_reset and ppc_tlb_invalidate into helper.c as they are to be called from outside of the translated code. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2682 c046a42c-6fe2-441c-8c8c-71466251a162
* Add bus model (or input pins) into PowerPC CPU flags.j_mayer2007-04-163-42/+116
| | | | | | | | Add PowerPC 970 bus and exceptions model. Add code provision for PowerPC 970 instanciation. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2680 c046a42c-6fe2-441c-8c8c-71466251a162
* PowerPC emulation bugfixes:j_mayer2007-04-161-5/+7
| | | | | | | | - don't generate multiple exit_tb at the end of conditional branches - disable TRACE exception as it is not correct for embedded PowerPC. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2679 c046a42c-6fe2-441c-8c8c-71466251a162
* Fix a lot of debug traces for PowerPC emulation: use logfile instead of stdoutj_mayer2007-04-166-22/+137
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2677 c046a42c-6fe2-441c-8c8c-71466251a162
* Fix miscellaneous display warnings for PowerPC & alpha targetsj_mayer2007-04-142-8/+10
| | | | | | | and parallel CFI flash driver. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2661 c046a42c-6fe2-441c-8c8c-71466251a162
* Add PowerPC 405 input pins (IRQ, resets, ...) model.j_mayer2007-04-122-11/+34
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2654 c046a42c-6fe2-441c-8c8c-71466251a162
* Embedded PowerPC Device Control Registers infrastructure.j_mayer2007-04-122-7/+15
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2653 c046a42c-6fe2-441c-8c8c-71466251a162
* Implement embedded IRQ controller for PowerPC 6xx/740 & 750.j_mayer2007-04-093-16/+81
| | | | | | | | | | | | | Fix PowerPC external interrupt input handling and lowering. Fix OpenPIC output pins management. Fix multiples bugs in OpenPIC IRQ management. Fix OpenPIC CPU(s) reset function. Fix Mac99 machine to properly route OpenPIC outputs to the PowerPC input pins. Fix PREP machine to properly route i8259 output to the PowerPC external interrupt pin. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2647 c046a42c-6fe2-441c-8c8c-71466251a162
* Unify IRQ handling.pbrook2007-04-071-0/+1
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2635 c046a42c-6fe2-441c-8c8c-71466251a162
* PowerPC 64 fixesj_mayer2007-04-071-2/+2
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2634 c046a42c-6fe2-441c-8c8c-71466251a162
* cpu_get_phys_page_debug should return target_phys_addr_tj_mayer2007-04-071-2/+2
| | | | | | | instead of target_ulong to be consistent. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2633 c046a42c-6fe2-441c-8c8c-71466251a162
* Fix for PowerPC 64 rotates.j_mayer2007-04-061-27/+35
| | | | | | | Fix for PowerPC 64 load & store with immediate index. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2617 c046a42c-6fe2-441c-8c8c-71466251a162
* Support for PowerPC BookE exception model.j_mayer2007-03-311-49/+92
| | | | | | | | No need to requeue timer exceptions. Fix nip saving for 64 bits PowerPC. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2556 c046a42c-6fe2-441c-8c8c-71466251a162
* Merge PowerPC 405 MMU model.j_mayer2007-03-312-50/+243
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2554 c046a42c-6fe2-441c-8c8c-71466251a162
* As embedded PowerPC TLB model is very different from PowerPC 6xx ones,j_mayer2007-03-312-14/+26
| | | | | | | define ppc_tlb_t as an union of the two. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2553 c046a42c-6fe2-441c-8c8c-71466251a162
* Fix rfi instruction: do not depend on current execution modej_mayer2007-03-304-80/+196
| | | | | | | | | but on the execution mode that will be effective after the return. Add rfci, rfdi and rfmci for BookE PowerPC. Extend mfdcr / mtdcr and implement mfdrcx / mtdcrx. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2544 c046a42c-6fe2-441c-8c8c-71466251a162
* Fix / update PowerPC BookE definitions.j_mayer2007-03-302-43/+189
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2543 c046a42c-6fe2-441c-8c8c-71466251a162
* New model for PowerPC CPU hardware interrupt events:j_mayer2007-03-302-0/+99
| | | | | | | | | | | move all PowerPC specific code into target-ppc/helper.c to avoid polluting the common code in cpu-exec.c. This makes implementation of new features (ie embedded PowerPC timers, critical interrupts, ...) easier. This also avoid hardcoding the IRQ callback in the OpenPIC controller, making it more easily reusable and allowing cascading. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2542 c046a42c-6fe2-441c-8c8c-71466251a162
* Solaris host compilation fix by Shaddy Baddah.j_mayer2007-03-281-1/+1
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2541 c046a42c-6fe2-441c-8c8c-71466251a162
* Add missing PowerPC 64 instructionsj_mayer2007-03-238-14/+326
| | | | | | | PowerPC 64 fixes. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2530 c046a42c-6fe2-441c-8c8c-71466251a162
* Fix debug printf: we need different macros for target_ulong printsj_mayer2007-03-234-55/+65
| | | | | | | and GPR ones, as the lengths can be different. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2529 c046a42c-6fe2-441c-8c8c-71466251a162
* PowerPC improvments:j_mayer2007-03-223-25/+104
| | | | | | | | | - add missing 64 bits rotate instructions - safely define TARGET_PPCSPE when 64 bits registers are used a separate target will be needed to use it in 32 bits mode on 32 bits hosts. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2527 c046a42c-6fe2-441c-8c8c-71466251a162
* PowerPC bugfixes:j_mayer2007-03-225-4/+110
| | | | | | | | | | | - must clear carry bit when doing addic with a zero immediate value - fix missing RETURN in micro-operation that would lead to random failures and crashes - add USE_PRECISE_EMULATION compilation-time option to choose between getting exact floating point results and fast but less accurate computation. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2526 c046a42c-6fe2-441c-8c8c-71466251a162
* Fix compilation on 32 bits hosts (pb reported by Thiemo Seufer)j_mayer2007-03-212-4/+3
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2521 c046a42c-6fe2-441c-8c8c-71466251a162
* PowerPC 2.03 SPE extension - first pass.j_mayer2007-03-209-146/+3050
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2519 c046a42c-6fe2-441c-8c8c-71466251a162
* Define gen_intermediate_code_internal as "static inline".ths2007-03-191-2/+3
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2512 c046a42c-6fe2-441c-8c8c-71466251a162
* As icbi is not a priviledge instruction and is treated as a load by the MMUj_mayer2007-03-186-55/+83
| | | | | | | it needs to be implemented for every MMU translation mode. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2492 c046a42c-6fe2-441c-8c8c-71466251a162
* Make it safe to use 64 bits GPR and/or 64 bits host registers.j_mayer2007-03-179-613/+3019
| | | | | | | | | | | | | | For "symetry", add 64 bits versions of all modified functions. As a side effect, add a lot of code provision for PowerPC 64 support. Move overflow and carry checks in common routines for simple cases. Add isel and popcntb instructions from PowerPC 2.03 specification. Remove remaining micro-operations helpers prototypes from op.c. Fix XER_BC field to be 7 bits long. Add power management support for PowerPC 603 & 604. Fix compilation warnings. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2482 c046a42c-6fe2-441c-8c8c-71466251a162
* Great PowerPC emulation code resynchronisation and improvments:j_mayer2007-03-0714-2524/+7529
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* siginfo fix for Darwin/Mac OS X, by Pierre d'Herbemont.ths2007-01-311-2/+1
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2369 c046a42c-6fe2-441c-8c8c-71466251a162
* PPC32 Trace Exception and Trap instruction, by Jason Wessel.ths2007-01-052-2/+2
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2291 c046a42c-6fe2-441c-8c8c-71466251a162
* Check ELF binaries for machine type and endianness.ths2006-12-231-0/+2
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2274 c046a42c-6fe2-441c-8c8c-71466251a162
* Use memory barriers in FORCE_RET / RETURN.ths2006-12-231-2/+2
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2273 c046a42c-6fe2-441c-8c8c-71466251a162
* C99 64 bit printfbellard2006-06-252-4/+4
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2018 c046a42c-6fe2-441c-8c8c-71466251a162
* PPC Breakpoints for gdb-stub (Jason Wessel)bellard2006-05-222-2/+26
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1933 c046a42c-6fe2-441c-8c8c-71466251a162
* removed unnecessary headerbellard2006-04-231-1/+0
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1835 c046a42c-6fe2-441c-8c8c-71466251a162
* specialize the power save code for 7x0 CPUsbellard2005-11-262-1/+16
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1671 c046a42c-6fe2-441c-8c8c-71466251a162
* halt state support for ppcbellard2005-11-232-1/+7
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1657 c046a42c-6fe2-441c-8c8c-71466251a162
* avoid generating useless exceptions (Jocelyn Mayer)bellard2005-11-231-11/+26
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1656 c046a42c-6fe2-441c-8c8c-71466251a162
OpenPOWER on IntegriCloud