[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <bc6a3b96-8954-4c79-928d-4035179b09e6@roeck-us.net>
Date: Thu, 18 Dec 2025 08:22:21 -0800
From: Guenter Roeck <linux@...ck-us.net>
To: Leon Romanovsky <leon@...nel.org>,
"James E.J. Bottomley" <James.Bottomley@...senPartnership.com>,
Helge Deller <deller@....de>, Marek Szyprowski <m.szyprowski@...sung.com>,
Jason Gunthorpe <jgg@...pe.ca>
Cc: linux-parisc@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] parisc: Set valid bit in high byte of 64‑bit physical address
On 12/18/25 04:08, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@...dia.com>
>
> 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.
>
> Resolve this mismatch by casting the physical address to unsigned
> long, ensuring it is treated as a 64‑bit value where required. This
> fixes the failure to start block device drivers on the C3700
> platform, as reported by Guenter.
>
> Also remove the now‑obsolete macro.
>
> QEMU command line to reproduce the issue (with Debian SID as rootfs):
> qemu-system-hppa -machine C3700 \
> -kernel arch/parisc/boot/bzImage \
> -append "console=ttyS0 \
> root=/dev/sda rw rootwait panic=-1" \
> -nographic \
> -device lsi53c895a \
> -drive file=rootfs-hppa.img,if=none,format=raw,id=hd0 \
> -device scsi-hd,drive=hd0
>
> Fixes: 96ddf2ef58ec ("parisc: Convert DMA map_page to map_phys interface")
> Reported-by: Guenter Roeck <linux@...ck-us.net>
> Closes: https://lore.kernel.org/all/b184f1bf-96dc-4546-8512-9cba5ecb58f7@roeck-us.net/
> Signed-off-by: Leon Romanovsky <leonro@...dia.com>
Tested-by: Guenter Roeck <linux@...ck-us.net>
Powered by blists - more mailing lists