On 08/15/15 08:05, Roger Pau Monné wrote: > El 14/08/15 a les 22.08, Jason A. Harmening ha escrit: >> Author: jah >> Date: Fri Aug 14 20:08:16 2015 >> New Revision: 286787 >> URL: https://svnweb.freebsd.org/changeset/base/286787 >> >> Log: >> Use pmap_quick_enter_page() to handle bouncing of unmapped buffers in the >> x86 busdma_bounce implementation. Also treat user buffers as unmapped. >> This allows two things: >> 1. Sync'ing bounced maps in non-sleepable contexts. The physcopy* calls >> previously used could sleep on sf_buf operations in some cases. >> 2. Sync'ing user buffers outside the context of the owning process > > AFAICT this will break the Xen port. physcopy* uses uiomove_fromphys > that on the amd64 port is able to deal with pages outside of the DMAP. > OTOH pmap_quick_enter_page is not able to deal with pages outside of the > DMAP, and will simply panic. > > Roger. >
Is it actually possible for those non-dom0 pages to be used for I/O that passes through busdma? If it is, then it would be easy to make pmap_quick_enter_page() handle them by adding a pcpu pageframe similar to what we do for i386. _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"