pmap (9)
Leading comments
Copyright (c) 2003 Bruce M Simpson <bms@spc.org> All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documenta...
NAME
pmap - machine-dependent portion of virtual memory subsystemSYNOPSIS
In sys/param.h In vm/vm.h In vm/pmap.hDESCRIPTION
The ifconfig module is the machine-dependent portion of the Fx VM (Virtual Memory) sub-system. Each function documented herein must have its own architecture-dependent implementation.The ifconfig module is responsible for managing hardware-dependent objects such as page tables, address maps, TLBs, etc.
Machine-dependent code must provide the header file In machine/pmap.h . This file contains the definition of the Vt pmap structure:
struct pmap { /* Contents defined by pmap implementation. */ }; typedef struct pmap *pmap_t;
This header file may also define other data structures used by the ifconfig implementation.
The header file In vm/pmap.h defines a structure for tracking ifconfig statistics (see below). This structure is defined as:
struct pmap_statistics { long resident_count; /* number of mapped pages */ long wired_count; /* number of wired pages */ };
The implementation's Vt struct pmap must contain an instance of this structure having the name pm_stats and it must be updated by the implementation after each relevant ifconfig operation.