Hi guys,

I'm trying to get FreeBSD Xen/PAE working so that FreeBSD can run on a *cough*
large cloud computing system, and I'm finding a bunch of breakage.

Some obvious breakage:
1. We don't check that the individual hypercalls in a multicall succeeded.
2. In the XEN && PAE case, pmap_release KASSERTs one page mapping too many.
3. In the XEN && PAE case, pmap_pinit calls pmap_qenter on NPGPTD + 1 pages,
but pmap_release only calls pmap_qremove on NPGPTD of them.

Some brain damage:
1. We have a VM_PAGE_TO_MACH() macro defined, but we're not using it in all the
places where it should be used.
2. xen/pmap.c is full of #ifdef XEN, even though the file is not compiled in
the !XEN case.

I'm going to fix the obvious breakage (and more as I encounter it) and I'd also
like to fix the brain damage since that will hopefully make it much easier for
me to understand the code.  Any objections?

Colin Percival
Security Officer, FreeBSD | freebsd.org | The power to serve
Founder / author, Tarsnap | tarsnap.com | Online backups for the truly paranoid
freebsd-xen@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-xen-unsubscr...@freebsd.org"

Reply via email to