[PATCH] ARC: Use 40-bit physical page mask for PAE

Vladimir Isaev Vladimir.Isaev at synopsys.com
Mon Apr 26 17:43:22 BST 2021


Hi,

On Monday, April 26, 2021 7:30 PM, Vineet Gupta wrote:
> On 4/26/21 3:08 AM, Vladimir Isaev wrote:
> 
> >
> >   #endif /* _UAPI__ASM_ARC_PAGE_H */
> > diff --git a/arch/arc/mm/ioremap.c b/arch/arc/mm/ioremap.c
> > index fac4adc90204..eb109d57d544 100644
> > --- a/arch/arc/mm/ioremap.c
> > +++ b/arch/arc/mm/ioremap.c
> > @@ -71,8 +71,8 @@ void __iomem *ioremap_prot(phys_addr_t paddr,
> unsigned long size,
> >   	prot = pgprot_noncached(prot);
> >
> >   	/* Mappings have to be page-aligned */
> > -	off = paddr & ~PAGE_MASK;
> 
> This is offset *within* a page so upper bits must not matter. In fact,
> with this a bogus offset like 0xFF_FFFFFFFF can turn into something
> weird such as 0xFF_00000000

I understand, but idea here is to use PHYSICAL_PAGE_MASK/PAGE_MASK_PHYS
for any phys_addr_t variable without thinking. So if off is actually offset for
virtual address we can use unsigned long for it.

Thank you,
Vladimir Isaev


More information about the linux-snps-arc mailing list