Sat Aug 20 23:08:54 2022 UTC ()
uvm/uvm_pmap.h: Fix missing types and forward declarations.

- Need sys/types.h for vaddr_t, paddr_t, u_int, &c.
- Forward-declare struct vm_page so we don't have to rely on
  machine/pmap.h to do so.


(riastradh)
diff -r1.42 -r1.43 src/sys/uvm/uvm_pmap.h

cvs diff -r1.42 -r1.43 src/sys/uvm/uvm_pmap.h (expand / switch to unified diff)

--- src/sys/uvm/uvm_pmap.h 2022/02/16 20:13:58 1.42
+++ src/sys/uvm/uvm_pmap.h 2022/08/20 23:08:53 1.43
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: uvm_pmap.h,v 1.42 2022/02/16 20:13:58 riastradh Exp $ */ 1/* $NetBSD: uvm_pmap.h,v 1.43 2022/08/20 23:08:53 riastradh Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 1991, 1993 4 * Copyright (c) 1991, 1993
5 * The Regents of the University of California. All rights reserved. 5 * The Regents of the University of California. All rights reserved.
6 * 6 *
7 * This code is derived from software contributed to Berkeley by 7 * This code is derived from software contributed to Berkeley by
8 * The Mach Operating System project at Carnegie-Mellon University. 8 * The Mach Operating System project at Carnegie-Mellon University.
9 * 9 *
10 * Redistribution and use in source and binary forms, with or without 10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions 11 * modification, are permitted provided that the following conditions
12 * are met: 12 * are met:
13 * 1. Redistributions of source code must retain the above copyright 13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer. 14 * notice, this list of conditions and the following disclaimer.
@@ -58,27 +58,32 @@ @@ -58,27 +58,32 @@
58 * 58 *
59 * any improvements or extensions that they make and grant Carnegie the 59 * any improvements or extensions that they make and grant Carnegie the
60 * rights to redistribute these changes. 60 * rights to redistribute these changes.
61 */ 61 */
62 62
63/* 63/*
64 * Machine address mapping definitions -- machine-independent 64 * Machine address mapping definitions -- machine-independent
65 * section. [For machine-dependent section, see "machine/pmap.h".] 65 * section. [For machine-dependent section, see "machine/pmap.h".]
66 */ 66 */
67 67
68#ifndef _PMAP_VM_ 68#ifndef _PMAP_VM_
69#define _PMAP_VM_ 69#define _PMAP_VM_
70 70
 71#include <sys/types.h>
 72
 73#include <uvm/uvm_prot.h>
 74
71struct lwp; /* for pmap_activate()/pmap_deactivate() proto */ 75struct lwp; /* for pmap_activate()/pmap_deactivate() proto */
 76struct vm_page;
72 77
73struct pmap; 78struct pmap;
74typedef struct pmap *pmap_t; 79typedef struct pmap *pmap_t;
75 80
76/* 81/*
77 * Each machine dependent implementation is expected to 82 * Each machine dependent implementation is expected to
78 * keep certain statistics. They may do this anyway they 83 * keep certain statistics. They may do this anyway they
79 * so choose, but are expected to return the statistics 84 * so choose, but are expected to return the statistics
80 * in the following structure. 85 * in the following structure.
81 */ 86 */
82struct pmap_statistics { 87struct pmap_statistics {
83 long resident_count; /* # of pages mapped (total)*/ 88 long resident_count; /* # of pages mapped (total)*/
84 long wired_count; /* # of pages wired */ 89 long wired_count; /* # of pages wired */