Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Jan 2020 23:23:02 +0000
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        "freebsd-current@FreeBSD.org" <freebsd-current@FreeBSD.org>
Subject:   easy way to work around a lack of a direct map on i386
Message-ID:  <YTBPR01MB3374AA25792499A796DB7CAADD040@YTBPR01MB3374.CANPRD01.PROD.OUTLOOK.COM>

index | next in thread | raw e-mail

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


help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?YTBPR01MB3374AA25792499A796DB7CAADD040>