On 17 June 2016 at 11:20, Vijay Kilari <vijay.kil...@gmail.com> wrote: > On Fri, Jun 17, 2016 at 1:12 AM, Richard Henderson <r...@twiddle.net> wrote: >> On 06/14/2016 04:36 AM, Peter Maydell wrote: >>> It would be better to delay the point at which we allocate >>> the data structures which care about page size, rather than >>> moving init of the CPU earlier. >> >> It would be *best* if we could re-initialize and re-allocate these data >> structures so that we can follow the current page size as it changes. >> >> Yes, this might require flushing just about everything, but it's the kind of >> thing that's likely to happen only at system startup. After that, everything >> benefits from having the correct (larger) page size. > > I tried shuffling the memory initialization code after cpu initialization. > but it was full mess. So could not proceed further. > > However, I tried early creation cpu objects instead of doing it from > machvirt_init. > With this, initfn of the cpu model is called earlier and feature set is > updated. > With that I could fetch arm architecture info. Based on this we can > choose page size.
This won't work, because machvirt_init needs to be able to specify properties of the CPU. I think we need to solve the issues with dynamically reinitializing and reallocating the data structures, as rth suggests. thanks -- PMM