All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH] mm/memory_hotplug: add pgprot_t to mhp_params
@ 2020-03-13 14:52 Guenter Roeck
  0 siblings, 0 replies; only message in thread
From: Guenter Roeck @ 2020-03-13 14:52 UTC (permalink / raw)
  To: linux-sh

On Fri, Mar 13, 2020 at 04:10:21PM +1100, Logan Gunthorpe wrote:
> devm_memremap_pages() is currently used by the PCI P2PDMA code to create
> struct page mappings for IO memory.  At present, these mappings are
> created with PAGE_KERNEL which implies setting the PAT bits to be WB.
> However, on x86, an mtrr register will typically override this and force
> the cache type to be UC-.  In the case firmware doesn't set this register
> it is effectively WB and will typically result in a machine check
> exception when it's accessed.
> 
> Other arches are not currently likely to function correctly seeing they
> don't have any MTRR registers to fall back on.
> 
> To solve this, provide a way to specify the pgprot value explicitly to
> arch_add_memory().
> 
> Of the arches that support MEMORY_HOTPLUG: x86_64, and arm64 need a simple
> change to pass the pgprot_t down to their respective functions which set
> up the page tables.  For x86_32, set the page tables explicitly using
> _set_memory_prot() (seeing they are already mapped).  For ia64, s390 and
> sh, reject anything but PAGE_KERNEL settings -- this should be fine, for
> now, seeing these architectures don't support ZONE_DEVICE.
> 
> A check in __add_pages() is also added to ensure the pgprot parameter was
> set for all arches.
> 
...

> diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c
> index e5114c053364..b9de2d4fa57e 100644
> --- a/arch/sh/mm/init.c
> +++ b/arch/sh/mm/init.c
> @@ -412,6 +412,9 @@ int arch_add_memory(int nid, u64 start, u64 size,
>  	unsigned long nr_pages = size >> PAGE_SHIFT;
>  	int ret;
>  
> +	if (WARN_ON_ONCE(params->pgprot.pgprot != PAGE_KERNEL.pgprot)
> +		return -EINVAL;

Compile test ?

Guenter

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-03-13 14:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-13 14:52 [PATCH] mm/memory_hotplug: add pgprot_t to mhp_params Guenter Roeck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.