Module Name: src Committed By: martin Date: Sun May 31 10:39:35 UTC 2020
Modified Files: src/sys/arch/x86/include [netbsd-9]: pmap.h src/sys/arch/x86/x86 [netbsd-9]: pmap.c src/sys/arch/xen/include [netbsd-9]: xenio.h xenpmap.h src/sys/arch/xen/x86 [netbsd-9]: x86_xpmap.c src/sys/arch/xen/xen [netbsd-9]: privcmd.c src/sys/external/mit/xen-include-public/dist/xen/include/public [netbsd-9]: memory.h Log Message: Pull up following revision(s) (requested by bouyer in ticket #935): sys/arch/xen/x86/x86_xpmap.c: revision 1.89 sys/arch/x86/include/pmap.h: revision 1.121 sys/arch/xen/xen/privcmd.c: revision 1.58 sys/external/mit/xen-include-public/dist/xen/include/public/memory.h: revision 1.2 sys/arch/xen/include/xenpmap.h: revision 1.44 sys/arch/xen/include/xenio.h: revision 1.12 sys/arch/x86/x86/pmap.c: revision 1.394 (all via patch) Ajust pmap_enter_ma() for upcoming new Xen privcmd ioctl: pass flags to xpq_update_foreign() Introduce a pmap MD flag: PMAP_MD_XEN_NOTR, which cause xpq_update_foreign() to use the MMU_PT_UPDATE_NO_TRANSLATE flag. make xpq_update_foreign() return the raw Xen error. This will cause pmap_enter_ma() to return a negative error number in this case, but the only user of this code path is privcmd.c and it can deal with it. Add pmap_enter_gnt()m which maps a set of Xen grant entries at the specified va in the specified pmap. Use the hooks implemented for EPT to keep track of mapped grand entries in the pmap, and unmap them when pmap_remove() is called. This requires pmap_remove() to be split into a pmap_remove_locked(), to be called from pmap_remove_gnt(). Implement new ioctl, needed by Xen 4.13: IOCTL_PRIVCMD_MMAPBATCH_V2 IOCTL_PRIVCMD_MMAP_RESOURCE IOCTL_GNTDEV_MMAP_GRANT_REF IOCTL_GNTDEV_ALLOC_GRANT_REF Always enable declarations needed by privcmd.c To generate a diff of this commit: cvs rdiff -u -r1.101 -r1.101.2.1 src/sys/arch/x86/include/pmap.h cvs rdiff -u -r1.334.2.1 -r1.334.2.2 src/sys/arch/x86/x86/pmap.c cvs rdiff -u -r1.11 -r1.11.22.1 src/sys/arch/xen/include/xenio.h cvs rdiff -u -r1.41 -r1.41.4.1 src/sys/arch/xen/include/xenpmap.h cvs rdiff -u -r1.84 -r1.84.4.1 src/sys/arch/xen/x86/x86_xpmap.c cvs rdiff -u -r1.51 -r1.51.10.1 src/sys/arch/xen/xen/privcmd.c cvs rdiff -u -r1.1.1.1 -r1.1.1.1.6.1 \ src/sys/external/mit/xen-include-public/dist/xen/include/public/memory.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.