easy way to work around a lack of a direct map on i386

From: Rick Macklem <rmacklem_at_uoguelph.ca>
Date: Thu, 30 Jan 2020 23:23:02 +0000
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

Received on Thu Jan 30 2020 - 22:23:06 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:22 UTC