Statistics
| Branch: | Revision:

root / target-microblaze @ a74cdab4

# Date Author Comment
711c2128 05/12/2011 04:08 pm Anthony Liguori

Merge remote-tracking branch 'stefanha/trivial-patches' into staging

Conflicts:
cpu-all.h

85097db6 05/08/2011 07:55 pm Richard Henderson

irq: Privatize CPU_INTERRUPT_NMI.

This interrupt name is used by i386, CRIS, and MicroBlaze.
Copy the name into each target.

Signed-off-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

5225d669 05/08/2011 12:02 pm Stefan Weil

Fix typos in comments (accross -> across)

Signed-off-by: Stefan Weil <>
Signed-off-by: Stefan Hajnoczi <>

618ba8e6 04/20/2011 11:37 am Stefan Weil

Remove unused function parameter from cpu_restore_state

The previous patch removed the need for parameter puc.
Is is now unused, so remove it.

Cc: Aurelien Jarno <>
Reviewed-by: Peter Maydell <>
Signed-off-by: Stefan Weil <>

e87b7cb0 04/20/2011 11:33 am Stefan Weil

Remove unused function parameters from gen_pc_load and rename the function

Function gen_pc_load was introduced in commit
d2856f1ad4c259e5766847c49acbb4e390731bd4.
The only reason for parameter searched_pc was
a debug statement in target-i386/translate.c....

211315fb 04/17/2011 09:32 pm Aurelien Jarno

softfloat: rename float*_eq() into float*_eq_quiet()

float*_eq functions have a different semantics than other comparison
functions. Fix that by first renaming float*_quiet() into float*_eq_quiet().

Note that it is purely mechanical, and the behaviour should be unchanged....

6d76d23e 04/12/2011 01:48 am Edgar E. Iglesias

microblaze: Add partial decoding of stream insns

Based on a patch from: Alejandro Cabrera <>

Signed-off-by: Edgar E. Iglesias <>

85453641 04/12/2011 01:42 am Edgar E. Iglesias

microblaze: Add stream-insn related constants

Based on a patch from: Alejandro Cabrera <>

Signed-off-by: Edgar E. Iglesias <>

3b584046 04/12/2011 12:55 am Edgar E. Iglesias

microblaze: Add constant for exception-code mask

Signed-off-by: Edgar E. Iglesias <>

7458a432 04/12/2011 12:07 am Alejandro Cabrera

microblaze: Correct MMU_ZONES mask

Signed-off-by: Alejandro Cabrera <>
Signed-off-by: Edgar E. Iglesias <>

4b4a72e5 04/10/2011 01:45 am Stefan Weil

Fix conversions from pointer to tcg_target_long

tcg_gen_exit_tb takes a parameter of type tcg_target_long,
so the type casts of pointer to long should be replaced by
type casts of pointer to tcg_target_long (suggested by Blue Swirl).

These changes are needed for build environments where...

4ff9786c 04/03/2011 10:42 pm Stefan Weil

Fix trivial "endianness bugs"

Replace endianess -> endianness.

Signed-off-by: Stefan Weil <>
Signed-off-by: Aurelien Jarno <>

eda48c34 03/13/2011 04:44 pm Paolo Bonzini

inline cpu_halted into sole caller

All implementations are now the same, and there is only one caller,
so inline the function there.

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Blue Swirl <>

c4374bb7 03/11/2011 04:24 pm Michal Simek

microblaze: Add PVR for writeback cache, endians

Specify PVR for writeback cache, endians and others.

Signed-off-by: Michal Simek <>
Signed-off-by: Edgar E. Iglesias <>

6c5f738d 02/10/2011 01:46 am Edgar E. Iglesias

microblaze: Handle singlestepping over direct jmps

Signed-off-by: Edgar E. Iglesias <>

c0c1dc99 02/08/2011 09:37 pm Paolo Bonzini

cris, microblaze: use cpu_has_work

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Edgar E. Iglesias <>

5d0bb823 01/23/2011 04:52 am Edgar E. Iglesias

microblaze: cleanup helper_addkc

Remove unused addition and rename to helper_carry.

Signed-off-by: Edgar E. Iglesias <>

e0a42ebc 01/22/2011 01:39 pm Edgar E. Iglesias

microblaze: Improve subkc

Move code from the helper into the translator. The remaining
helper parts can reuse helper_addkc, making it possible to
remove helper_subkc entirely.

Signed-off-by: Edgar E. Iglesias <>

7e9e4330 01/22/2011 01:35 pm Edgar E. Iglesias

microblaze: Fix 3rd addkc arg when rd is r0

Signed-off-by: Edgar E. Iglesias <>

40cbf5b7 01/22/2011 01:02 pm Edgar E. Iglesias

