The latest version of the code is currently undergoing a lot of
changes with the ultimate goal of supporting windows. The PSE check
was added (along with other checks) to make sure that the page table
layout is supported by xenaccess before trying to walk the page table
and, possibly, interpreting the entries incorrectly.
PSE is an interesting beast. Just because the bit is enabled in CR4
doesn't mean that variable sized pages are actually in use. It just
means that they might be in use. Right now the code fails on the PSE
check because my page table lookup code does not check the PTE bit to
see what size the pages are. It probably works just fine for you
because you are working on a system (or at least a part of a system)
that has 4k pages.
In general, there is no harm in just commenting out this code for
now, if you'd like. This will provide the same functionality as
previously was available with xenaccess. The only real risk is that
the system may not work properly if you have a 4MB page. Before the
next release, I plan on actually implementing the proper page table
lookup techniques so that this whole issue goes away (i.e., I'll
perform the proper checks so that the failure condition that you are
currently seeing will not exist).
From what I have seen, PV domains do not have the PSE bit set
whereas HVM domains do. So if you're working with HVM, it would make
sense that this check is giving you trouble.
Sorry for the long answer, but hopefully that makes sense.
Cheers,
bryan
On Aug 15, 2007, at 3:26 PM, Hajime Inoue wrote:
> A recent update to subversion added a check for PSE.
> This is enabled in my images. However, the examples
> work when this check is commented out. Is this
> a paravirtualized-only problem, or one where big pages
> could cause problems, but since I'm not using big pages,
> I don't see one?
>
> Thanks,
> -Jim
-
Bryan D. Payne
Graduate Student, Computer Science
Georgia Tech Information Security Center
http://www.bryanpayne.org
|