In my continuing effort to get all of Roger's Xen enhancements into
FreeBSD, I'm just about finished reviewing the next patch in his
series.  The current status of the patch can be found here:

        http://people.freebsd.org/~gibbs/xen_ipi.diff

The main, and late breaking, wrinkle for this patch is the newly
committed PCID support form AMD64.  I've done my best to translate
the updated assembly IPI handlers into the C equivalents needed for
Xen.  But, I'm by no means an x86 assembly expert, and my current
Xen installation doesn't advertise PCID, so all of the new branches
I've added have yet to be tested.  I also wonder if PVHVM guests
are supposed to perform the PCID work natively or use some other
Hypervisor functionality.

Other things I'm not happy about with the patch:
        - hvm.c wants to use invltlb_globpcid(), but it is private
          to pmap.c.  I've moved it to cpufunc.h to be next to
          invltlb(), but the definition of CR4_PGE (from specialreg.h)
          isn't visible in all of the contexts that include cpufunc.h.
          So I hackishly define it if necessary.  Ick.

        - With the divergence of IPI handling between i386 and
          amd64, x86/xen/hvm.c is growing too many ifdefs.  Should
          we delegate the definitions of the ipi functions to
          amd64/xen/hvm.c and i386/xen/hvm.c?

        - There's too much code duplication in xen_invlrng()
          and some of the logic in the other handlers can probably
          be tightened up.

Unfortunately, I'm out of time for tonight.  Hopefully the list
will have some great suggestions/fixes/improvements for this patch
before I pick it up again tomorrow.

Thanks,
Justin


_______________________________________________
freebsd-xen@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-xen
To unsubscribe, send any mail to "freebsd-xen-unsubscr...@freebsd.org"

Reply via email to