Re: [PATCH] x86_64: disable identity mappings statically

From: Jiri Olsa
Date: Fri Feb 11 2011 - 12:07:45 EST


On Fri, Feb 11, 2011 at 08:46:41AM -0800, Eric W. Biederman wrote:
> Jiri Olsa <jolsa@xxxxxxxxxx> writes:
>
> > hi,
> >
> > while browsing the page table setup code, I noticed the x86_64 head
> > code might not need the identity mappings at all.
> > It seems it's ok to switch it off completely from the begining,
> > unless I'm missing something.
>
> Have you tested it?

yes, I booted it with no problem

>
> I expect you will find that we need the identity mapping because
> before we load this page table we are running with virt==phys
> and we need the identity mapping retained in the new page table
> so we can get to the instruction after movq %rax, %cr0.

well, right after the page table setup, there's following code
switching to the kernel map adresses 0xffffffff80000000+

movq %rax, %cr3

/* Ensure I am executing from virtual addresses */
movq $1f, %rax
jmp *%rax
1:


and I found no other identity mapping usage after this point

jirka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/