4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * CDDL HEADER START
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * The contents of this file are subject to the terms of the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Common Development and Distribution License (the "License").
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * You may not use this file except in compliance with the License.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * See the License for the specific language governing permissions
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * and limitations under the License.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * When distributing Covered Code, include this CDDL HEADER in each
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * If applicable, add the following below this CDDL HEADER, with the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * fields enclosed by brackets "[]" replaced with your own identifying
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * information: Portions Copyright [yyyy] [name of copyright owner]
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * CDDL HEADER END
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Copyright (c) 2012 by Delphix. All rights reserved.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncextern "C" {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Per-allocation flags
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define VM_NOSLEEP 0x00000001 /* same as KM_NOSLEEP */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define VM_PUSHPAGE 0x00000004 /* same as KM_PUSHPAGE */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define VM_NORMALPRI 0x00000008 /* same as KM_NORMALPRI */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define VM_KMFLAGS 0x000000ff /* flags that must match KM_* flags */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * The following flags are restricted for use only within the kernel.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * VM_MEMLOAD is for use by the HAT to avoid infinite recursion.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * VM_NORELOC is used by the kernel when static VA->PA mappings are required.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * VM_ABORT requests that vmem_alloc() *ignore* the VM_SLEEP/VM_NOSLEEP flags
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * and forgo reaping if the allocation or attempted import, fails. This
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * flag is a segkmem-specific flag, and should not be used by anyone else.
#ifdef _KERNEL
extern void vmem_update(void *);
extern int vmem_is_populator();
#ifdef __cplusplus