MIPS: NEC VR5500 processor support fixup
authorShinya Kuribayashi <shinya.kuribayashi@necel.com>
Tue, 3 Mar 2009 09:05:51 +0000 (18:05 +0900)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 11 Mar 2009 20:11:07 +0000 (21:11 +0100)
commita644b2774d41409519bb33a16bd577cb41bb3095
treea0a8a574ac53e318dbf72306d6b752224ebdbc64
parentc189846ecf900cd6b3ad7d3cef5b45a746ce646b
MIPS: NEC VR5500 processor support fixup

Current VR5500 processor support lacks of some functions which are
expected to be configured/synthesized on arch initialization.

Here're some VR5500A spec notes:

* All execution hazards are handled in hardware.

* Once VR5500A stops the operation of the pipeline by WAIT instruction,
  it could return from the standby mode only when either a reset, NMI
  request, or all enabled interrupts is/are detected.  In other words,
  if interrupts are disabled by Status.IE=0, it keeps in standby mode
  even when interrupts are internally asserted.

  Notes on WAIT: The operation of the processor is undefined if WAIT
  insn is in the branch delay slot.  The operation is also undefined
  if WAIT insn is executed when Status.EXL and Status.ERL are set to 1.

* VR5500A core only implements the Load prefetch.

With these changes, it boots fine.

Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi@necel.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/asm/hazards.h
arch/mips/include/asm/prefetch.h
arch/mips/kernel/cpu-probe.c
arch/mips/mm/page.c
arch/mips/mm/tlbex.c