[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v4] x86: relocate pvh_info



On Mon, Jan 22, 2018 at 06:09:14PM +0000, Andrew Cooper wrote:
> On 22/01/18 16:13, Wei Liu wrote:
> > Modify early boot code to relocate pvh info as well, so that we can be
> > sure __va in __start_xen works.
> >
> > Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
> > ---
> > Cc: Jan Beulich <jbeulich@xxxxxxxx>
> > Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> > Cc: Roger Pau Monné <roger.pau@xxxxxxxxxx>
> > Cc: Doug Goldstein <cardoe@xxxxxxxxxx>
> >
> > v4: inlcude autoconf.h directly. The code itself is unchanged.
> > ---
> >  xen/arch/x86/boot/Makefile |  4 +++
> >  xen/arch/x86/boot/defs.h   |  3 +++
> >  xen/arch/x86/boot/head.S   | 25 ++++++++++--------
> >  xen/arch/x86/boot/reloc.c  | 64 
> > +++++++++++++++++++++++++++++++++++++++++-----
> >  4 files changed, 78 insertions(+), 18 deletions(-)
> >
> > diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
> > index c6246c85d2..1b3f121a2f 100644
> > --- a/xen/arch/x86/boot/Makefile
> > +++ b/xen/arch/x86/boot/Makefile
> > @@ -7,6 +7,10 @@ CMDLINE_DEPS = $(DEFS_H_DEPS) video.h
> >  RELOC_DEPS = $(DEFS_H_DEPS) $(BASEDIR)/include/xen/multiboot.h \
> >          $(BASEDIR)/include/xen/multiboot2.h
> 
> + autoconf.h
> 
> However, it would much better to take xen/kconfig.h ...
> 

This is fine by me.

> >  
> > +ifeq ($(CONFIG_PVH_GUEST),y)
> > +RELOC_DEPS += $(BASEDIR)/include/public/arch-x86/hvm/start_info.h
> > +endif
> 
[...]
> > diff --git a/xen/arch/x86/boot/reloc.c b/xen/arch/x86/boot/reloc.c
> > index b992678b5e..1fe19294ad 100644
> > --- a/xen/arch/x86/boot/reloc.c
> > +++ b/xen/arch/x86/boot/reloc.c
> > @@ -14,8 +14,8 @@
> >  
> >  /*
> >   * This entry point is entered from xen/arch/x86/boot/head.S with:
> > - *   - 0x4(%esp) = MULTIBOOT_MAGIC,
> > - *   - 0x8(%esp) = MULTIBOOT_INFORMATION_ADDRESS,
> > + *   - 0x4(%esp) = MAGIC,
> > + *   - 0x8(%esp) = INFORMATION_ADDRESS,
> >   *   - 0xc(%esp) = TOPMOST_LOW_MEMORY_STACK_ADDRESS.
> >   */
> >  asm (
> > @@ -29,6 +29,8 @@ asm (
> >  #include "../../../include/xen/multiboot.h"
> >  #include "../../../include/xen/multiboot2.h"
> >  
> > +#include "../../../include/generated/autoconf.h"
> > +
> >  #define get_mb2_data(tag, type, member)   (((multiboot2_tag_##type##_t 
> > *)(tag))->member)
> >  #define get_mb2_string(tag, type, member) ((u32)get_mb2_data(tag, type, 
> > member))
> >  
> > @@ -71,6 +73,41 @@ static u32 copy_string(u32 src)
> >      return copy_mem(src, p - src + 1);
> >  }
> >  
> > +#ifdef CONFIG_PVH_GUEST
> 
> ... drop this ifdef and ...
> 

So you want reloc.o to contain pvh_info_reloc unconditionally?

Fundamentally I don't think I care enough about all the bikeshedding so
if Jan and you agree on this I will just make the change.

Wei.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.