microblaze: Improve addkc

  • Optimize handling when carry is not updated.
  • Optimize handling for adds with nop semantics.
  • Move code from helper_addkc to the translator making
    helper_addkc PURE and CONST.

Signed-off-by: Edgar E. Iglesias <>

2accfb5f 01/22/2011 01:00 pm Edgar E. Iglesias

microblaze: Remove debug leftovers.

No functional changes.

Signed-off-by: Edgar E. Iglesias <>

ee8b246f 01/22/2011 12:57 pm Edgar E. Iglesias

microblaze: Reorganize for future patches

No functional changes.

Signed-off-by: Edgar E. Iglesias <>

9f8beb66 01/20/2011 12:18 am Edgar E. Iglesias

microblaze: Add support for load/store reversed

Load/store reversed (lwr/swr) are insns that endian translate
the sub-word part of the address and byteswap the data lanes.

Signed-off-by: Edgar E. Iglesias <>

9ef55357 01/19/2011 11:48 pm Edgar E. Iglesias

microblaze: Tweak comment, fast cases -> common cases

Signed-off-by: Edgar E. Iglesias <>

844bab60 01/14/2011 01:30 pm Edgar E. Iglesias

microblaze: Improve unconditional direct branching

Avoid emitting conditional tcg operations for uncoditional
direct branches.

Signed-off-by: Edgar E. Iglesias <>

23979dc5 01/05/2011 03:23 am Edgar E. Iglesias

microblaze: Use more TB chaining

For some workloads with tight loops this ~doubles the emulation
speed.

Signed-off-by: Edgar E. Iglesias <>

18569871 01/02/2011 12:15 pm Peter Maydell

softfloat: Rename float*_is_nan() functions to float*_is_quiet_nan()

The softfloat functions float*_is_nan() were badly misnamed,
because they return true only for quiet NaNs, not for all NaNs.
Rename them to float*_is_quiet_nan() to more accurately reflect...

9a78eead 10/30/2010 11:01 am Stefan Weil

target-xxx: Use fprintf_function (format checking)

fprintf_function uses format checking with GCC_FMT_ATTR.

Format errors were fixed in
  • target-i386/helper.c
  • target-mips/translate.c
  • target-ppc/translate.c

Cc: Blue Swirl <>
Signed-off-by: Stefan Weil <>...

e6aa0f11 10/02/2010 02:12 pm Stefan Weil

target-microblaze: Use %td for ptrdiff_t arguments in debug message

According to ISO/IEC 9899:1999 7.19.6.1,
the correct length modifier for ptrdiff_t is 't', not 'z'.

Cc: Blue Swirl <>
Cc: Markus Armbruster <>
Signed-off-by: Stefan Weil <>...

ef9d48da 09/09/2010 11:05 pm Edgar E. Iglesias

microblaze: Add support for fcmp.un

Signed-off-by: Edgar E. Iglesias <>

97694c57 09/09/2010 11:20 am Edgar E. Iglesias

microblaze: Add basic FPU emulation

Missing:
  • fcmp.un insn
  • Denormalized exceptions
  • Exception model is not accurate

Signed-off-by: Edgar E. Iglesias <>

bdc0bf29 09/09/2010 10:58 am Edgar E. Iglesias

microblaze: Add definitions for FSR reg fields

Signed-off-by: Edgar E. Iglesias <>

a5efa644 07/25/2010 01:09 am Edgar E. Iglesias

microblaze: Remove unused members from the disas context

Signed-off-by: Edgar E. Iglesias <>

4b5ef0b5 07/25/2010 12:25 am Edgar E. Iglesias

microblaze: Speed up base + index addressing mode

Speed up reg + reg addressing mode when any of the regs is r0.

Signed-off-by: Edgar E. Iglesias <>

b2565c69 07/24/2010 10:51 pm Edgar E. Iglesias

microblaze: Use setcond for conditional branches

Use setcond for evaluating the condition for branches.
In the future, we could do better for branches without
delay slots.

Signed-off-by: Edgar E. Iglesias <>

61204ce8 07/24/2010 10:24 pm Edgar E. Iglesias

microblaze: Improve branch with small immediates

Slight improvements of conditional branches with small
immediate offsets.

Signed-off-by: Edgar E. Iglesias <>

a88790a1 07/03/2010 09:48 am Paolo Bonzini

remove exec-all.h inclusion from cpu.h

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Blue Swirl <>

10eb0cc0 07/03/2010 09:48 am Paolo Bonzini

move cpu_pc_from_tb to target-*/exec.h

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Blue Swirl <>

83dae095 07/03/2010 09:47 am Paolo Bonzini

remove unused stuff from */exec.h

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Blue Swirl <>

fd1dc858 06/07/2010 12:54 pm Edgar E. Iglesias

microblaze: Make MSR_UM and MSR_VM part of the tb flags

