[PATCHv2 00/18] arm64: mm: rework page table creation
Ard Biesheuvel
ard.biesheuvel at linaro.org
Wed Jan 6 06:23:51 PST 2016
On 6 January 2016 at 12:36, Mark Rutland <mark.rutland at arm.com> wrote:
> On Wed, Jan 06, 2016 at 10:24:49AM +0000, Catalin Marinas wrote:
>> On Mon, Jan 04, 2016 at 05:56:33PM +0000, Mark Rutland wrote:
>> > Mark Rutland (18):
>> > asm-generic: make __set_fixmap_offset a static inline
>> > arm64: mm: specialise pagetable allocators
>> > arm64: mm: place empty_zero_page in bss
>> > arm64: unify idmap removal
>> > arm64: unmap idmap earlier
>> > arm64: add function to install the idmap
>> > arm64: mm: add code to safely replace TTBR1_EL1
>> > arm64: kasan: avoid TLB conflicts
>> > arm64: mm: move pte_* macros
>> > arm64: mm: add functions to walk page tables by PA
>> > arm64: mm: avoid redundant __pa(__va(x))
>> > arm64: mm: add __{pud,pgd}_populate
>> > arm64: mm: add functions to walk tables in fixmap
>> > arm64: mm: use fixmap when creating page tables
>> > arm64: mm: allocate pagetables anywhere
>> > arm64: mm: allow passing a pgdir to alloc_init_*
>> > arm64: ensure _stext and _etext are page-aligned
>> > arm64: mm: create new fine-grained mappings at boot
>>
>> The patches look fine (once you fix the issues Laura raised). Thanks for
>> putting them together.
>>
>> Reviewed-by: Catalin Marinas <catalin.marinas at arm.com>
>
> Thanks!
>
> I assume that applies to everything even without the suggested
> split_{pmd,pud} removal [1], for which I'll cook up a follow-up patch.
>
>> I'll queue them sometime after -rc1, in the meantime keep you branch up
>> to date so that Ard and Jeremy can base their patches on top.
>
> Will do.
>
> FWIW I've just updated the branch [2] with said fixes and your
> Reviewed-by. I won't send out a v3 just yet to give people time to
> digest this version.
>
> Ard, you'll find when rebasing that the compiler will scream at you due
> to the p??_fixmap* function renaming. It's fairly mechanical, and if you
> have vim handy you just need to run:
>
> :%s /\(pgd\|pud\|pmd\|pte\)_fixmap_unmap/\1_clear_fixmap/g
> :%s /\(pgd\|pud\|pmd\|pte\)_fixmap/\1_set_fixmap/g
>
Thanks. That went without a hitch, in fact. I don't actually call any
of these in the KASLR code, just the p??_offset_phys() accessors.
FYI I pushed my latest here
https://git.linaro.org/people/ard.biesheuvel/linux-arm.git/shortlog/refs/heads/arm64-kaslr-v3
git://git.linaro.org/people/ard.biesheuvel/linux-arm.git arm64-kaslr-v3
I'll probably hold off from [rebasing and] sending out my v3 until
your stuff hits post-rc1
--
Ard.
More information about the linux-arm-kernel
mailing list