j_mayer [Sun, 14 Oct 2007 07:07:08 +0000 (07:07 +0000)]
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.
Implement per target mmu modes definitions. As an example, add PowerPC
hypervisor mode definition and Alpha executive and kernel modes definitions.
Optimize PowerPC case, precomputing mmu_idx when MSR register changes
and using the same definition in code translation code.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3384
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Sat, 13 Oct 2007 19:00:52 +0000 (19:00 +0000)]
Update TODO.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3383
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Sat, 13 Oct 2007 17:29:09 +0000 (17:29 +0000)]
Fix off-by-one in address check.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3382
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Sat, 13 Oct 2007 14:00:23 +0000 (14:00 +0000)]
Static-ify function.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3381
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Fri, 12 Oct 2007 06:47:46 +0000 (06:47 +0000)]
Unify '-cpu ?' option.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3380
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Wed, 10 Oct 2007 19:11:54 +0000 (19:11 +0000)]
Fix taddcctv and tsubcctv (David Matthews)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3379
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Tue, 9 Oct 2007 16:34:29 +0000 (16:34 +0000)]
Support for executing 32 bit SPARC32PLUS files for Sparc64 user emulator
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3378
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Tue, 9 Oct 2007 11:41:47 +0000 (11:41 +0000)]
Match values with the ones documented in the PIIX4 datasheet.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3377
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Tue, 9 Oct 2007 03:42:34 +0000 (03:42 +0000)]
getpriority() shouldn't use libc wrapper, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3376
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Tue, 9 Oct 2007 03:39:58 +0000 (03:39 +0000)]
Use always_inline in the MIPS support where applicable.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3375
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Tue, 9 Oct 2007 03:19:01 +0000 (03:19 +0000)]
Fix vmmouse for 64bit guest, by Dan Kenigsberg.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3374
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Tue, 9 Oct 2007 03:17:28 +0000 (03:17 +0000)]
Delete file which should have been removed in the lst commit.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3373
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Tue, 9 Oct 2007 03:12:08 +0000 (03:12 +0000)]
Fix [ls][wd][lr] instructions, by Aurelien Jarno.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3372
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Tue, 9 Oct 2007 03:08:56 +0000 (03:08 +0000)]
Don't route PIC interrupts through the local APIC if the local APIC
config says so. By Ari Kivity.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3371
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Tue, 9 Oct 2007 03:05:08 +0000 (03:05 +0000)]
Update .cvsignore.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3370
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Mon, 8 Oct 2007 13:40:13 +0000 (13:40 +0000)]
Mentione CRIS in Changelog.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3369
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Mon, 8 Oct 2007 13:38:27 +0000 (13:38 +0000)]
Add CRIS configuration bits, by Edgar E. Iglesias.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3368
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Mon, 8 Oct 2007 13:36:46 +0000 (13:36 +0000)]
CRIS Linux userland emulation, part 2. By Edgar E. Iglesias.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3367
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Mon, 8 Oct 2007 13:35:05 +0000 (13:35 +0000)]
CRIS Linux usermode emulation, part 1. By Edgar E. Iglesias.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3366
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Mon, 8 Oct 2007 13:32:20 +0000 (13:32 +0000)]
CRIS testsuite, based on the SIM testsuite, by Edgar E. Iglesias.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3365
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Mon, 8 Oct 2007 13:26:33 +0000 (13:26 +0000)]
EtraxFS board support, by Edgar E. Iglesias.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3364
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Mon, 8 Oct 2007 13:16:14 +0000 (13:16 +0000)]
CRIS support in toplevel, by Edgar E. Iglesias.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3363
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Mon, 8 Oct 2007 13:11:58 +0000 (13:11 +0000)]
CRIS MMU emulation, by Edgar E. Iglesias.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3362
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Mon, 8 Oct 2007 13:04:02 +0000 (13:04 +0000)]
The remainder of CRIS CPU emulation files, by Edgar E. Iglesias.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3361
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Mon, 8 Oct 2007 12:52:43 +0000 (12:52 +0000)]
CRIS micro-ops, by Edgar E. Iglesias.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3360
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Mon, 8 Oct 2007 12:50:59 +0000 (12:50 +0000)]
CRIS insn decoding macros, by Edgar E. Iglesias.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3359
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Mon, 8 Oct 2007 12:49:08 +0000 (12:49 +0000)]
CRIS instruction translation, by Edgar E. Iglesias.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3358
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Mon, 8 Oct 2007 12:46:58 +0000 (12:46 +0000)]
Wire up CRIS disassembler, by Edgar E. Iglesias.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3357
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Mon, 8 Oct 2007 12:45:38 +0000 (12:45 +0000)]
CRIS disassembler, originally from binutils, by Edgar E. Iglesias.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3356
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Mon, 8 Oct 2007 03:00:35 +0000 (03:00 +0000)]
Update PowerPC emulation status file.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3355
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Mon, 8 Oct 2007 02:58:07 +0000 (02:58 +0000)]
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.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3354
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Mon, 8 Oct 2007 02:44:11 +0000 (02:44 +0000)]
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
j_mayer [Mon, 8 Oct 2007 02:35:41 +0000 (02:35 +0000)]
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
j_mayer [Mon, 8 Oct 2007 02:23:00 +0000 (02:23 +0000)]
Add missing exception vectors for PowerPC 7x5.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3351
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Sun, 7 Oct 2007 23:10:08 +0000 (23:10 +0000)]
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
j_mayer [Sun, 7 Oct 2007 18:19:26 +0000 (18:19 +0000)]
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
j_mayer [Sun, 7 Oct 2007 17:30:34 +0000 (17:30 +0000)]
PowerPC target coding style fixes.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3348
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Sun, 7 Oct 2007 17:13:44 +0000 (17:13 +0000)]
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
j_mayer [Sun, 7 Oct 2007 16:07:25 +0000 (16:07 +0000)]
Report missing elf_addr_t definition from Linux kernel header
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3346
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Sun, 7 Oct 2007 16:06:13 +0000 (16:06 +0000)]
Fix host and target longs confusions (continued).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3345
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Sun, 7 Oct 2007 15:59:45 +0000 (15:59 +0000)]
Fix confusions between host and target long types.
Fix start_data computation.
Fix auxiliary infos setup.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3344
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Sun, 7 Oct 2007 15:43:50 +0000 (15:43 +0000)]
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.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3343
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Sun, 7 Oct 2007 14:41:00 +0000 (14:41 +0000)]
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
j_mayer [Sun, 7 Oct 2007 14:25:11 +0000 (14:25 +0000)]
Share devices that may be useful for all PowerPC 40x and 440 implementations.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3341
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Sun, 7 Oct 2007 14:21:26 +0000 (14:21 +0000)]
Share devices that might be useful for all PowerPC 40x & 440 implementations
(mostly CPU registration and UIC, for now).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3340
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 7 Oct 2007 10:00:55 +0000 (10:00 +0000)]
More user timer fixes (Robert Reif)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3339
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 6 Oct 2007 11:28:21 +0000 (11:28 +0000)]
More detabification
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3338
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 6 Oct 2007 11:25:43 +0000 (11:25 +0000)]
Implement user mode for timers
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3337
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 6 Oct 2007 11:24:18 +0000 (11:24 +0000)]
Support for loading a real BIOS image (Robert Reif)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3336
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Fri, 5 Oct 2007 22:06:02 +0000 (22:06 +0000)]
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.
Temporary hack to make PowerPC 970 boot from ROM instead of RAM.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3335
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Fri, 5 Oct 2007 17:01:51 +0000 (17:01 +0000)]
Implement sparc64_[gs]et_context
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3334
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Fri, 5 Oct 2007 13:11:25 +0000 (13:11 +0000)]
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
j_mayer [Fri, 5 Oct 2007 13:09:54 +0000 (13:09 +0000)]
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
j_mayer [Fri, 5 Oct 2007 13:08:35 +0000 (13:08 +0000)]
New '-bios' option, used to select an alternate BIOS image from bios_dir.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3331
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Thu, 4 Oct 2007 23:45:31 +0000 (23:45 +0000)]
Implement PL110 byte order config bit (original patch by Richard Purdie).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3330
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Thu, 4 Oct 2007 22:55:53 +0000 (22:55 +0000)]
Quiet warnings introduced with the USB iso support.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3329
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Thu, 4 Oct 2007 22:47:34 +0000 (22:47 +0000)]
USB iso transfers support for the linux redirector and for UHCI, by Arnon Gilboa.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3328
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Thu, 4 Oct 2007 21:53:55 +0000 (21:53 +0000)]
sh775x interrupt controller by Magnus Damm.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3327
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Thu, 4 Oct 2007 19:59:04 +0000 (19:59 +0000)]
Remove redundant qemu_rearm_alarm_timer() in qemu_del_timer, patch by Dan Kenigsberg.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3326
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Thu, 4 Oct 2007 19:47:09 +0000 (19:47 +0000)]
(int64_t)UINT64_MAX is -1 and should not be assigned to nearest_delta_us, patch by Dan Kenigsberg.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3325
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Thu, 4 Oct 2007 19:41:17 +0000 (19:41 +0000)]
Several corrections in the spitzkbd keymap (patch by Juergen Lock).
Don't abort on illegal GPSR reads, instead only warn.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3324
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Thu, 4 Oct 2007 01:54:44 +0000 (01:54 +0000)]
We must reset the PowerPC CPU _after_ registering it, as hardware reset
effect is implementation dependant.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3323
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Thu, 4 Oct 2007 01:50:03 +0000 (01:50 +0000)]
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
j_mayer [Thu, 4 Oct 2007 00:51:58 +0000 (00:51 +0000)]
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
j_mayer [Wed, 3 Oct 2007 20:27:44 +0000 (20:27 +0000)]
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
j_mayer [Wed, 3 Oct 2007 20:19:40 +0000 (20:19 +0000)]
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
blueswir1 [Wed, 3 Oct 2007 17:46:29 +0000 (17:46 +0000)]
Fix Sparc64 ldfa/stfa and float ops with fpr >= 32
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3318
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Wed, 3 Oct 2007 01:06:57 +0000 (01:06 +0000)]
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
j_mayer [Wed, 3 Oct 2007 01:05:39 +0000 (01:05 +0000)]
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
j_mayer [Wed, 3 Oct 2007 01:04:20 +0000 (01:04 +0000)]
Fix PowerPC 405 BIOS instanciation: is a 32 bits only target.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3315
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Tue, 2 Oct 2007 19:15:48 +0000 (19:15 +0000)]
Fix kernel loading
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3314
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Tue, 2 Oct 2007 10:11:50 +0000 (10:11 +0000)]
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
j_mayer [Mon, 1 Oct 2007 21:51:40 +0000 (21:51 +0000)]
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
j_mayer [Mon, 1 Oct 2007 21:49:57 +0000 (21:49 +0000)]
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
blueswir1 [Mon, 1 Oct 2007 17:07:58 +0000 (17:07 +0000)]
Fix block load ASIs
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3310
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Mon, 1 Oct 2007 06:44:33 +0000 (06:44 +0000)]
Quickly hack PowerPC BIOS able to boot on CDROM again.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3309
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Mon, 1 Oct 2007 05:22:17 +0000 (05:22 +0000)]
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
j_mayer [Mon, 1 Oct 2007 05:16:57 +0000 (05:16 +0000)]
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
j_mayer [Mon, 1 Oct 2007 04:48:45 +0000 (04:48 +0000)]
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
j_mayer [Mon, 1 Oct 2007 03:03:51 +0000 (03:03 +0000)]
Optimisations: avoid generation of duplicated micro-ops.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3305
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Mon, 1 Oct 2007 02:55:07 +0000 (02:55 +0000)]
Compilation fix (forgotten patch).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3304
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Mon, 1 Oct 2007 01:59:12 +0000 (01:59 +0000)]
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
j_mayer [Mon, 1 Oct 2007 01:51:12 +0000 (01:51 +0000)]
Avoid op helpers that would just call helpers for TLB & SLB management:
call the helpers directly from the micro-ops.
Avoid duplicated code for tlbsx. implementation.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3302
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Mon, 1 Oct 2007 01:38:03 +0000 (01:38 +0000)]
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
j_mayer [Mon, 1 Oct 2007 01:32:49 +0000 (01:32 +0000)]
Implement embedded PowerPC exceptions prefix and vectors registers.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3300
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Mon, 1 Oct 2007 01:27:10 +0000 (01:27 +0000)]
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
blueswir1 [Sun, 30 Sep 2007 19:38:12 +0000 (19:38 +0000)]
Fix Sparc64 ldfa, lddfa, stfa, and stdfa instructions
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3298
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 30 Sep 2007 16:37:00 +0000 (16:37 +0000)]
Fix Sparc64 wrasr instructions
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3297
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Sun, 30 Sep 2007 15:21:15 +0000 (15:21 +0000)]
Fix (once again) PowerPC sync weight field.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3296
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Sun, 30 Sep 2007 15:19:48 +0000 (15:19 +0000)]
Fix PowerPC TLB miss dump code.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3295
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Sun, 30 Sep 2007 15:15:18 +0000 (15:15 +0000)]
Fix missing case in the new PowerPC exception model.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3294
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Sun, 30 Sep 2007 14:52:08 +0000 (14:52 +0000)]
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
j_mayer [Sun, 30 Sep 2007 14:44:52 +0000 (14:44 +0000)]
Fix compilation on Darwin platform, avoiding the use of gcc function attributes
(problem reported by Andreas Farber).
: ----------------------------------------------------------------------
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3292
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Sun, 30 Sep 2007 14:32:45 +0000 (14:32 +0000)]
Fix mmap to handle differing host/target page sizes, by Edgar E. Iglesias.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3291
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Sun, 30 Sep 2007 13:49:22 +0000 (13:49 +0000)]
Add get_sp_from_cpustate implementation.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3290
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Sun, 30 Sep 2007 13:03:23 +0000 (13:03 +0000)]
* Update OEA environment, following the PowerPC 2.04 specification:
- New mtmsr/mtmsrd form that just update RI and EE bits
- New hrfid, lq and stq instructions
- Add support for supervisor and hypervisor modes process priority update
- Code provision for hypervisor SPR accesses
* Actually implement the wait instruction
* Bugfixes (missing RETURN in micro-op / missing #ifdef)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3289
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Sun, 30 Sep 2007 13:01:15 +0000 (13:01 +0000)]
Support UltraVNC clients, by Eduardo Felipe.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3288
c046a42c-6fe2-441c-8c8c-
71466251a162
j_mayer [Sun, 30 Sep 2007 03:46:38 +0000 (03:46 +0000)]
Synchronize with latest PowerPC ISA VEA:
* fix invalid instructions bits masks
* new wait instruction
* more comments about effect of cache instructions on the MMU
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3287
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Sun, 30 Sep 2007 02:14:03 +0000 (02:14 +0000)]
Add mipsn32{,el}-linux-user.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3286
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Sun, 30 Sep 2007 02:10:37 +0000 (02:10 +0000)]
Remove unused variable.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3285
c046a42c-6fe2-441c-8c8c-
71466251a162