[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Errors with Loading Xen at a Certain Address
On Wed, Oct 02, 2019 at 08:59:28PM +0100, Julien Grall wrote: > Hi, > > On 10/2/19 7:56 PM, Brian Woods wrote: > >On 10/2/19 5:52 PM, Julien Grall wrote: > >>On 10/2/19 1:32 AM, Brian Woods wrote: > >>>Hello, > >> > >>Hi Brian, > >> > >>Thank you for report. > >> > >>I guess this Arm specific, right? If so, please try to CC > >>the relevant maintainers and possibly add "arm" in the > >>subject to avoid any delay (Xen-Devel has quite an high > >>volume of e-mail!). > >> > >>May I also ask to avoiding sending attachment on the mailing > >>list and instead upload the log somewhere (e.g. pastebin, > >>your own webserver...)? > >> > > > >I did include all the ARM maintainers, although I forgot to CC > >Volodymyr. Sorry about that. > > Hmmm, the first e-mail didn't land in my inbox directly (I have a filter > send to a separate directory any e-mail I not CCed on). Did you BCC me by > any change? That's odd. I know I copied your and Stefano's email addresses from the MAINTAINERS file but under my sent emails it shows it has having no CCs... PEBCAK I guess. My apologies. > > Also, I'm not sure if this is strictly an > >ARM or general Xen bug so I left ARM. I guess I should have mentioned > >that in the email though. > > Let see try to troubleshoot it first :). > > > > >I prefer having them as attachments due to the fact I can see everything > >in mutt. Although if there's a strong community consensus that logs > >shouldn't be emailed as attachments, I will start using a pastebin like > >service to post them. > > Well, any attachment you send on the ML will store to each subscribers > mailbox. I let you do the math here ;) > > So yeah, pastebin is always the preferred way when you have to send the full > log. > > > > >>> > >>>While testing some things out, I found a possible bug in Xen. Xen would > >>>successfully run when loaded (from u-boot) at some addresses but not > >>>others. I didn't observe this issue in 4.11 stable, so I did a bisect > >>>and found that: > >>>commit f60658c6ae47e74792e6cc48ea2effac8bb52826 > >>>Author: Julien Grall <julien.grall@xxxxxxx> > >>>Date: Tue Dec 18 13:07:39 2018 +0000 > >>> > >>> xen/arm: Stop relocating Xen > >>> > >>>was what was causing it to fail when it was loaded to that certain > >>>address. > >> > >>This patch is basically changing how Xen is using the > >>physical address space. So it exercise more part of Xen > >>code and most likely a red-herring :). > >> > >>However, the logs are quite interesting: > >> > >>(XEN) pg[0] MFN 01533 c=0x180000000000000 o=0 v=0x7ffff t=0 > >> > >>If I am not mistaken, the page state is PGC_state_free. > >>So this seems to suggest that the page were already > >>handed over to the allocator. > >> > >>Would you mind to apply the patch below and paste the log? > >> > >>Hopefully, you see see two WARN_ON() before Xen is crashing. > >> > >>Note the patch is assuming the MFN will stay the same after > >>the patch has been applied. If not, you may need to slightly > >>tweak it. > >> > >>diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c > >>index 7cb1bd368b..4bf0dbc727 100644 > >>--- a/xen/common/page_alloc.c > >>+++ b/xen/common/page_alloc.c > >>@@ -1389,6 +1389,9 @@ static void free_heap_pages( > >> for ( i = 0; i < (1 << order); i++ ) > >> { > >>+ > >>+ WARN_ON(mfn_x(page_to_mfn(pg + 1)) == 0x01533); > >>+ > >> /* > >> * Cannot assume that count_info == 0, as there are some corner > >> cases > >> * where it isn't the case and yet it isn't a bug: > >> > >>Cheers, > >> > >>-- > >>Julien Grall > > > >Attached are the logs of loading patched Xen at the good and bad > >address. It appears the MFN has stayed the same, although there's only > >one WARN message for both the good and bad address. > > Thank you for the log. So that's probably not a double-init then. > > Looking back at the log, the values look quite sane. So I am not entirely > sure what is happening. > > I would check that the frametable is correctly zeroed. You could add a print > at the end of setup_frametable_mappings(...) to dump the count_info for the > page. Something like: > mfn_to_page(_mfn(0x01533))->count_info; > > If it is correctly initialized, it should be zero. > > The next step would be to add a similar print in start_xen() > (xen/arch/arm/setup.c) and see where the value is not 0 anymore. > > Cheers, > > -- > Julien Grall I'll go ahead add those and see if that leads to anything. -- Brian Woods _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |