17c478bd9Sstevel@tonic-gate /*
27c478bd9Sstevel@tonic-gate  * CDDL HEADER START
37c478bd9Sstevel@tonic-gate  *
47c478bd9Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
5d20abfaaSPavel Tatashin  * Common Development and Distribution License (the "License").
6d20abfaaSPavel Tatashin  * You may not use this file except in compliance with the License.
77c478bd9Sstevel@tonic-gate  *
87c478bd9Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97c478bd9Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
107c478bd9Sstevel@tonic-gate  * See the License for the specific language governing permissions
117c478bd9Sstevel@tonic-gate  * and limitations under the License.
127c478bd9Sstevel@tonic-gate  *
137c478bd9Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
147c478bd9Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157c478bd9Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
167c478bd9Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
177c478bd9Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
187c478bd9Sstevel@tonic-gate  *
197c478bd9Sstevel@tonic-gate  * CDDL HEADER END
207c478bd9Sstevel@tonic-gate  */
217c478bd9Sstevel@tonic-gate /*
22*64a3d88bSJonathan Adams  * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
237c478bd9Sstevel@tonic-gate  */
247c478bd9Sstevel@tonic-gate 
257c478bd9Sstevel@tonic-gate #ifndef	_MEMORY_H
267c478bd9Sstevel@tonic-gate #define	_MEMORY_H
277c478bd9Sstevel@tonic-gate 
287c478bd9Sstevel@tonic-gate #ifdef	__cplusplus
297c478bd9Sstevel@tonic-gate extern "C" {
307c478bd9Sstevel@tonic-gate #endif
317c478bd9Sstevel@tonic-gate 
327c478bd9Sstevel@tonic-gate int page_walk_init(mdb_walk_state_t *);
337c478bd9Sstevel@tonic-gate int page_walk_step(mdb_walk_state_t *);
347c478bd9Sstevel@tonic-gate void page_walk_fini(mdb_walk_state_t *);
357c478bd9Sstevel@tonic-gate int page(uintptr_t, uint_t, int, const mdb_arg_t *);
36d20abfaaSPavel Tatashin int allpages_walk_init(mdb_walk_state_t *);
37d20abfaaSPavel Tatashin int allpages_walk_step(mdb_walk_state_t *);
38d20abfaaSPavel Tatashin void allpages_walk_fini(mdb_walk_state_t *);
397c478bd9Sstevel@tonic-gate int memstat(uintptr_t, uint_t, int, const mdb_arg_t *);
407c478bd9Sstevel@tonic-gate 
41cbdcbd05SJonathan Adams int pagelookup(uintptr_t, uint_t, int, const mdb_arg_t *);
42cbdcbd05SJonathan Adams void pagelookup_help(void);
43cbdcbd05SJonathan Adams int page_num2pp(uintptr_t, uint_t, int, const mdb_arg_t *);
44cbdcbd05SJonathan Adams 
45cbdcbd05SJonathan Adams int seg_walk_init(mdb_walk_state_t *);
46cbdcbd05SJonathan Adams int seg(uintptr_t, uint_t, int, const mdb_arg_t *);
47cbdcbd05SJonathan Adams 
48*64a3d88bSJonathan Adams #define	SEGVN_PAGES_RESIDENT	(void *)(uintptr_t)0
49*64a3d88bSJonathan Adams #define	SEGVN_PAGES_ALL		(void *)(uintptr_t)1
50*64a3d88bSJonathan Adams int segvn_pages_walk_init(mdb_walk_state_t *);
51*64a3d88bSJonathan Adams int segvn_pages_walk_step(mdb_walk_state_t *);
52*64a3d88bSJonathan Adams void segvn_pages_walk_fini(mdb_walk_state_t *);
53*64a3d88bSJonathan Adams 
54cbdcbd05SJonathan Adams int vnode2smap(uintptr_t, uint_t, int, const mdb_arg_t *);
55cbdcbd05SJonathan Adams int addr2smap(uintptr_t, uint_t, int, const mdb_arg_t *);
56cbdcbd05SJonathan Adams 
57*64a3d88bSJonathan Adams #define	ANON_WALK_ALLOC	(void *)(uintptr_t)0
58*64a3d88bSJonathan Adams #define	ANON_WALK_ALL	(void *)(uintptr_t)1
59cbdcbd05SJonathan Adams int anon_walk_init(mdb_walk_state_t *);
60*64a3d88bSJonathan Adams int segvn_anon_walk_init(mdb_walk_state_t *);
61cbdcbd05SJonathan Adams int anon_walk_step(mdb_walk_state_t *);
62cbdcbd05SJonathan Adams void anon_walk_fini(mdb_walk_state_t *);
63cbdcbd05SJonathan Adams int pmap(uintptr_t, uint_t, int, const mdb_arg_t *);
64cbdcbd05SJonathan Adams 
657c478bd9Sstevel@tonic-gate int swap_walk_init(mdb_walk_state_t *);
667c478bd9Sstevel@tonic-gate int swap_walk_step(mdb_walk_state_t *);
677c478bd9Sstevel@tonic-gate int swapinfof(uintptr_t, uint_t, int, const mdb_arg_t *);
687c478bd9Sstevel@tonic-gate 
697c478bd9Sstevel@tonic-gate int memlist_walk_step(mdb_walk_state_t *);
707c478bd9Sstevel@tonic-gate int memlist(uintptr_t, uint_t, int, const mdb_arg_t *);
717c478bd9Sstevel@tonic-gate 
727c478bd9Sstevel@tonic-gate #ifdef	__cplusplus
737c478bd9Sstevel@tonic-gate }
747c478bd9Sstevel@tonic-gate #endif
757c478bd9Sstevel@tonic-gate 
767c478bd9Sstevel@tonic-gate #endif	/* _MEMORY_H */
77