[lkml]   [2022]   [Mar]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] DEC: Limit PMAX memory probing to R3k systems
On Fri, Mar 04, 2022 at 08:16:23PM +0000, Maciej W. Rozycki wrote:
> Recent tightening of the opcode table in binutils so as to consistently
> disallow the assembly or disassembly of CP0 instructions not supported
> by the processor architecture chosen has caused a regression like below:
> arch/mips/dec/prom/locore.S: Assembler messages:
> arch/mips/dec/prom/locore.S:29: Error: opcode not supported on this processor: r4600 (mips3) `rfe'
> in a piece of code used to probe for memory with PMAX DECstation models,
> which have non-REX firmware. Those computers always have an R2000 CPU
> and consequently the exception handler used in memory probing uses the
> RFE instruction, which those processors use.
> While adding 64-bit support this code was correctly excluded for 64-bit
> configurations, however it should have also been excluded for irrelevant
> 32-bit configurations. Do this now then, and only enable PMAX memory
> probing for R3k systems.
> Reported-by: Jan-Benedict Glaw <>
> Reported-by: Sudip Mukherjee <>
> Signed-off-by: Maciej W. Rozycki <>
> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
> Cc: # v2.6.12+
> ---
> Hi,
> I'm assuming this won't go back beyond commit 2a11c8ea20bf ("kconfig:
> Introduce IS_ENABLED(), IS_BUILTIN() and IS_MODULE()") or any backport
> will have to be rewritten to avoid IS_ENABLED.
> The original actual change named to fix ought to be commit dd82ef87e4c9
> ("PROM interface rework to support a 64-bit kernel.") from the LMO repo:
> <>,
> which introduced the `prom_is_rex' macro, which guards this code. Said
> commit predates the history of our main repository though.
> This change has actually been verified at runtime with a PMIN system
> (effectively a PMAX, but with a slower R2000 CPU) and a 4MAX+ system (an
> R4400SC-based machine), and naturally throughout the three possible build
> configurations: R3k, R4k/32-bit, R4k/64-bit.
> It took longer than expected, but oh well... Sorry for the inconvenience
> caused.
> Please apply,
> Maciej
> ---
> arch/mips/dec/prom/Makefile | 2 +-
> arch/mips/include/asm/dec/prom.h | 15 +++++----------
> 2 files changed, 6 insertions(+), 11 deletions(-)

applied to mips-next.


Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]

 \ /
  Last update: 2022-03-07 13:28    [W:0.125 / U:0.368 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site