[PATCH] x86/setup: Extend low identity map to cover whole kernel range

2015-10-16 Thread Matt Fleming
From: Paolo Bonzini On 32-bit systems, the initial_page_table is reused by efi_call_phys_prolog as an identity map to call SetVirtualAddressMap. efi_call_phys_prolog takes care of converting the current CPU's GDT to a physical address too. For PAE kernels the identity mapping is achieved by ali

Re: [PATCH] x86: setup: extend low identity map to cover whole kernel range

2015-10-15 Thread H. Peter Anvin
On October 14, 2015 2:39:58 PM PDT, Andy Lutomirski wrote: >On Wed, Oct 14, 2015 at 2:00 PM, Matt Fleming > wrote: >> On Wed, 14 Oct, at 09:22:03AM, Andy Lutomirski wrote: >>> On Wed, Oct 14, 2015 at 6:52 AM, Matt Fleming > wrote: >>> > (Pulling in luto for low-level x86 fu) >>> > >>> > On Wed, 14

Re: [PATCH] x86: setup: extend low identity map to cover whole kernel range

2015-10-15 Thread Matt Fleming
nd this issue well enough to call this fixed. I've queued the following patch up in my urgent tree and I'll send a pull request to the tip folks tomorrow. --- >From 72ac9f242fad7c3bf3e06461e34c9a546d8cb411 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 14 Oct 2015 13:30:45 +0200

Re: [PATCH] x86: setup: extend low identity map to cover whole kernel range

2015-10-14 Thread Andy Lutomirski
On Wed, Oct 14, 2015 at 2:00 PM, Matt Fleming wrote: > On Wed, 14 Oct, at 09:22:03AM, Andy Lutomirski wrote: >> On Wed, Oct 14, 2015 at 6:52 AM, Matt Fleming >> wrote: >> > (Pulling in luto for low-level x86 fu) >> > >> > On Wed, 14 Oct, at 01:30:45PM, Paolo Bonzini wrote: >> >> On 32-bit system

Re: [PATCH] x86: setup: extend low identity map to cover whole kernel range

2015-10-14 Thread Matt Fleming
On Wed, 14 Oct, at 04:29:33PM, Paolo Bonzini wrote: > > On 14/10/2015 15:52, Matt Fleming wrote: > >> > However, for non-PAE kernels there is no guarantee that the identity > >> > mapping in the initial_page_table extends as far as the GDT; in this > >> > case, accesses to the GDT will cause a pag

Re: [PATCH] x86: setup: extend low identity map to cover whole kernel range

2015-10-14 Thread Matt Fleming
On Wed, 14 Oct, at 09:22:03AM, Andy Lutomirski wrote: > On Wed, Oct 14, 2015 at 6:52 AM, Matt Fleming > wrote: > > (Pulling in luto for low-level x86 fu) > > > > On Wed, 14 Oct, at 01:30:45PM, Paolo Bonzini wrote: > >> On 32-bit systems, the initial_page_table is reused by > >> efi_call_phys_prol

Re: [PATCH] x86: setup: extend low identity map to cover whole kernel range

2015-10-14 Thread Andy Lutomirski
On Wed, Oct 14, 2015 at 6:52 AM, Matt Fleming wrote: > (Pulling in luto for low-level x86 fu) > > On Wed, 14 Oct, at 01:30:45PM, Paolo Bonzini wrote: >> On 32-bit systems, the initial_page_table is reused by >> efi_call_phys_prolog as an identity map to call >> SetVirtualAddressMap. efi_call_phys

Re: [PATCH] x86: setup: extend low identity map to cover whole kernel range

2015-10-14 Thread Paolo Bonzini
On 14/10/2015 15:52, Matt Fleming wrote: >> > However, for non-PAE kernels there is no guarantee that the identity >> > mapping in the initial_page_table extends as far as the GDT; in this >> > case, accesses to the GDT will cause a page fault (which quickly becomes >> > a triple fault). Fix thi

Re: [PATCH] x86: setup: extend low identity map to cover whole kernel range

2015-10-14 Thread Matt Fleming
(Pulling in luto for low-level x86 fu) On Wed, 14 Oct, at 01:30:45PM, Paolo Bonzini wrote: > On 32-bit systems, the initial_page_table is reused by > efi_call_phys_prolog as an identity map to call > SetVirtualAddressMap. efi_call_phys_prolog takes care of > converting the current CPU's GDT to a

[PATCH] x86: setup: extend low identity map to cover whole kernel range

2015-10-14 Thread Paolo Bonzini
On 32-bit systems, the initial_page_table is reused by efi_call_phys_prolog as an identity map to call SetVirtualAddressMap. efi_call_phys_prolog takes care of converting the current CPU's GDT to a physical address too. For PAE kernels the identity mapping is achieved by aliasing the first PDPE f