Statistics
| Branch: | Revision:

root / target-ppc / translate_init.c @ 9c7e37e7

History | View | Annotate | Download (257.3 kB)

# Date Author Comment
ee4e83ed 11/11/2007 01:51 am j_mayer

Allow selection of PowerPC CPU giving a PVR.
Remove unused pvr_mask field from CPU definition.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3571 c046a42c-6fe2-441c-8c8c-71466251a162

aaed909a 11/10/2007 05:15 pm bellard

added cpu_model parameter to cpu_init()

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3562 c046a42c-6fe2-441c-8c8c-71466251a162

056401ea 11/04/2007 04:55 am j_mayer

PowerPC 601 need specific callbacks for its BATs setup.
Implement PowerPC 601 HID0 register, needed for little-endian mode support.
As a consequence, we need to merge hflags coming from MSR with other ones.
Use little-endian mode from hflags instead of MSR during code translation....

2e13d23a 11/03/2007 04:23 pm j_mayer

Fix PowerPC high BATs access: BAT number was incorrect.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3519 c046a42c-6fe2-441c-8c8c-71466251a162

faadf50e 11/03/2007 03:37 pm j_mayer PowerPC MMU and exception fixes:
  • PowerPC 601 (and probably POWER/POWER2) uses a different BAT format than
    later PowerPC implementation.
  • Bugfix in BATs check: must not stop after 4 BATs when more are provided.
  • Enable POWER 'rac' instruction.
  • Fix exception prefix for all supported PowerPC implementations....
2f462816 10/26/2007 02:14 am j_mayer

Implement power-management for all defined PowerPC CPUs.
Fix PowerPC 970MP definition.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3440 c046a42c-6fe2-441c-8c8c-71466251a162

8ca3f6c3 10/26/2007 12:37 am j_mayer

Allow selection of all defined PowerPC 74xx (aka G4) CPUs.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3437 c046a42c-6fe2-441c-8c8c-71466251a162

a13d7523 10/14/2007 12:14 pm j_mayer

There is no need of a specific MMU model for PowerPC 601.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3392 c046a42c-6fe2-441c-8c8c-71466251a162

25ba3a68 10/08/2007 05:58 am j_mayer

Remove synonymous in PowerPC MSR bits definitions.
Fix MSR EP bit buggy definition.
Remove unuseful MSR flags.
Fix MSR bits and flags definitions for most supported PowerPC implementations.
Add MSR definitions/flags constistency checks and optional dump.
...

141c8ae2 10/08/2007 05:44 am j_mayer

Real-mode only PowerPC 40x do not have any TLBs.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3353 c046a42c-6fe2-441c-8c8c-71466251a162

4e80effc 10/08/2007 05:35 am j_mayer

Implement exception prefix feature for PowerPC 601.
Fix PowerPC 601 hardware reset vector.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3352 c046a42c-6fe2-441c-8c8c-71466251a162

7a3a6927 10/08/2007 05:23 am j_mayer

Add missing exception vectors for PowerPC 7x5.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3351 c046a42c-6fe2-441c-8c8c-71466251a162

417bf010 10/08/2007 02:10 am j_mayer

Work-around C89 and/or "old" gcc unspecified behavior (#if in macro calls).

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3350 c046a42c-6fe2-441c-8c8c-71466251a162

f2e63a42 10/07/2007 06:43 pm j_mayer

Reorganize 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....

d26bfc9a 10/07/2007 05:41 pm j_mayer

Add 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.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3342 c046a42c-6fe2-441c-8c8c-71466251a162

12de9a39 10/06/2007 01:06 am j_mayer

Full 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....

65f9ee8d 10/05/2007 04:11 pm j_mayer

Rename PowerPC MMUCSR0 and MMUCFG SPRs: those are not BookE specific.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3333 c046a42c-6fe2-441c-8c8c-71466251a162

1c27f8fb 10/05/2007 04:09 pm j_mayer

PowerPC hardware reset vector is now considered as part of the exception model.
Use it at CPU initialisation time.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3332 c046a42c-6fe2-441c-8c8c-71466251a162

e57448f1 10/04/2007 04:50 am j_mayer More 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

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3322 c046a42c-6fe2-441c-8c8c-71466251a162

d63001d1 10/04/2007 03:51 am j_mayer

Make PowerPC cache line size implementation dependant.
Implement dcbz tunable cache line size for PowerPC 970.
Make hardware reset vector implementation dependant.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3321 c046a42c-6fe2-441c-8c8c-71466251a162

06403421 10/03/2007 11:27 pm j_mayer

HID0 is a write-clear register on 970 (DBSR).

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3320 c046a42c-6fe2-441c-8c8c-71466251a162

00af685f 10/03/2007 04:05 am j_mayer

We never have to export ppc_set_irq.
Protect PowerPC 64 only features with #ifdef (TARGET_PPC64)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3316 c046a42c-6fe2-441c-8c8c-71466251a162

578bb252 10/01/2007 07:48 am j_mayer

More 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.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3306 c046a42c-6fe2-441c-8c8c-71466251a162

035feb88 10/01/2007 04:38 am j_mayer

Share more SPR instanciations between all PowerPC 401 incarnations.
Add comments about some unimplemented storage control dedicated SPRs.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3301 c046a42c-6fe2-441c-8c8c-71466251a162

6f5d427d 10/01/2007 04:32 am j_mayer

Implement embedded PowerPC exceptions prefix and vectors registers.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3300 c046a42c-6fe2-441c-8c8c-71466251a162

4e290a0b 10/01/2007 04:27 am j_mayer

Share input pins and internal interrupt controller between all PowerPC 40x.
Fix critical input interrupt generation.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3299 c046a42c-6fe2-441c-8c8c-71466251a162

068abdc8 09/30/2007 05:52 pm j_mayer

Fix inconsistent end conditions in ppc_find_xxx functions.
(crash reported by Andreas Farber when using default CPU).

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3293 c046a42c-6fe2-441c-8c8c-71466251a162

a062e36c 09/30/2007 03:38 am j_mayer

Implement 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.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3277 c046a42c-6fe2-441c-8c8c-71466251a162

dee96f6c 09/29/2007 06:02 pm j_mayer

PowerPC emulation optimization:
avoid stopping translation after most SPR updates
when a context-synchronization instruction is also needed.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3265 c046a42c-6fe2-441c-8c8c-71466251a162

e1833e1f 09/29/2007 04:06 pm j_mayer Rework 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....
237c0af0 09/29/2007 03:01 pm j_mayer

Define the proper bfd_mach to be used by the disassembler for each
PowerPC emulated CPU.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3257 c046a42c-6fe2-441c-8c8c-71466251a162

d12f4c38 09/29/2007 02:51 pm j_mayer

Change POWERPC_PPC_GENERIC to POWERPC_DEFAULT.
Use it as default for workstation targets.
Fix PowerPC 750fl and 750gl definitions.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3256 c046a42c-6fe2-441c-8c8c-71466251a162

e3b98085 09/27/2007 03:48 pm ths

Build fix for PowerPC hosts, where "PPC" is a predefined macro name.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3251 c046a42c-6fe2-441c-8c8c-71466251a162

92a343da 09/27/2007 04:14 am j_mayer

New ppc64-linux-user target.
Allow use of PowerPC 970 for debugging (softmmu would not run, for now).

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3246 c046a42c-6fe2-441c-8c8c-71466251a162

a750fc0b 09/27/2007 02:54 am j_mayer Great 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)....
2662a059 09/21/2007 08:50 am j_mayer

