On 04.03.2012, at 21:21, Andreas Färber <afaer...@suse.de> wrote:
> Am 04.03.2012 19:46, schrieb Alexander Graf: >> >> >> On 04.03.2012, at 17:46, Andreas Färber <afaer...@suse.de> wrote: >> >>> Am 04.03.2012 12:53, schrieb Benjamin Herrenschmidt: >>>> On Sun, 2012-03-04 at 12:49 +0200, Avi Kivity wrote: >>>>> On 02/28/2012 11:48 PM, Benjamin Herrenschmidt wrote: >>>>>> On Tue, 2012-02-28 at 14:32 +0200, Avi Kivity wrote: >>>>>> >>>>>>> What if TARGET_PAGE_SIZE > getpagesize()? Or is that impossible? >>>>>> >>>>>> We have yet to encounter such a case. It's not currently possible on >>>>>> power (some old embedded chips could do 1K and 2K page sizes in the TLB >>>>>> iirc but we never supported that in Linux and it's being phased out in >>>>>> HW). >>>>>> >>>>>> I suggest that gets dealt with when/if it needs to, which means probably >>>>>> never :-) >>>>> >>>>> Doesn't ppc support both 4k and 64k pages? Suppose you run a 4k guest >>>>> on a 64k host? >>>>> >>>>> Maybe I'm misremembering or misunderstanding something. >>> >>>> TARGET_PAGE_SIZE in qemu is always 4k for powerpc, it's a compile time >>>> #define. >>> >>> Except for ppcemb-softmmu (1k), which is irrelevant for KVM AFAIU. >>> >>> Maybe just add an assert and be done with it? >> >> Assert for what? Linux page size of 64k is something perfectly normal on >> ppc. The hardware can always do at least 4k maps however. > > g_assert(TARGET_PAGE_SIZE <= getpagesize()) > > Just declare the above case as unsupported and abort if we encounter it. What I'm trying to tell you is that it's the default case on book3s ppc! ;) Alex