All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Cc: "Ren, Yongjie" <yongjie.ren@intel.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Keir Fraser <keir@xen.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Tim Deegan <tim@xen.org>, Paolo Bonzini <pbonzini@redhat.com>,
	"Xu, YongweiX" <yongweix.xu@intel.com>,
	"Liu, SongtaoX" <songtaox.liu@intel.com>
Subject: Re: [BUG 1747]Guest could't find bootable device with memory more than 3600M
Date: Fri, 7 Jun 2013 16:56:54 +0100	[thread overview]
Message-ID: <alpine.DEB.2.02.1306071655060.4589@kaball.uk.xensource.com> (raw)
In-Reply-To: <51B1FF50.90406@eu.citrix.com>

On Fri, 7 Jun 2013, George Dunlap wrote:
> On 06/07/2013 01:15 PM, Stefano Stabellini wrote:
> > On Fri, 7 Jun 2013, Xu, YongweiX wrote:
> > > Hi Stefano Stabellini,
> > > 
> > > I found a new bug "Guest could't find bootable device with memory more
> > > than 3600M".
> > > Attach the link:
> > > http://bugzilla-archived.xenproject.org//bugzilla/show_bug.cgi?id=1857
> > > 
> > > When booting up guest(include Linux&Windows guest) with memory more than
> > > 3600M,the guest will show "No bootable device" and could not boot up. Then
> > > the guest will continuous reboot automatically and never found bootable
> > > device. But with guest memory less than or equal to 3600M, boot up
> > > successfully.
> > > 
> > > I found this is the qemu(qemu-upstream-unstable) issue, the latest version
> > > (commit:4597594c61add43725bd207bb498268a058f9cfb) caused this issue:
> > > xen: start PCI hole at 0xe0000000 (same as pc_init1 and
> > > qemu-xen-traditional)
> > > author      Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > >             Wed, 5 Jun 2013 19:36:10 +0800 (11:36 +0000)
> > > committer   Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > >             Wed, 5 Jun 2013 19:36:10 +0800 (11:36 +0000)
> > > commit     4597594c61add43725bd207bb498268a058f9cfb
> > > tree        d6831f75f4a7d4ad7a94bd4e33584ac358808ee6
> > > parent      25adf763933faddcc6a62bf55e1c52909a9bafbb
> > > 
> > > Can you debug this issue soon? Thanks.
> > 
> > Thank you very much for testing and bisecting the issue!
> > 
> > The problem is that by default hvmloader sets PCI_MEM_START to
> > 0xf0000000, then dynamically expands it backwards if needed.
> > It works with qemu-xen-traditional, because it doesn't do any checking
> > when registering memory regions.
> > It doesn't work with qemu-xen because it needs to know where the ram and
> > where the pci hole are when building the emulated machine.
> > We can't have hvmloader increasing the pci hole in a way that overlaps
> > with the guest ram (or where qemu thinks that the guest ram is).
> > It is also worth noting thet seabios has its own view of where the pci
> > hole starts and at the moment is set to 0xe0000000 at build time.
> > 
> > I can see two ways of fixing this now:
> > 
> > 1) have everybody agree about the pci hole starting at 0xe0000000
> > 
> > - set PCI_MEM_START in hvmloader to 0xe0000000 to match qemu's view of
> > the pci hole and have a bigger pci hole by default
> > 
> > - remove the loop in hvmloader to increase the pci hole
> > 
> > - set HVM_BELOW_4G_RAM_END to 0xe0000000, so that low_mem_pgend is set
> > accordingly in tools/libxc/xc_hvm_build_x86.c:build_hvm_info
> > 
> > 
> > 2) have everybody agree about the pci hole starting at 0xf0000000
> > 
> > - revert 4597594c61add43725bd207bb498268a058f9cfb in qemu-xen
> > 
> > - set BUILD_PCIMEM_START to 0xf0000000 in seabios
> > 
> > - remove the loop in hvmloader to increase the pci hole
> > 
> > 
> > Given that in both cases we need to remove the loop to increase the pci
> > hole in hvmloader I would rather go with 1) and have a bigger pci hole
> > by default to avoid problems with the pci hole being too small.
> > 
> 
> Did we ever figure out what actually happens on real hardware?  Or on KVM?  I
> have a hard time believing that real hardware is hard-coded -- who would be
> the person to ask about that, do you reckon?

For KVM I am CC'ing Paolo, for real hardware I'll let the Intel guys
speak.
To be clear the question is:

What happens on real hardware when the BIOS boots and finds out that the
PCI hole is too small to contain all the MMIO regions of the PCI devices?

  reply	other threads:[~2013-06-07 15:56 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-07  9:20 [BUG 1747]Guest could't find bootable device with memory more than 3600M Xu, YongweiX
2013-06-07 12:15 ` Stefano Stabellini
2013-06-07 15:42   ` George Dunlap
2013-06-07 15:56     ` Stefano Stabellini [this message]
2013-06-08  7:27       ` Hao, Xudong
2013-06-10 11:49         ` George Dunlap
2013-06-11 17:26           ` [Qemu-devel] [Xen-devel] " Stefano Stabellini
2013-06-11 17:26             ` Stefano Stabellini
2013-06-12  7:25             ` [Qemu-devel] " Jan Beulich
2013-06-12  7:25               ` Jan Beulich
2013-06-12  8:31               ` [Qemu-devel] " Ian Campbell
2013-06-12  8:31                 ` Ian Campbell
2013-06-12  9:02                 ` [Qemu-devel] " Jan Beulich
2013-06-12  9:02                   ` Jan Beulich
2013-06-12  9:22                   ` [Qemu-devel] " Ian Campbell
2013-06-12  9:22                     ` Ian Campbell
2013-06-12 10:07                     ` [Qemu-devel] [Xen-devel] " Jan Beulich
2013-06-12 10:07                       ` Jan Beulich
2013-06-12 11:23                       ` [Qemu-devel] " Ian Campbell
2013-06-12 11:23                         ` Ian Campbell
2013-06-12 11:56                         ` [Qemu-devel] " Jan Beulich
2013-06-12 11:56                           ` Jan Beulich
2013-06-12 11:59                           ` [Qemu-devel] " Ian Campbell
2013-06-12 11:59                             ` Ian Campbell
2013-06-12 10:05               ` [Qemu-devel] " George Dunlap
2013-06-12 10:05                 ` George Dunlap
2013-06-12 10:11                 ` [Qemu-devel] " Jan Beulich
2013-06-12 10:11                   ` Jan Beulich
2013-06-12 10:15                   ` [Qemu-devel] " George Dunlap
2013-06-12 10:15                     ` George Dunlap
2013-06-12 13:23                 ` [Qemu-devel] " Paolo Bonzini
2013-06-12 13:23                   ` Paolo Bonzini
2013-06-12 13:49                   ` [Qemu-devel] " Jan Beulich
2013-06-12 13:49                     ` Jan Beulich
2013-06-12 14:02                     ` [Qemu-devel] " Paolo Bonzini
2013-06-12 14:02                       ` Paolo Bonzini
2013-06-12 14:19                       ` [Qemu-devel] " Jan Beulich
2013-06-12 14:19                         ` Jan Beulich
2013-06-12 15:25                         ` [Qemu-devel] " George Dunlap
2013-06-12 15:25                           ` George Dunlap
2013-06-12 20:13                           ` [Qemu-devel] " Paolo Bonzini
2013-06-12 20:13                             ` Paolo Bonzini
2013-06-13 13:44                 ` [Qemu-devel] " Stefano Stabellini
2013-06-13 13:44                   ` Stefano Stabellini
2013-06-13 13:54                   ` [Qemu-devel] " George Dunlap
2013-06-13 13:54                     ` George Dunlap
2013-06-13 14:50                     ` [Qemu-devel] " Stefano Stabellini
2013-06-13 14:50                       ` Stefano Stabellini
2013-06-13 15:06                       ` [Qemu-devel] [Xen-devel] " Jan Beulich
2013-06-13 15:06                         ` Jan Beulich
2013-06-13 15:29                       ` [Qemu-devel] [Xen-devel] " George Dunlap
2013-06-13 15:29                         ` George Dunlap
2013-06-13 16:13                         ` [Qemu-devel] " Stefano Stabellini
2013-06-13 16:13                           ` Stefano Stabellini
2013-06-13 15:34                       ` [Qemu-devel] " Ian Campbell
2013-06-13 15:34                         ` Ian Campbell
2013-06-13 16:55                         ` [Qemu-devel] " Stefano Stabellini
2013-06-13 16:55                           ` Stefano Stabellini
2013-06-13 17:22                           ` [Qemu-devel] " Ian Campbell
2013-06-13 17:22                             ` Ian Campbell
2013-06-14 10:53                             ` [Qemu-devel] " George Dunlap
2013-06-14 10:53                               ` George Dunlap
2013-06-14 11:34                               ` [Qemu-devel] [Xen-devel] " Ian Campbell
2013-06-14 11:34                                 ` Ian Campbell
2013-06-14 14:14                                 ` [Qemu-devel] " George Dunlap
2013-06-14 14:14                                   ` George Dunlap
2013-06-14 14:36                                   ` [Qemu-devel] " George Dunlap
2013-06-14 14:36                                     ` George Dunlap
2013-06-13 14:54                     ` [Qemu-devel] " Paolo Bonzini
2013-06-13 14:54                       ` Paolo Bonzini
2013-06-13 15:16                     ` [Qemu-devel] [Xen-devel] " Ian Campbell
2013-06-13 15:16                       ` Ian Campbell
2013-06-13 15:30                       ` [Qemu-devel] [Xen-devel] " George Dunlap
2013-06-13 15:30                         ` George Dunlap
2013-06-13 15:36                         ` [Qemu-devel] " Ian Campbell
2013-06-13 15:36                           ` Ian Campbell
2013-06-13 15:40                           ` [Qemu-devel] " George Dunlap
2013-06-13 15:40                             ` George Dunlap
2013-06-13 15:42                             ` [Qemu-devel] " Ian Campbell
2013-06-13 15:42                               ` Ian Campbell
2013-06-13 15:40                       ` [Qemu-devel] " Stefano Stabellini
2013-06-13 15:40                         ` Stefano Stabellini

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=alpine.DEB.2.02.1306071655060.4589@kaball.uk.xensource.com \
    --to=stefano.stabellini@eu.citrix.com \
    --cc=george.dunlap@eu.citrix.com \
    --cc=keir@xen.org \
    --cc=pbonzini@redhat.com \
    --cc=songtaox.liu@intel.com \
    --cc=tim@xen.org \
    --cc=xen-devel@lists.xensource.com \
    --cc=yongjie.ren@intel.com \
    --cc=yongweix.xu@intel.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.