More 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....

36081602 09/17/2007 11:21 am j_mayer

Coding 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)...

3b46e624 09/17/2007 11:09 am ths

find -type f | xargs sed -i 's/[\t ]*$//g' # Yes, again. Note the star in the regex.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3177 c046a42c-6fe2-441c-8c8c-71466251a162

5fafdf24 09/17/2007 12:08 am ths

find -type f | xargs sed -i 's/[\t ]$//g' # on most files

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3173 c046a42c-6fe2-441c-8c8c-71466251a162

5b284968 07/12/2007 03:18 am ths

Disable dead code.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3071 c046a42c-6fe2-441c-8c8c-71466251a162

c294fc58 04/24/2007 09:44 am j_mayer

Improve PowerPC 405 MMU model / share more code for other embedded targets
support.
Fix PowerPC 405 MSR mask.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2717 c046a42c-6fe2-441c-8c8c-71466251a162

f9d6b6b0 04/19/2007 10:16 am j_mayer

Duplicated SPR fix for BookE PowerPC by Guglielmo Morandin

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2704 c046a42c-6fe2-441c-8c8c-71466251a162

04f20795 04/17/2007 05:50 am j_mayer

Move PowerPC 405 specific definitions into a separate file
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...

8ecc7913 04/16/2007 11:09 pm j_mayer

Add callbacks to allow dynamic change of PowerPC clocks (to be improved)
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...

3a607854 04/16/2007 12:31 pm j_mayer

Cleanup and add more PowerPC core definitions.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2684 c046a42c-6fe2-441c-8c8c-71466251a162

0a032cbe 04/16/2007 11:56 am j_mayer

Add reset callbacks for PowerPC CPU.
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

d0dfae6e 04/16/2007 10:34 am j_mayer

Add bus model (or input pins) into PowerPC CPU flags.
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

a496775f 04/16/2007 10:10 am j_mayer

Fix a lot of debug traces for PowerPC emulation: use logfile instead of stdout

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2677 c046a42c-6fe2-441c-8c8c-71466251a162

24be5ae3 04/13/2007 12:24 am j_mayer

Add PowerPC 405 input pins (IRQ, resets, ...) model.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2654 c046a42c-6fe2-441c-8c8c-71466251a162

e9df014c 04/10/2007 01:45 am j_mayer

Implement embedded IRQ controller for PowerPC 6xx/740 & 750.
Fix PowerPC external interrupt input handling and lowering.
Fix OpenPIC output pins management.
Fix multiples bugs in OpenPIC IRQ management.
Fix OpenPIC CPU reset function.
Fix Mac99 machine to properly route OpenPIC outputs to the PowerPC input pins....

363be49c 03/30/2007 01:07 pm j_mayer

Fix / update PowerPC BookE definitions.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2543 c046a42c-6fe2-441c-8c8c-71466251a162

426613db 03/23/2007 11:45 am j_mayer

Add missing PowerPC 64 instructions
PowerPC 64 fixes.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2530 c046a42c-6fe2-441c-8c8c-71466251a162

1b9eb036 03/23/2007 11:40 am j_mayer

Fix debug printf: we need different macros for target_ulong prints
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

0487d6a8 03/21/2007 12:11 am j_mayer

PowerPC 2.03 SPE extension - first pass.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2519 c046a42c-6fe2-441c-8c8c-71466251a162

76a66253 03/07/2007 10:32 am j_mayer

Great PowerPC emulation code resynchronisation and improvments:
- 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...

26a76461 06/25/2006 09:15 pm bellard

C99 64 bit printf

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2018 c046a42c-6fe2-441c-8c8c-71466251a162

173d6cfe 11/22/2005 01:32 am bellard

cpu_exec_init() change

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1643 c046a42c-6fe2-441c-8c8c-71466251a162

3fc6c082 07/02/2005 11:59 pm bellard

preliminary patch to support more PowerPC CPUs (Jocelyn Mayer)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1489 c046a42c-6fe2-441c-8c8c-71466251a162