PVH: remove macro FEATURES_PVH and put PVH strings in the ELFNOTE line, because there''s a null char before FEATURES_PVH and in the FEATURES_PVH strings since this is not C file Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com> --- arch/x86/xen/xen-head.S | 14 +++++--------- 1 files changed, 5 insertions(+), 9 deletions(-) diff --git a/arch/x86/xen/xen-head.S b/arch/x86/xen/xen-head.S index 1a6bca1..340fd4e 100644 --- a/arch/x86/xen/xen-head.S +++ b/arch/x86/xen/xen-head.S @@ -13,14 +13,6 @@ #include <xen/interface/elfnote.h> #include <asm/xen/interface.h> -#ifdef CONFIG_XEN_X86_PVH -#define FEATURES_PVH "|writable_descriptor_tables" \ - "|auto_translated_physmap" \ - "|supervisor_mode_kernel" \ - "|hvm_callback_vector" -#else -#define FEATURES_PVH /* Not supported */ -#endif __INIT ENTRY(startup_xen) @@ -104,7 +96,11 @@ NEXT_HYPERCALL(arch_6) #endif ELFNOTE(Xen, XEN_ELFNOTE_ENTRY, _ASM_PTR startup_xen) ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, _ASM_PTR hypercall_page) - ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz "!writable_page_tables|pae_pgdir_above_4gb"FEATURES_PVH) +#ifdef CONFIG_XEN_X86_PVH + ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz "!writable_page_tables|pae_pgdir_above_4gb|writable_descriptor_tables|auto_translated_physmap|supervisor_mode_kernel|hvm_callback_vector") +#else + ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz "!writable_page_tables|pae_pgdir_above_4gb") +#endif ELFNOTE(Xen, XEN_ELFNOTE_PAE_MODE, .asciz "yes") ELFNOTE(Xen, XEN_ELFNOTE_LOADER, .asciz "generic") ELFNOTE(Xen, XEN_ELFNOTE_L1_MFN_VALID, -- 1.7.2.3
>>> On 15.11.12 at 03:19, Mukesh Rathor <mukesh.rathor@oracle.com> wrote: > PVH: remove macro FEATURES_PVH and put PVH strings in the ELFNOTE line, > because there''s a null char before FEATURES_PVH and in the FEATURES_PVH > strings since this is not C file > > Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com> > --- > arch/x86/xen/xen-head.S | 14 +++++--------- > 1 files changed, 5 insertions(+), 9 deletions(-) > > diff --git a/arch/x86/xen/xen-head.S b/arch/x86/xen/xen-head.S > index 1a6bca1..340fd4e 100644 > --- a/arch/x86/xen/xen-head.S > +++ b/arch/x86/xen/xen-head.S > @@ -13,14 +13,6 @@ > #include <xen/interface/elfnote.h> > #include <asm/xen/interface.h> > > -#ifdef CONFIG_XEN_X86_PVH > -#define FEATURES_PVH "|writable_descriptor_tables" \ > - "|auto_translated_physmap" \ > - "|supervisor_mode_kernel" \ > - "|hvm_callback_vector" > -#else > -#define FEATURES_PVH /* Not supported */ > -#endif > > __INIT > ENTRY(startup_xen) > @@ -104,7 +96,11 @@ NEXT_HYPERCALL(arch_6) > #endif > ELFNOTE(Xen, XEN_ELFNOTE_ENTRY, _ASM_PTR startup_xen) > ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, _ASM_PTR hypercall_page) > - ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz > "!writable_page_tables|pae_pgdir_above_4gb"FEATURES_PVH) > +#ifdef CONFIG_XEN_X86_PVH > + ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz > "!writable_page_tables|pae_pgdir_above_4gb|writable_descriptor_tables|auto_tr > anslated_physmap|supervisor_mode_kernel|hvm_callback_vector") > +#else > + ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz > "!writable_page_tables|pae_pgdir_above_4gb") > +#endifUgly. Can''t you do this with a combination of .ascii and .asciz, keeping the macro above? Jan> ELFNOTE(Xen, XEN_ELFNOTE_PAE_MODE, .asciz "yes") > ELFNOTE(Xen, XEN_ELFNOTE_LOADER, .asciz "generic") > ELFNOTE(Xen, XEN_ELFNOTE_L1_MFN_VALID, > -- > 1.7.2.3 > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel
On Wed, Nov 14, 2012 at 06:19:33PM -0800, Mukesh Rathor wrote:> PVH: remove macro FEATURES_PVH and put PVH strings in the ELFNOTE line, because there''s a null char before FEATURES_PVH and in the FEATURES_PVH strings since this is not C fileping? Jan had a comment about it to keep the #ifdef at the top and combine ascii and asiz? http://lists.xen.org/archives/html/xen-devel/2012-11/msg00676.html> > Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com> > --- > arch/x86/xen/xen-head.S | 14 +++++--------- > 1 files changed, 5 insertions(+), 9 deletions(-) > > diff --git a/arch/x86/xen/xen-head.S b/arch/x86/xen/xen-head.S > index 1a6bca1..340fd4e 100644 > --- a/arch/x86/xen/xen-head.S > +++ b/arch/x86/xen/xen-head.S > @@ -13,14 +13,6 @@ > #include <xen/interface/elfnote.h> > #include <asm/xen/interface.h> > > -#ifdef CONFIG_XEN_X86_PVH > -#define FEATURES_PVH "|writable_descriptor_tables" \ > - "|auto_translated_physmap" \ > - "|supervisor_mode_kernel" \ > - "|hvm_callback_vector" > -#else > -#define FEATURES_PVH /* Not supported */ > -#endif > > __INIT > ENTRY(startup_xen) > @@ -104,7 +96,11 @@ NEXT_HYPERCALL(arch_6) > #endif > ELFNOTE(Xen, XEN_ELFNOTE_ENTRY, _ASM_PTR startup_xen) > ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, _ASM_PTR hypercall_page) > - ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz "!writable_page_tables|pae_pgdir_above_4gb"FEATURES_PVH) > +#ifdef CONFIG_XEN_X86_PVH > + ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz "!writable_page_tables|pae_pgdir_above_4gb|writable_descriptor_tables|auto_translated_physmap|supervisor_mode_kernel|hvm_callback_vector") > +#else > + ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz "!writable_page_tables|pae_pgdir_above_4gb") > +#endif > ELFNOTE(Xen, XEN_ELFNOTE_PAE_MODE, .asciz "yes") > ELFNOTE(Xen, XEN_ELFNOTE_LOADER, .asciz "generic") > ELFNOTE(Xen, XEN_ELFNOTE_L1_MFN_VALID, > -- > 1.7.2.3
On Mon, 26 Nov 2012 14:54:00 -0500 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:> On Wed, Nov 14, 2012 at 06:19:33PM -0800, Mukesh Rathor wrote: > > PVH: remove macro FEATURES_PVH and put PVH strings in the ELFNOTE > > line, because there''s a null char before FEATURES_PVH and in the > > FEATURES_PVH strings since this is not C file > > ping? Jan had a comment about it to keep the #ifdef at the top > and combine ascii and asiz?Ok, if you''d like that too, I''ll look into it. I need to RTFM. thanks Mukesh