Re: [PATCH v2 1/6] resource: Extend the PPC32 reserved memory hack

From: Michael Ellerman
Date: Tue Jan 23 2018 - 07:58:15 EST


Jonathan NeuschÃfer <j.neuschaefer@xxxxxxx> writes:

> On the Nintendo Wii, there are two ranges of physical memory, and MMIO
> in between, but Linux on ppc32 doesn't support discontiguous memory.
> Therefore a hack was introduced in commit c5df7f775148 ("powerpc: allow
> ioremap within reserved memory regions") and commit de32400dd26e ("wii:
> use both mem1 and mem2 as ram"):
>
> - Treat the area from the start of the first memory area (MEM1) to the
> end of the second (MEM2) as one big memory area, but mark the part
> that doesn't belong to MEM1 or MEM2 as reserved.
> - Only on the Wii, allow ioremap to be used on reserved memory.
>
> This hack, however, doesn't account for the "resource"-based API in
> kernel/resource.c, because __request_region performs its own checks.
>
> Extend the hack to kernel/resource.c, to allow more drivers to allocate
> their MMIO regions on the Wii.

Hi Jonathan,

Sorry but I can't merge a hack like this in generic code.

Has anyone looked at adding proper discontig mem support to PPC32?

Or can we punch a hole in the resource in the right place? Maybe from
add_system_ram_resources() ?

cheers