mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
amd64: provide PHYS_IN_DMAP() and VIRT_IN_DMAP()
It is useful for quickly checking an address against the DMAP region. These definitions exist already on arm64 and riscv. Reviewed by: kib, markj MFC after: 3 days Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D32962
This commit is contained in:
parent
1adebe3cd6
commit
90d4da6225
1 changed files with 6 additions and 3 deletions
|
|
@ -239,16 +239,19 @@
|
|||
* because the result is not actually accessed until later, but the early
|
||||
* vt fb startup needs to be reworked.
|
||||
*/
|
||||
#define PHYS_IN_DMAP(pa) (dmaplimit == 0 || (pa) < dmaplimit)
|
||||
#define VIRT_IN_DMAP(va) ((va) >= DMAP_MIN_ADDRESS && \
|
||||
(va) < (DMAP_MIN_ADDRESS + dmaplimit))
|
||||
|
||||
#define PMAP_HAS_DMAP 1
|
||||
#define PHYS_TO_DMAP(x) ({ \
|
||||
KASSERT(dmaplimit == 0 || (x) < dmaplimit, \
|
||||
KASSERT(PHYS_IN_DMAP(x), \
|
||||
("physical address %#jx not covered by the DMAP", \
|
||||
(uintmax_t)x)); \
|
||||
(x) | DMAP_MIN_ADDRESS; })
|
||||
|
||||
#define DMAP_TO_PHYS(x) ({ \
|
||||
KASSERT((x) < (DMAP_MIN_ADDRESS + dmaplimit) && \
|
||||
(x) >= DMAP_MIN_ADDRESS, \
|
||||
KASSERT(VIRT_IN_DMAP(x), \
|
||||
("virtual address %#jx not covered by the DMAP", \
|
||||
(uintmax_t)x)); \
|
||||
(x) & ~DMAP_MIN_ADDRESS; })
|
||||
|
|
|
|||
Loading…
Reference in a new issue