Signed-off-by: Edgar E. Iglesias <>

0d5d4699 05/19/2010 04:24 pm Edgar E. Iglesias

microblaze: Update elf machine nums.

189 was allocated in upstream binutils.

0xbaab was the old temporary value. Still used by some tools and the
linux kernel.

I've seen 115 in older gdb versions, but lets ignore that one.

Signed-off-by: Edgar E. Iglesias <>

183aa454 04/25/2010 11:00 pm Blue Swirl

microblaze: remove dead assignments, spotted by clang analyzer

Value stored is never read.

Signed-off-by: Blue Swirl <>

d4c430a8 03/17/2010 04:44 am Paul Brook

Large page TLB flush

QEMU uses a fixed page size for the CPU TLB. If the guest uses large
pages then we effectively split these into multiple smaller pages, and
populate the corresponding TLB entries on demand.

When the guest invalidates the TLB by virtual address we must invalidate...

3c7b48b7 03/12/2010 08:44 pm Paul Brook

Target specific usermode cleanup

Disable various target specific code that is only relevant to system emulation.

Signed-off-by: Paul Brook <>

4fcc562b 03/12/2010 08:34 pm Paul Brook

Remove cpu_get_phys_page_debug from userspace emulation

cpu_get_phys_page_debug makes no sense for userspace emulation, so remove it.

Signed-off-by: Paul Brook <>

52705890 03/12/2010 06:28 pm Richard Henderson

Move TARGET_PHYS_ADDR_SPACE_BITS to target-*/cpu.h.

Removes a set of ifdefs from exec.c.

Introduce TARGET_VIRT_ADDR_SPACE_BITS for all targets other
than Alpha. This will be used for page_find_alloc, which is
supposed to be using virtual addresses in the first place....

ff21f70a 02/20/2010 03:04 pm Edgar E. Iglesias

microblaze: Improve brk emulation.

brk insns while in user mode raise priv insn exceptions.
This commit makes gdbserver work on linux guests.

Signed-off-by: Edgar E. Iglesias <>

e1aa3254 02/20/2010 03:03 pm Edgar E. Iglesias

microblaze: Dont segfault when singlestepping first insn.

Signed-off-by: Edgar E. Iglesias <>

49a945a3 01/20/2010 12:31 am Paolo Bonzini

kill regs_to_env and env_to_regs

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Anthony Liguori <>

4c24aa0a 12/16/2009 01:54 pm Michal Simek

microblaze: Print content of EAR register

I need to see EAR register in output because I need to parse irqsoff problem.

Signed-off-by: Michal Simek <>
Signed-off-by: Edgar E. Iglesias <>

17c52a43 12/16/2009 01:52 pm Edgar E. Iglesias

microblaze: Update debug logs.

Signed-off-by: Edgar E. Iglesias <>

f062a3c7 12/13/2009 10:10 am Edgar E. Iglesias

microblaze: Handle wdc flush and clear.

Signed-off-by: Edgar E. Iglesias <>

9d2dcce9 12/13/2009 04:22 am Paul Hartke

microblaze: Correct branch to registers.

Signed-off-by: Edgar E. Iglesias <>

95b279de 11/12/2009 03:14 am Edgar E. Iglesias

microblaze: Restore env when raising unmapped bus access.

Signed-off-by: Edgar E. Iglesias <>

4898427e 11/12/2009 03:12 am Edgar E. Iglesias

microblaze: Unbreak reset.

Initialize synthesis config registers at reset to cope with the new
cpu_reset sequences.

Signed-off-by: Edgar E. Iglesias <>

c227f099 10/02/2009 12:12 am Anthony Liguori

Revert "Get rid of _t suffix"

In the very least, a change like this requires discussion on the list.

The naming convention is goofy and it causes a massive merge problem. Something
like this must be presented on the list first so people can provide input...

99a0949b 10/01/2009 09:45 pm malc

Get rid of _t suffix

Some not so obvious bits, slirp and Xen were left alone for the time
being.

Signed-off-by: malc <>

38972938 09/25/2009 10:52 pm Juan Quintela

gcc wants 1st static and then const

Signed-off-by: Juan Quintela <>
Signed-off-by: Blue Swirl <>

72cf2d4f 09/12/2009 10:36 am Blue Swirl

Fix sys-queue.h conflict for good

Problem: Our file sys-queue.h is a copy of the BSD file, but there are
some additions and it's not entirely compatible. Because of that, there have
been conflicts with system headers on BSD systems. Some hacks have been
introduced in the commits 15cc9235840a22c289edbe064a9b3c19c5f49896,...

02b33596 09/11/2009 11:38 am Edgar E. Iglesias

microblaze: Trap if QEMU finds an unknown insns.

If PVR settings enable illegal insn trap, trap when QEMU finds an
insn it knows nothing about.

