Statistics
| Branch: | Revision:

root / target-ppc @ 4d3b6f6e

# Date Author Comment
57fec1fe 02/01/2008 12:50 pm bellard

use the TCG code generator

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

e9b34b37 12/10/2007 10:13 am j_mayer

Cleanup: remove useless TARGET_GPR_BITS definition.

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

4e777442 12/10/2007 09:40 am j_mayer

Fix PowerPC 74xx definitions.

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

01ba9816 12/09/2007 04:22 am ths

Handle cpu_model in copy_cpu(), by Kirill A. Shutemov.

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

6b542af7 11/24/2007 04:03 am j_mayer

Fix incorrect debug prints (reported by Paul Brook).
Remove obsolete / duplicated debug prints and improve output consistency.

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

69facb78 11/24/2007 12:16 am j_mayer

Revert foolish patch.

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

9b605b9e 11/23/2007 07:33 pm pbrook

Fix ppc32 register dumps on 64-bit hosts.

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

e7c24003 11/22/2007 01:00 pm j_mayer

Add new sane low-level memory accessors for PowerPC that do proper
size or zero extension, with homogenous names.
Fix load & store strings: those are now endian-sensitive, by definition.
Fix dcbz: must always align the target address to a cache line boundary....

bd928eba 11/21/2007 03:08 pm j_mayer

Fix PowerPC 7xx definitions.

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

082c6681 11/19/2007 03:22 pm j_mayer

Remove shared macro used to define PowerPC implementations instructions sets:
tend more to propagate bugged definition than simplify the code.
Check and fix PowerPC 6xx implementations definitions.
Misc fixes in PowerPC CPU list.

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

add78955 11/19/2007 01:41 pm j_mayer

PowerPC 620 MMU do not have the same exact behavior as standard
64 bits PowerPC ones.

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

5b8105fa 11/19/2007 01:39 pm j_mayer

PowerPC instruction fixes:
- hrfid is part of the hypervisor extension
- fix stfiwx naming

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

c8623f2e 11/19/2007 03:48 am j_mayer

Fix another collision in PowerPC instructions definitions.

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

4018bae9 11/19/2007 03:48 am j_mayer

New PowerPC CPU flag to define the decrementer and time-base source clock.
Use it to properly initialize the clock for the PreP target.

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

4c1b1bfe 11/18/2007 01:14 am j_mayer

Improve PowerPC instructions set dump.
Remove meaningless define from cpu.h
Misc cleanups.

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

80d11f44 11/18/2007 01:02 am j_mayer

Add definitions for Freescale PowerPC implementations,
ie MPC5xx, MPC8xx, e200, e300, e500 and e600 cores.
Make those CPUs and PowerPC 440 available for user-mode emulation,
thus providing a way of testing their implementation specific instructions.

...

b4095fed 11/18/2007 12:42 am j_mayer

Define Freescale cores specific MMU model, exceptions and input bus.
(but do not provide any actual implementation).

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

05332d70 11/18/2007 12:26 am j_mayer

A little more granularity in PowerPC instructions definition is needed
in order to implement Freescale cores.
Fix efsadd / efssub opcodes.

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

a4f30719 11/17/2007 11:14 pm j_mayer

PowerPC hypervisor mode is not fundamentally available only for PowerPC 64.
Remove TARGET_PPC64 dependency and add code provision to be able
to define a fake 32 bits CPU with hypervisor feature support.

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

f610349f 11/17/2007 02:01 pm j_mayer

Fix collision in PowerPC instructions definitions.

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

7820dbf3 11/17/2007 04:16 am j_mayer

Make the PowerPC MMU model, exception model and input bus model
typedefed enums.

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

7b62a955 11/17/2007 04:04 am j_mayer

Add missing definition for number of input pins for the PowerPC 970 bus.
Use proper INPUT_NB definitions to allocate PowerPC input pins structure,
fixing a buffer overflow in the 6xx bus case.

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

b172c56a 11/17/2007 03:37 am j_mayer

Always make all PowerPC exception definitions visible.
Always make the hypervisor timers available.
Remove all TARGET_PPC64H checks, keeping a few if (0) tests for cases
that cannot be properly handled with the current PowerPC CPU definition.

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

7863667f 11/16/2007 04:11 pm j_mayer

Always make PowerPC hypervisor mode memory accesses and instructions
available for full system emulation, then removing all #if TARGET_PPC64H
from micro-ops and code translator.
Add new macros to dramatically simplify memory access tables definitions
in target-ppc/translate.c....

