[PATCH v2] ARM: early fixmap support for earlycon

Stefan Agner stefan at agner.ch
Wed Jan 21 00:59:10 PST 2015


On 2015-01-21 00:48, Russell King - ARM Linux wrote:
> On Wed, Jan 21, 2015 at 12:37:44AM +0100, Stefan Agner wrote:
>> Add early fixmap support, initially to support permanent, fixed
>> mapping support for early console. A temporary, early pte is
>> created which is migrated to a permanent mapping in paging_init.
>> This is also needed since the attributs may change as the memory
>> types are initialized. The 3MiB range of fixmap spans two pte
>> tables, but currently only one pte is created for early fixmap
>> support.
> 
> I think this needs to be done more carefully - I think the entry(ies)
> should be removed, the TLBs flushed, and the new entry established.
> So:

I'm not experienced in mm development, hence please review critical.
 
> 
>> +static void __init early_fixmap_shutdown(void)
>> +{
>> +	int i;
>> +
>> +	pte_offset_fixmap = &pte_offset_late_fixmap;
>> +	pmd_clear(fixmap_pmd(fix_to_virt(__end_of_permanent_fixed_addresses - 1)));
> 
> I think you should flush tlbs here.

Even this shutdown function is still before preemption or SMP, hence
local_flush_tlb_kernel_page should be fine here?

--
Stefan



More information about the linux-arm-kernel mailing list