Re: [PATCH] parisc: Set valid bit in high byte of 64‑bit physical address
From: Helge Deller
Date: Thu Dec 18 2025 - 13:27:33 EST
Hi Leon,
On 12/18/25 13:08, Leon Romanovsky wrote:
On 32‑bit systems, phys_addr_t is defined as u32. However, parisc
expects physical addresses to be 64‑bit values so it can store a
validity bit in the upper byte.
...
Also remove the now‑obsolete macro.
Your patch is OK, but could you please keep the lpa() macro?
It's unrelated to your patch, and sometimes we need the lpa()
e.g. when adding debug code, so I'd prefer to keep it.
Thanks,
Helge
...
diff --git a/arch/parisc/include/asm/special_insns.h b/arch/parisc/include/asm/special_insns.h
index 1013eeba31e5..fbccd76180b6 100644
--- a/arch/parisc/include/asm/special_insns.h
+++ b/arch/parisc/include/asm/special_insns.h
@@ -2,21 +2,6 @@
#ifndef __PARISC_SPECIAL_INSNS_H
#define __PARISC_SPECIAL_INSNS_H
-#define lpa(va) ({ \
- unsigned long pa; \
- __asm__ __volatile__( \
- "copy %%r0,%0\n" \
- "8:\tlpa %%r0(%1),%0\n" \
- "9:\n" \
- ASM_EXCEPTIONTABLE_ENTRY(8b, 9b, \
- "or %%r0,%%r0,%%r0") \
- : "=&r" (pa) \
- : "r" (va) \
- : "memory" \
- ); \
- pa; \
-})