57c26279 11/14/2007 08:45 pm j_mayer

Fix PowerPC targets compilation on 32 bits hosts:
now that the SPE extension is available for all targets,
we always need to have some 64 bits temporary registers.

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

271a916e 11/14/2007 07:26 am j_mayer

Fix invalid PowerPC 64 rldimi optimized case.

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

1b413d55 11/14/2007 03:08 am j_mayer

Reorganize PowerPC instructions categories, add icbi separate case.
Fix frsqrtes instruction opcode.

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

c3e36823 11/13/2007 01:40 am j_mayer

Add PVR and SPR definition for most embedded PowerPC from Freescale.

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

65d6c0f3 11/13/2007 01:29 am j_mayer

PowerPC SPE extension fix: must always preserve GPR high bits when
running in 32 bits mode.

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

3cd7d1dd 11/12/2007 03:56 am j_mayer

Allow use of SPE extension by all PowerPC targets,
adding gprh registers to store GPR MSBs when GPRs are 32 bits.
Remove not-needed-anymore ppcemb-linux-user target.
Keep ppcemb-softmmu target, which provides 1kB pages support
and 36 bits physical address space....

a73666f6 11/12/2007 02:50 am j_mayer

More PowerPC target -1 usage fixes (reservation address).

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

6f2d8978 11/12/2007 02:04 am j_mayer

Fix usage of the -1 constant in the PowerPC target code:
fix invalid size casts and/or sign-extensions.

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

44f8625d 11/11/2007 02:35 pm bellard

fixed invalid type

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

9c7e37e7 11/11/2007 02:33 am j_mayer

Fix POWER abs & abso computation.
Fix PowerPC SPE evabs & evneg (thanks to Fabrice Bellard for reporting the bug)

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

c3e10c7b 11/11/2007 02:18 am j_mayer

Optimize PowerPC overflow flag computation in most useful cases.
Use the same routines to check overflow for addo, subfo and PowerPC 405
multiply and add cases.
Fix carry reset in addme(o) and subfme(o) cases.

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

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

077fc206 11/04/2007 03:57 am j_mayer

Improve PowerPC CPU state dump.
Dump NIP on SPR access faults.

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

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....
9fceefa7 11/03/2007 12:47 am j_mayer

Don't print any message when a priviledge exception occurs on mfpvr
as the Linux allows applications to read this register.

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

5b52b991 11/03/2007 12:35 am j_mayer

Fix PowerPC program exception that was broken by FPU exception patches
(bug reported by Jason Wessel)

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

fc0d441e 11/01/2007 12:02 am j_mayer Fix CR ops with complement, thanks to Julian Seward for testing
and reporting the bug :
  • remove bugged CR ops specific micro-ops
  • use standard and / or / shift operations instead
  • comment not-used-anymore op_store_T1_crf_crf micro-op template....
86c4a9f5 10/29/2007 11:54 pm j_mayer

Fix two PowerPC FPU emulation bugs (thanks to Aurelien Jarno)

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

273af660 10/29/2007 04:39 pm ths

Adjust s390 addresses (the MSB is defined as "to be ignored").

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

603fccce 10/28/2007 02:54 pm j_mayer

Make Alpha and PowerPC targets use shared helpers
for clz, clo, ctz, cto and ctpop.

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

a11b8151 10/28/2007 03:55 am j_mayer

PowerPC coding style and inlining fixes.

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

5bda2843 10/28/2007 02:34 am j_mayer

PowerPC floating-point helper typo.

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

4f8eb6cf 10/27/2007 08:59 pm j_mayer

PowerPC float bugfix: 64 bits float mantissa is 52 bits long.

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

7c58044c 10/27/2007 08:54 pm j_mayer

Fix PowerPC FPSCR update and floating-point exception generation
in most useful cases.

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

8378e71f 10/27/2007 08:18 pm j_mayer

Fix endianness bug for PowerPC stfiwx instruction.

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

f0685f6e 10/26/2007 03:55 am j_mayer

For consistency, align the address to the cache line before using it,
when invalidating the instruction cache.

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

dac454af 10/26/2007 03:48 am j_mayer

Bugfix in PowerPC dcbi instruction:
we must do a load before the store, or we'll store random data.
Update cache instructions comments.

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

c7697e1f 10/26/2007 03:46 am j_mayer

Pretty dump for specific PowerPC instructions names.

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

f9fdea6b 10/26/2007 03:38 am j_mayer

Make PowerPC hypervisor resources able to compile, even if not enabled for now.

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

2c1ee068 10/26/2007 03:37 am j_mayer

Bugfix: PowerPC 64 slbia never invalidates the first segment entry.

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

88ad920b 10/26/2007 02:36 am j_mayer

Fix PowerPC 64x64 bits multiplication overflow check.

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

9d901a20 10/26/2007 02:28 am j_mayer

Use host-utils for PowerPC 64 64x64 bits multiplications.

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

cd346349 10/26/2007 02:27 am j_mayer

Add PowerPC power-management state check callback.

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

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

86f1d3ac 10/26/2007 12:38 am j_mayer

Update PowerPC emulation status file.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3438 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

0411a972 10/26/2007 12:35 am j_mayer

Gprof prooved the PowerPC emulation spent too much time in MSR load and store
routines. Coming back to a raw MSR storage model then speed-up the emulation.
Improve fast MSR updates (wrtee wrteei and mtriee cases).
Share rfi family instructions helpers code to avoid bug in duplicated code....

b227a8e9 10/14/2007 01:21 pm j_mayer

Properly implement non-execute bit on PowerPC segments and PTEs.
Fix page protection bits for PowerPC 64 MMU.

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

d68f1306 10/14/2007 12:27 pm j_mayer

Merge PowerPC 620 input bus definitions with standard PowerPC 6xx.
Avoid hardcoding PowerPC interrupts definitions to ease updates.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3393 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

eacc3249 10/14/2007 12:06 pm j_mayer

Implement PowerPC 64 SLB invalidation helpers.

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

e63ecc6f 10/14/2007 11:48 am j_mayer

Do not allow PowerPC CPU restart after entering checkstop mode.

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

1e42b8f0 10/14/2007 11:27 am j_mayer

Generate micro-ops for PowerPC hypervisor mode.

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

6ebbf390 10/14/2007 10:07 am j_mayer

Replace is_user variable with mmu_idx in softmmu core,
allowing support of more than 2 mmu access modes.
Add backward compatibility is_user variable in targets code when needed.
Implement per target cpu_mmu_index function, avoiding duplicated code
and #ifdef TARGET_xxx in softmmu core functions....

c732abe2 10/12/2007 09:47 am j_mayer

Unify '-cpu ?' option.

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

9b22787c 10/08/2007 06:00 am j_mayer

Update PowerPC emulation status file.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3355 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

a9d9eb8f 10/07/2007 09:19 pm j_mayer

Implement PowerPC Altivec load & stores, used by Apple firmware for memcpy.

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

b33c17e1 10/07/2007 08:30 pm j_mayer

PowerPC target coding style fixes.

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

b068d6a7 10/07/2007 08:13 pm j_mayer

PowerPC target optimisations: make intensive use of always_inline.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3347 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

8f793433 10/03/2007 11:19 pm j_mayer

Enable PowerPC 64 MMU model and exceptions.
Cleanups in MMU exceptions generation.

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

fe33cc71 10/03/2007 04:06 am j_mayer

Fix PowerPC initialisation and first reset:
reset must occur after we defined the CPU features.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3317 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

2857068e 10/02/2007 01:11 pm j_mayer

Code provision for hypervisor mode memory accesses.
Add comments in load & store tables to ease code reading.

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

2f401176 10/02/2007 12:51 am j_mayer

Fix nasty sign-extensions when running 32 bits CPU in the 64 bits emulator
on 32 bits hosts.

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

a97fed52 10/02/2007 12:49 am j_mayer

Fix reproductible crash: call cpu_loop_exit from micro-op, not from helper.c

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

30032c94 10/01/2007 08:22 am j_mayer

Fix missing nip updates for instructions that potentially generate
exceptions from op helpers.

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

7dbe11ac 10/01/2007 08:16 am j_mayer

Handle all MMU models in switches, even if it's just to abort because of lack
of supporting code.
Implement 74xx software TLB model.
Keep 74xx with software TLB disabled, as Linux is not able to handle TLB miss
on those processors.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3307 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

056b05f8 10/01/2007 06:03 am j_mayer

Optimisations: avoid generation of duplicated micro-ops.

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

5356c7b5 10/01/2007 04:59 am j_mayer

Remove definitions for deprecated SLB & TLB related op helpers.

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