2012-11-15 02:19:41

by Mukesh Rathor

[permalink] [raw]
Subject: [PATCH]: PVH: remove FEATURES_PVH macro

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 <[email protected]>
---
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


2012-11-15 09:55:09

by Jan Beulich

[permalink] [raw]
Subject: Re: [Xen-devel] [PATCH]: PVH: remove FEATURES_PVH macro

>>> On 15.11.12 at 03:19, Mukesh Rathor <[email protected]> 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 <[email protected]>
> ---
> 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")
> +#endif

Ugly. 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
> [email protected]
> http://lists.xen.org/xen-devel


2012-11-26 19:54:10

by Konrad Rzeszutek Wilk

[permalink] [raw]
Subject: Re: [PATCH]: PVH: remove FEATURES_PVH macro

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?

http://lists.xen.org/archives/html/xen-devel/2012-11/msg00676.html

>
> Signed-off-by: Mukesh Rathor <[email protected]>
> ---
> 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

2012-11-27 23:30:42

by Mukesh Rathor

[permalink] [raw]
Subject: Re: [PATCH]: PVH: remove FEATURES_PVH macro

On Mon, 26 Nov 2012 14:54:00 -0500
Konrad Rzeszutek Wilk <[email protected]> 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