On Tue, Sep 02, 2008 at 03:23:15PM +0900, Akio Takebe wrote:
> Zhang, Jingke wrote:
> >Akio Takebe wrote:
> >>Zhang, Jingke wrote:
> >>>Tristan Gingold wrote:
> >>>>On Tue, Sep 02, 2008 at 11:43:58AM +0800, Zhang, Jingke wrote:
> >>>>>Hi Tristan,
> >>>>> We found VTI guest with 3073M (memory is a little more than 3G)
> >>>>> can not be booted up. After some investigation, our engineer
> >>>>>found some pages are ruined by unknow reason. A EFI driver was
> >>>>>loaded to 4G+, and its initilization code used the ruined pages, so
> >>>>>bug out. I used latest openGFW binary (xenia64-gfw-126.bin). This
> >>>>>issue is very easy to reproduce. Could you please help to look at
> >>>>>it? Thank you very much!
> >>>>Hi,
> >>>>
> >>>>Can you explain what do you mean by 'ruined' ?
> >>>>
> >>>>Tristan.
> >>>Hi Tristan,
> >>> We found some code pages are polluted by an EFI driver
> >>>(currently, we did not locate which driver), and leads to the issue.
> >>>Thanks!
> >>I guess the same problem.
> >>http://lists.xensource.com/archives/html/xen-ia64-devel/2008-07/msg00200.html
> >
> >Yes, it should be the issue. Have any idea to the root cause? Thank you
> >very much!
> >
> I don't know the detail.
> Kuwamura checked the memory area that we cannot boot hvm a guest.
>
> He tested from 3073MB to 3299MB, the results are below:
> FAIL: 3073-3077, 3079-3094, 3098MB
> PASS: 3078, 3095-3097, 3099-3299MB
>
> He said we would avoid this problem if we don't specify 3073-3098MB.
Hi.
I looked into the issue a bit.
EFI_PEI_SERVICE funciton pointers are located on the stack for PEI.
Its service should be available until DxeIpl done and it is surely
used.
However if the stack page happens to be reused during DxeIpl, the
function pointers are overwritten. Then guest panic occurs the next
time the pei service is called via this function pointers which
don't contain correct value.
Pei page allocate seems to depend on initial memory layout so that
which cases fail/pass depends on the allocator.
Hmm, the right solution looks like that
- prevent the stack page from being allocated until DxeIPL done.
- (Optionally) free the page after DxeIpl done.
Probably at the beginning of Dxe.
thanks
--
yamahata
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|