From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olaf Hering Subject: Re: xen boot crash Date: Wed, 12 Jan 2011 14:37:50 +0100 Message-ID: <20110112133750.GA7286@aepfle.de> References: <201101121045.06045.Christoph.Egger@amd.com> <20110112100141.GA14960@aepfle.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Return-path: Content-Disposition: inline In-Reply-To: <20110112100141.GA14960@aepfle.de> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Christoph Egger Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org On Wed, Jan 12, Olaf Hering wrote: > On Wed, Jan 12, Christoph Egger wrote: > > > > > Hi! > > > > Changeset 22706:ca10302ac285 causes below boot crash. > > Reverting it makes xen boot again. > > > > The rip points to xen/common/page_alloc.c:543 > > Yes, that change was not well done. Sorry for that. I'm sure it doesnt > crash if set_gpfn_from_mfn() is called from free_domheap_pages(). > > Looking at free_heap_pages(), now the page owner is cleared at the > beginning of the loop. But later in the loop it is checked wether a TLB > flush is required. So the set_gpfn_from_mfn() should be at least moved > past this check. Even if that doesnt fix the crash you are seening. > > I will see if I can come up with a better version. It crashes in end_boot_allocator -> init_heap_pages -> free_heap_pages. paging_init() initializes the machine_to_phys_mapping[] array, but its called after end_boot_allocator(). As Keir said, there needs to be a more complete change for the machine_to_phys_mapping[] array handling. Olaf