easy way to work around a lack of a direct map on i386
Rick Macklem
rmacklem at uoguelph.ca
Thu Jan 30 23:23:06 UTC 2020
Hi,
The current code for KERN_TLS uses PHYS_TO_DMAP()
to access unmapped external pages on m_ext.ext_pgs
mbufs.
I also need to do this to implement RPC-over-TLS.
The problem is that some arches, like i386, don't
support PHYS_TO_DMAP().
Since it appears that there will be at most 4 pages on
one of these mbufs, my thinking was...
- Acquire four pages of kva from the kernel_map during
booting.
- Then just use pmap_qenter() to fill in the physical page
mappings for long enough to copy the data.
Does this sound reasonable?
Is there a better way?
Thanks for your comments, rick
More information about the freebsd-current
mailing list