Jan Beulich
2010-Nov-03 08:59 UTC
[Xen-devel] [PATCH] linux-2.6.18/x86_64: remove an inapplicable feature flag
Signed-off-by: Jan Beulich <jbeulich@novell.com> --- a/arch/x86_64/kernel/head-xen.S +++ b/arch/x86_64/kernel/head-xen.S @@ -206,6 +206,6 @@ ELFNOTE(Xen, XEN_ELFNOTE_ENTRY, .quad, startup_64) ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, .quad, hypercall_page) ELFNOTE(Xen, XEN_ELFNOTE_L1_MFN_VALID, .quad, _PAGE_PRESENT,_PAGE_PRESENT) - ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz, "writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel") + ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz, "writable_page_tables|writable_descriptor_tables|auto_translated_physmap|supervisor_mode_kernel") ELFNOTE(Xen, XEN_ELFNOTE_LOADER, .asciz, "generic") ELFNOTE(Xen, XEN_ELFNOTE_SUSPEND_CANCEL, .long, 1) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Jan Beulich
2010-Nov-03 09:13 UTC
Re: [Xen-devel] [PATCH] linux-2.6.18/x86_64: remove an inapplicable feature flag
>>> On 03.11.10 at 09:59, "Jan Beulich" <JBeulich@novell.com> wrote: > Signed-off-by: Jan Beulich <jbeulich@novell.com> > > --- a/arch/x86_64/kernel/head-xen.S > +++ b/arch/x86_64/kernel/head-xen.S > @@ -206,6 +206,6 @@ > ELFNOTE(Xen, XEN_ELFNOTE_ENTRY, .quad, startup_64) > ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, .quad, hypercall_page) > ELFNOTE(Xen, XEN_ELFNOTE_L1_MFN_VALID, .quad, > _PAGE_PRESENT,_PAGE_PRESENT) > - ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz, "writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel") > + ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz, "writable_page_tables|writable_descriptor_tables|auto_translated_physmap|supervisor_mode_kernel") > ELFNOTE(Xen, XEN_ELFNOTE_LOADER, .asciz, "generic") > ELFNOTE(Xen, XEN_ELFNOTE_SUSPEND_CANCEL, .long, 1)If the flag was removed from the pv-ops 64-bit kernel too, we could even start warning about inapplicable flags in hypervisor/tools. What puzzles me more though is that the pv-ops kernel requires the writable_page_tables feature. Why is that? And assuming it supports it at all (which seems questionable given that it unlikely was ever tested), why would it not also indicate support for writable_descriptor_tables and auto_translated_physmap? Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Jeremy Fitzhardinge
2010-Nov-03 12:35 UTC
Re: [Xen-devel] [PATCH] linux-2.6.18/x86_64: remove an inapplicable feature flag
On 11/03/2010 05:13 AM, Jan Beulich wrote:>>>> On 03.11.10 at 09:59, "Jan Beulich" <JBeulich@novell.com> wrote: >> Signed-off-by: Jan Beulich <jbeulich@novell.com> >> >> --- a/arch/x86_64/kernel/head-xen.S >> +++ b/arch/x86_64/kernel/head-xen.S >> @@ -206,6 +206,6 @@ >> ELFNOTE(Xen, XEN_ELFNOTE_ENTRY, .quad, startup_64) >> ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, .quad, hypercall_page) >> ELFNOTE(Xen, XEN_ELFNOTE_L1_MFN_VALID, .quad, >> _PAGE_PRESENT,_PAGE_PRESENT) >> - ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz, "writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel") >> + ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz, "writable_page_tables|writable_descriptor_tables|auto_translated_physmap|supervisor_mode_kernel") >> ELFNOTE(Xen, XEN_ELFNOTE_LOADER, .asciz, "generic") >> ELFNOTE(Xen, XEN_ELFNOTE_SUSPEND_CANCEL, .long, 1) > If the flag was removed from the pv-ops 64-bit kernel too, we could > even start warning about inapplicable flags in hypervisor/tools. > > What puzzles me more though is that the pv-ops kernel requires > the writable_page_tables feature. Why is that?It did in the very early days, but it hasn''t used it since converting to PV MMU (couldn''t, since it doesn''t exist any more). It lists "!writable_page_table", which I read as meaning "writable page tables not supported"; does it actually mean "must"? J _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Jan Beulich
2010-Nov-03 14:04 UTC
Re: [Xen-devel] [PATCH] linux-2.6.18/x86_64: remove an inapplicable feature flag
>>> On 03.11.10 at 13:35, Jeremy Fitzhardinge <jeremy@goop.org> wrote: > On 11/03/2010 05:13 AM, Jan Beulich wrote: >>>>> On 03.11.10 at 09:59, "Jan Beulich" <JBeulich@novell.com> wrote: >>> Signed-off-by: Jan Beulich <jbeulich@novell.com> >>> >>> --- a/arch/x86_64/kernel/head-xen.S >>> +++ b/arch/x86_64/kernel/head-xen.S >>> @@ -206,6 +206,6 @@ >>> ELFNOTE(Xen, XEN_ELFNOTE_ENTRY, .quad, startup_64) >>> ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, .quad, hypercall_page) >>> ELFNOTE(Xen, XEN_ELFNOTE_L1_MFN_VALID, .quad, >>> _PAGE_PRESENT,_PAGE_PRESENT) >>> - ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz, > "writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_ > pgdir_above_4gb|supervisor_mode_kernel") >>> + ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz, > "writable_page_tables|writable_descriptor_tables|auto_translated_physmap|supe > rvisor_mode_kernel") >>> ELFNOTE(Xen, XEN_ELFNOTE_LOADER, .asciz, "generic") >>> ELFNOTE(Xen, XEN_ELFNOTE_SUSPEND_CANCEL, .long, 1) >> If the flag was removed from the pv-ops 64-bit kernel too, we could >> even start warning about inapplicable flags in hypervisor/tools. >> >> What puzzles me more though is that the pv-ops kernel requires >> the writable_page_tables feature. Why is that? > > It did in the very early days, but it hasn''t used it since converting to > PV MMU (couldn''t, since it doesn''t exist any more). It lists > "!writable_page_table", which I read as meaning "writable page tables > not supported"; does it actually mean "must"?Yes, it does (according to xen/include/public/elfnote.h). Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Campbell
2010-Nov-03 14:50 UTC
Re: [Xen-devel] [PATCH] linux-2.6.18/x86_64: remove an inapplicable feature flag
On Wed, 2010-11-03 at 14:04 +0000, Jan Beulich wrote:> >>> On 03.11.10 at 13:35, Jeremy Fitzhardinge <jeremy@goop.org> wrote: > > On 11/03/2010 05:13 AM, Jan Beulich wrote: > >>>>> On 03.11.10 at 09:59, "Jan Beulich" <JBeulich@novell.com> wrote: > >>> Signed-off-by: Jan Beulich <jbeulich@novell.com> > >>> > >>> --- a/arch/x86_64/kernel/head-xen.S > >>> +++ b/arch/x86_64/kernel/head-xen.S > >>> @@ -206,6 +206,6 @@ > >>> ELFNOTE(Xen, XEN_ELFNOTE_ENTRY, .quad, startup_64) > >>> ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, .quad, hypercall_page) > >>> ELFNOTE(Xen, XEN_ELFNOTE_L1_MFN_VALID, .quad, > >>> _PAGE_PRESENT,_PAGE_PRESENT) > >>> - ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz, > > "writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_ > > pgdir_above_4gb|supervisor_mode_kernel") > >>> + ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz, > > "writable_page_tables|writable_descriptor_tables|auto_translated_physmap|supe > > rvisor_mode_kernel") > >>> ELFNOTE(Xen, XEN_ELFNOTE_LOADER, .asciz, "generic") > >>> ELFNOTE(Xen, XEN_ELFNOTE_SUSPEND_CANCEL, .long, 1) > >> If the flag was removed from the pv-ops 64-bit kernel too, we could > >> even start warning about inapplicable flags in hypervisor/tools. > >> > >> What puzzles me more though is that the pv-ops kernel requires > >> the writable_page_tables feature. Why is that? > > > > It did in the very early days, but it hasn''t used it since converting to > > PV MMU (couldn''t, since it doesn''t exist any more). It lists > > "!writable_page_table", which I read as meaning "writable page tables > > not supported"; does it actually mean "must"? > > Yes, it does (according to xen/include/public/elfnote.h).The selection of ! for this meaning was very ill-conceived! I don''t know what I was thinking... I think it is correct to remove this flag. The pvops kernel has no support for running in a mode where page tables are not read-only, which is not to be confused with the trap-n-emulate type of writeable page table update which it does use. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel