svn commit: r286787 - head/sys/x86/x86

Jason Harmening jason.harmening at gmail.com
Sat Aug 15 15:26:40 UTC 2015


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.


More information about the svn-src-all mailing list