PCH support on Solaris
Ulrich Weigand
weigand@immd1.informatik.uni-erlangen.de
Sun Apr 6 19:42:00 GMT 2003
Paolo Bonzini wrote:
> int flags = MAP_FIXED|MAP_SHARED;
> char *vec = alloca ((mmi.size + pagesize - 1) / pagesize);
> int result = mincore (mmi.preferred_base, mmi.size, vec);
> if (result == -1)
> {
> warning ("PCH not usable");
> return;
> }
This is not quite what I meant; you need to check that
*nothing* is mapped there before doing the MAP_FIXED mmap,
i.e. that every single page returns an error; about like so:
int i;
char vec;
for (i = 0; i < mmi.size; i += pagesize)
if (mincore((caddr_t)mmi.preferred_base + i,
pagesize, &vec) != -1)
{
warning ...
return;
}
Bye,
Ulrich
--
Dr. Ulrich Weigand
weigand@informatik.uni-erlangen.de
More information about the Gcc-patches
mailing list