K 10 svn:author V 6 cherry K 8 svn:date V 27 2014-08-18T17:35:33.113107Z K 7 svn:log V 1267 This commit consists of a number of changes that enable the pv kernel to boot to multiuser mode. i) pmap has been completely purged of pmap_pv and mmu_map cruft. ii) machdep.c has been modified unmap excess boottime kernel va mappings, which had overlaps with vm_pages on the free list. This caused page aliasing with conflicting permissions further on in boot. iii) To enable ii), the "special" page wirings for the xen console, xenstore, and shared info pages were mapped into non-conflicting va space at the expense of virtual_start, which is from an abundant resource (kernel va range). iv) Maxmem has been limited to about 50M for now, due to bootstrap limitations of Memory direct mapping. This is trivially fixable, and will be addressed in the next set of commits. v) User thread VA mappings into kernel space has been bugfixed and streamlined. (Further optimisations are possible). vi) The exception return path has been clipped of gs restore for now. We know that the hypervisor restores this on exit (via swapgs), but this needs further review. It seems to "just work for now", but I have left a note in the comments. This commit also removes mmu_map.[hc] which have mysteriously survived previous purges! Approved by: gibbs (implicit) END