xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Paul Durrant <Paul.Durrant@citrix.com>
To: Paul Durrant <Paul.Durrant@citrix.com>,
	Andrew Cooper <Andrew.Cooper3@citrix.com>,
	'Juergen Gross' <jgross@suse.com>,
	Jan Beulich <JBeulich@suse.com>
Cc: "xen-devel (xen-devel@lists.xenproject.org)"
	<xen-devel@lists.xenproject.org>,
	"Julien Grall (julien.grall@arm.com)" <julien.grall@arm.com>,
	'Boris Ostrovsky' <boris.ostrovsky@oracle.com>
Subject: Re: debian stretch dom0 + xen 4.9 fails to boot
Date: Wed, 7 Jun 2017 11:06:34 +0000	[thread overview]
Message-ID: <d4add3563cbc4f2fbd6a7a6594f59400@AMSPEX02CL03.citrite.net> (raw)
In-Reply-To: <2baad09e48864a06873037240b8e39dd@AMSPEX02CL03.citrite.net>

> -----Original Message-----
> From: Xen-devel [mailto:xen-devel-bounces@lists.xen.org] On Behalf Of
> Paul Durrant
> Sent: 07 June 2017 11:37
> To: Andrew Cooper <Andrew.Cooper3@citrix.com>; 'Juergen Gross'
> <jgross@suse.com>; Jan Beulich <JBeulich@suse.com>
> Cc: xen-devel (xen-devel@lists.xenproject.org) <xen-
> devel@lists.xenproject.org>; Julien Grall (julien.grall@arm.com)
> <julien.grall@arm.com>; 'Boris Ostrovsky' <boris.ostrovsky@oracle.com>
> Subject: Re: [Xen-devel] debian stretch dom0 + xen 4.9 fails to boot
> 
> > -----Original Message-----
> [snip]
> > >>
> > >> TBH: I really can't see what is wrong with that patch. The only change
> > >> which should be able to break something seems to be the reduction of
> > the
> > >> wakeup stack size to 3kB, but this shouldn't affect booting the system
> > >> at all...
> > >>
> > > Yeah, my next test is going to be increasing the size of the wakeup stack
> > again, but there is really nothing obviously wrong with the patch.
> >
> > My gut feeling is that there is some path through boot (tickled by these
> > two machines) which is clobbering the wrong piece of memory, which was
> > previously safe and is now not, because of the rearrangements here.
> >
> > Debugging these machines is very tricky, because they have no serial or
> > IMPI whatsoever.
> >
> 
> It does appear to be a layout issue. If I modify the code to just set
> wakeup_stack to wakeup_stack_start + PAGE_SIZE, so it has the full 4k then I
> still get the problem. However if I then move that code block that includes
> wakeup.S and move it to the end of trampoline.S so that wakup code and
> stack are once again located at the end then the problem goes away.
> 

It appears that it is just the code that needs to go at the end. The following patch is sufficient to avoid the problem. This may be preferable to a full reversion...

  Paul

diff --git a/xen/arch/x86/boot/trampoline.S b/xen/arch/x86/boot/trampoline.S
index 4d640f3fcd..7709a782f9 100644
--- a/xen/arch/x86/boot/trampoline.S
+++ b/xen/arch/x86/boot/trampoline.S
@@ -156,7 +156,7 @@ start64:
         movabs  $__high_start,%rax
         jmpq    *%rax

-#include "wakeup.S"
+ENTRY(wakeup_stack_start)

 /* The first page of trampoline is permanent, the rest boot-time only. */
 /* Reuse the boot trampoline on the 1st trampoline page as stack for wakeup. */
@@ -280,3 +280,4 @@ rm_idt: .word   256*4-1, 0, 0
 #include "mem.S"
 #include "edd.S"
 #include "video.S"
+#include "wakeup.S"
diff --git a/xen/arch/x86/boot/wakeup.S b/xen/arch/x86/boot/wakeup.S
index f9632eef95..d4824b55d5 100644
--- a/xen/arch/x86/boot/wakeup.S
+++ b/xen/arch/x86/boot/wakeup.S
@@ -173,5 +173,3 @@ bogus_saved_magic:
         movw    $0x0e00 + 'S', 0xb8014
         jmp     bogus_saved_magic

-/* Stack for wakeup: rest of first trampoline page. */
-ENTRY(wakeup_stack_start)

>   Paul
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> https://lists.xen.org/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

  reply	other threads:[~2017-06-07 11:06 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-06 14:32 debian stretch dom0 + xen 4.9 fails to boot Paul Durrant
2017-06-06 15:11 ` Jan Beulich
2017-06-06 15:51   ` Paul Durrant
2017-06-06 16:28     ` Paul Durrant
2017-06-06 17:00       ` Boris Ostrovsky
2017-06-07  8:07         ` Jan Beulich
2017-06-07  8:09           ` Paul Durrant
2017-06-07  8:19             ` Paul Durrant
2017-06-07 14:05           ` Boris Ostrovsky
2017-06-07  8:07         ` Paul Durrant
2017-06-07  8:27           ` Jan Beulich
     [not found]           ` <5937D4FF02000078001602F6@suse.com>
2017-06-07  9:03             ` Juergen Gross
2017-06-07  9:05               ` Paul Durrant
2017-06-07  9:09                 ` Andrew Cooper
2017-06-07 10:36                   ` Paul Durrant
2017-06-07 11:06                     ` Paul Durrant [this message]
2017-06-07 11:57                       ` Juergen Gross
2017-06-07 12:02                         ` Paul Durrant
2017-06-07 12:13                           ` Juergen Gross
2017-06-07 12:19                           ` Jan Beulich
2017-06-07 12:26                             ` Paul Durrant
2017-06-07 12:34                               ` Jan Beulich
2017-06-07 11:50                     ` Jan Beulich
2017-06-07 11:55                       ` Paul Durrant
2017-06-07 12:00                         ` Jan Beulich
2017-06-07 12:46                           ` Paul Durrant
2017-06-07 12:55                             ` Jan Beulich
2017-06-07 15:06                               ` Paul Durrant
2017-06-07 15:33                                 ` Jan Beulich
2017-06-07 15:40                                   ` Paul Durrant
2017-06-07 15:52                                     ` Jan Beulich
2017-06-08 12:42                                       ` Paul Durrant
2017-06-08 12:46                                         ` Juergen Gross
2017-06-08 13:18                                         ` Jan Beulich
2017-06-08 13:24                                           ` Paul Durrant
2017-06-09 12:19                                           ` Paul Durrant
2017-06-09 13:05                                             ` Jan Beulich
2017-06-09 13:52                                               ` Boris Ostrovsky
2017-06-09 15:14                                                 ` Paul Durrant
2017-06-09 15:41                                                   ` Jan Beulich
2017-06-09 15:47                                                     ` Paul Durrant
2017-06-09 15:58                                                       ` Jan Beulich
2017-06-12  8:14                                                       ` Paul Durrant
2017-06-12 10:40                                                         ` Jan Beulich
2017-06-12 10:44                                                           ` Paul Durrant
2017-06-12 10:53                                                             ` Paul Durrant
2017-06-12 11:12                                                               ` Jan Beulich
2017-06-12 12:05                                                                 ` Paul Durrant
2017-06-12 12:25                                                                   ` Paul Durrant
2017-06-12 13:54                                                                   ` Jan Beulich
2017-06-12 14:28                                                                     ` Paul Durrant
2017-06-12 14:43                                                                       ` Paul Durrant
2017-06-12 15:03                                                                         ` Paul Durrant
2017-06-12 15:07                                                                         ` Jan Beulich
2017-06-12 15:21                                                                           ` Paul Durrant
2017-06-06 17:40     ` Julien Grall
2017-06-07  8:05       ` Paul Durrant

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d4add3563cbc4f2fbd6a7a6594f59400@AMSPEX02CL03.citrite.net \
    --to=paul.durrant@citrix.com \
    --cc=Andrew.Cooper3@citrix.com \
    --cc=JBeulich@suse.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=jgross@suse.com \
    --cc=julien.grall@arm.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).