On Mon, 2014-07-21 at 20:54 -0700, Roy Franz wrote:
On Mon, Jul 21, 2014 at 8:47 PM, Fu Wei fu.wei@linaro.org wrote:
I agree with you for the multiple banks of memory. Will try to use the first bank, and report the result here. :-)
Yes, I had to limit allocations to the low bank on the FVP model in the stub. My first patch series avoided this problem by marking the memory used to load modules as a mem-reserve region in the memory map so XEN would not try to use that memory (when it freed the modules it would check against reserved regions before trying to re-use the memory.) The upper banks can be accessed, but not mapped by XEN.
I don't have a generic solution for this yet.
Irrespective of Xen's (lack of) support for multiple memory banks we (by which I mean I) should make it handle the case where the initial modules are not in regions which it considers to be RAM and/or reserved regions which are not RAM.
Based on the description it seems that the problem is probably in discard_initial_modules() which will free the modules without checking if they are within RAM so it runs off the end of the frametable array, does that sound right?
If you comment out the call to dt_unreserved_regions in that function does it work OK? If so then I'll figure out a proper solution.
Ian.