Re: [PATCH v2 07/12] ARM: split off core mapping logic from create_mapping

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 16 November 2015 at 19:55, Russell King - ARM Linux
<linux@xxxxxxxxxxxxxxxx> wrote:
> On Mon, Nov 16, 2015 at 07:32:32PM +0100, Ard Biesheuvel wrote:
>> In order to be able to reuse the core mapping logic of create_mapping
>> for mapping the UEFI Runtime Services into a private set of page tables,
>> split it off from create_mapping() into a separate function
>> __create_mapping which we will wire up in a subsequent patch.
>
> I'm slightly worried about this.  Generally, these functions setup
> global mappings.  If you're wanting to have a private set of page
> tables for UEFI, and those private page tables contain global
> mappings which are different from the mappings in the kernel's page
> tables, then you need careful break-TLBflush-make handling when
> switching from the kernel's page tables to the private UEFI ones,
> and vice versa.
>
> Has this aspect been considered?
>

Yes. The UEFI mappings are all below 1 GB, and the top kernel end is
reused as we do for ordinary userland page tables. The switch to the
UEFI page tables performs a full TLB flush. What it does not do is
break before make, as far as I can tell, so any pointers regarding how
to implement that would be appreciated (this is implemented in 11/12)

-- 
Ard.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]