[PATCH v2 1/1] ARM: LPAE: use phys_addr_t instead of unsigned long in outercache hooks
thunder.leizhen at huawei.com
Wed Dec 30 06:12:35 EST 2020
On 2020/12/30 17:54, Russell King - ARM Linux admin wrote:
> On Wed, Dec 30, 2020 at 04:28:05PM +0800, Zhen Lei wrote:
>> The outercache of some Hisilicon SOCs support physical addresses wider
>> than 32-bits. The unsigned long datatype is not sufficient for mapping
>> physical addresses >= 4GB. The commit ad6b9c9d78b9 ("ARM: 6671/1: LPAE:
>> use phys_addr_t instead of unsigned long in outercache functions") has
>> already modified the outercache functions. But the parameters of the
>> outercache hooks are not changed. This patch use phys_addr_t instead of
>> unsigned long in outercache hooks: inv_range, clean_range, flush_range.
>> To ensure the outercache that does not support LPAE works properly, do
>> cast phys_addr_t to unsigned long by adding a group of temporary
>> variables. For example:
>> -static void l2c220_inv_range(unsigned long start, unsigned long end)
>> +static void l2c220_inv_range(phys_addr_t pa_start, phys_addr_t pa_end)
>> + unsigned long start = pa_start;
>> + unsigned long end = pa_end;
>> Note that the outercache functions have been doing this cast before this
>> patch. So now, the cast is just moved into the outercache hook functions.
>> No functional change.
>> Signed-off-by: Zhen Lei <thunder.leizhen at huawei.com>
> This is fine, but there really needs to be a patch that makes use of
> this change before we accept it into mainline kernels.
OK, I will send the outcache driver of Hisilicon after New Year's Day.
More information about the linux-arm-kernel