Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2e65d1f6 authored by David Howells's avatar David Howells Committed by Linus Torvalds
Browse files

MN10300: Fix one of the kernel debugger cacheflush variants



One of the kernel debugger cacheflush variants escaped proper testing.  Two of
the labels are wrong, being derived from the code that was copied to construct
the variant.

The first label results in the following assembler message:

    AS      arch/mn10300/mm/cache-dbg-flush-by-reg.o
  arch/mn10300/mm/cache-dbg-flush-by-reg.S: Assembler messages:
  arch/mn10300/mm/cache-dbg-flush-by-reg.S:123: Error: symbol `debugger_local_cache_flushinv_no_dcache' is already defined

And the second label results in the following linker message:

  arch/mn10300/mm/built-in.o:(.text+0x1d39): undefined reference to `mn10300_local_icache_inv_range_reg_end'
  arch/mn10300/mm/built-in.o:(.text+0x1d39): relocation truncated to fit: R_MN10300_PCREL16 against undefined symbol `mn10300_local_icache_inv_range_reg_end'

To test this file the following configuration pieces must be set:

	CONFIG_AM34=y
	CONFIG_MN10300_CACHE_WBACK=y
	CONFIG_MN10300_DEBUGGER_CACHE_FLUSH_BY_REG=y
	CONFIG_MN10300_CACHE_MANAGE_BY_REG=y
	CONFIG_AM34_HAS_CACHE_SNOOP=n

Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent aec040e2
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -120,14 +120,14 @@ debugger_local_cache_flushinv_one:
	# conditionally purge this line in all ways
	# conditionally purge this line in all ways
	mov	d1,(L1_CACHE_WAYDISP*0,a0)
	mov	d1,(L1_CACHE_WAYDISP*0,a0)


debugger_local_cache_flushinv_no_dcache:
debugger_local_cache_flushinv_one_no_dcache:
	#
	#
	# now try to flush the icache
	# now try to flush the icache
	#
	#
	mov	CHCTR,a0
	mov	CHCTR,a0
	movhu	(a0),d0
	movhu	(a0),d0
	btst	CHCTR_ICEN,d0
	btst	CHCTR_ICEN,d0
	beq	mn10300_local_icache_inv_range_reg_end
	beq	debugger_local_cache_flushinv_one_end


	LOCAL_CLI_SAVE(d1)
	LOCAL_CLI_SAVE(d1)