Signed-off-by: Edgar E. Iglesias <>

a12f6507 09/11/2009 11:35 am Edgar E. Iglesias

microblaze: Correct prio between MMU and unaligned exceptions.

The microblaze gives MMU faults priority. For stores we still
have a flaw that the value leaks to memory in the case of an
unaligned exception.

Signed-off-by: Edgar E. Iglesias <>

97f90cbf 09/11/2009 11:27 am Edgar E. Iglesias

microblaze: HW Exception fixes.

  • Correct PVR checks for masking off individual exceptions.
  • Correct FPU exception code.
  • Set EAR on unaligned and unassigned exceptions.

Signed-off-by: Edgar E. Iglesias <>

0187688f 09/04/2009 11:38 am Edgar E. Iglesias

microblaze: Trap on illegal load/store sizes.

Signed-off-by: Edgar E. Iglesias <>

329bfa77 09/04/2009 10:40 am Edgar E. Iglesias

microblaze: Correct FPU decoding masks.

Signed-off-by: Edgar E. Iglesias <>

3aa80988 09/03/2009 11:28 pm Edgar E. Iglesias

microblaze: Compute masks for alignment checks at translation time.

Thanks to Blue Swirl for reporting.
Signed-off-by: Edgar E. Iglesias <>

faed1c2a 09/03/2009 02:25 pm Edgar E. Iglesias

microblaze: Trap on bus accesses to unmapped areas.

Signed-off-by: Edgar E. Iglesias <>

3c50a71f 09/03/2009 02:04 pm Edgar E. Iglesias

microblaze: MMU shows more respect to synthesis config.

The microblaze MMU can be synthesized in different configurations.
Have the MMU model show more respect to the chosen configuration.

Signed-off-by: Edgar E. Iglesias <>

968a40f6 09/03/2009 01:59 pm Edgar E. Iglesias

microblaze: Trap on unaligned data accesses.

Untested...

Signed-off-by: Edgar E. Iglesias <>

821ebb33 09/03/2009 01:52 pm Edgar E. Iglesias

microblaze: Trap on divizions by zero.

Signed-off-by: Edgar E. Iglesias <>

ee7dbcf8 09/03/2009 12:18 pm Edgar E. Iglesias

microblaze: Correct mfs into r0.

Signed-off-by: Edgar E. Iglesias <>

1567a005 09/03/2009 12:12 pm Edgar E. Iglesias

microblaze: Catch illegal insns and privilege violations.

Raise illegal instruction exceptions when executing instructions that
require units not available on the particulare microblaze configuration.

Also trap priviliege violations made by userspace.

Signed-off-by: Edgar E. Iglesias <>

cedb936b 09/03/2009 11:25 am Edgar E. Iglesias

microblaze: Add infrastructure for supporting hw exceptions.

Signed-off-by: Edgar E. Iglesias <>

a75cf0c5 09/03/2009 11:15 am Edgar E. Iglesias

microblaze: Clear exception in dslot ESR bit if not in dslot.

Signed-off-by: Edgar E. Iglesias <>

21d20636 09/03/2009 11:13 am Edgar E. Iglesias

microblaze: Correct MMU debug log.

Signed-off-by: Edgar E. Iglesias <>

0b5c1ce8 08/24/2009 04:21 pm Nathan Froyd

cleanup cpu-exec.c, part 0/N: consolidate handle_cpu_signal

handle_cpu_signal is very nearly copy-paste code for each target, with a
few minor variations. This patch sets up appropriate defaults for a
generic handle_cpu_signal and provides overrides for particular targets...

8167ee88 07/16/2009 11:47 pm Blue Swirl

Update to a hopefully more future proof FSF address

Signed-off-by: Blue Swirl <>

d0f3654f 05/27/2009 02:19 am Edgar E. Iglesias

microblaze: Make writes to MMU_ZPR flush the TLB.

Signed-off-by: Edgar E. Iglesias <>

6b2fce90 05/27/2009 02:10 am Edgar E. Iglesias

microblaze: Correct typo.

Signed-off-by: Edgar E. Iglesias <>

6a8b1ae2 05/26/2009 10:10 pm Edgar E. Iglesias

microblaze: Add petalogix s3a1800dsp MMU linux ref-design.

This setup was designed by petalogix and is supported by upstream linux.
The design targets a xilinx spartan-3a-1800 dsp board with MMU.

Signed-off-by: Edgar E. Iglesias <>

afeeceb0 05/26/2009 10:10 pm Edgar E. Iglesias

microblaze: Add MMU emulation.

Signed-off-by: Edgar E. Iglesias <>

4acb54ba 05/26/2009 10:10 pm Edgar E. Iglesias

microblaze: Add translation routines.

Signed-off-by: Edgar E. Iglesias <>