m68k: sun3: Fix DEBUG_MMU_EMU build
With DEBUG_MMU_EMU enabled:
arch/m68k/sun3/mmu_emu.c: In function ‘mmu_emu_handle_fault’:
arch/m68k/sun3/mmu_emu.c:420:38: error: implicit declaration of function ‘get_fs’; did you mean ‘sget_fc’? [-Werror=implicit-function-declaration]
420 | pr_info("seg:%ld crp:%p ->", get_fs().seg, crp);
| ^~~~~~
[...]
arch/m68k/sun3/mmu_emu.c:420:46: error: request for member ‘seg’ in something not a structure or union
420 | pr_info("seg:%ld crp:%p ->", get_fs().seg, crp);
| ^
Fix this by reintroducing and using a helper to retrieve the current
value of the DFC register.
While at it, replace "%p" by "%px", as there is no point in printing
obfuscated pointers during debugging.
Fixes: 9fde034864 ("m68k: Remove set_fs()")
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Link: https://lore.kernel.org/b1d12a1d24b4aea9f98d905383ba932b2dc382e6.1737387419.git.geert@linux-m68k.org
pull/1184/head
parent
751b3d8d88
commit
723be3c6ab
|
|
@ -95,10 +95,24 @@ static inline void set_fc(unsigned long val)
|
|||
"movec %0,%/dfc\n\t"
|
||||
: /* no outputs */ : "r" (val) : "memory");
|
||||
}
|
||||
|
||||
static inline unsigned long get_fc(void)
|
||||
{
|
||||
unsigned long val;
|
||||
|
||||
__asm__ ("movec %/dfc,%0" : "=r" (val) : );
|
||||
|
||||
return val;
|
||||
}
|
||||
#else
|
||||
static inline void set_fc(unsigned long val)
|
||||
{
|
||||
}
|
||||
|
||||
static inline unsigned long get_fc(void)
|
||||
{
|
||||
return USER_DATA;
|
||||
}
|
||||
#endif /* CONFIG_CPU_HAS_ADDRESS_SPACES */
|
||||
|
||||
struct thread_struct {
|
||||
|
|
|
|||
|
|
@ -371,7 +371,7 @@ int mmu_emu_handle_fault (unsigned long vaddr, int read_flag, int kernel_fault)
|
|||
}
|
||||
|
||||
#ifdef DEBUG_MMU_EMU
|
||||
pr_info("%s: vaddr=%lx type=%s crp=%p\n", __func__, vaddr,
|
||||
pr_info("%s: vaddr=%lx type=%s crp=%px\n", __func__, vaddr,
|
||||
str_read_write(read_flag), crp);
|
||||
#endif
|
||||
|
||||
|
|
@ -418,7 +418,7 @@ int mmu_emu_handle_fault (unsigned long vaddr, int read_flag, int kernel_fault)
|
|||
pte_val (*pte) |= SUN3_PAGE_ACCESSED;
|
||||
|
||||
#ifdef DEBUG_MMU_EMU
|
||||
pr_info("seg:%ld crp:%p ->", get_fs().seg, crp);
|
||||
pr_info("seg:%ld crp:%px ->", get_fc(), crp);
|
||||
print_pte_vaddr (vaddr);
|
||||
pr_cont("\n");
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue