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. Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg