17c478bdstevel@tonic-gate/*
27c478bdstevel@tonic-gate * CDDL HEADER START
37c478bdstevel@tonic-gate *
47c478bdstevel@tonic-gate * The contents of this file are subject to the terms of the
5ae115bcmrj * Common Development and Distribution License (the "License").
6ae115bcmrj * You may not use this file except in compliance with the License.
77c478bdstevel@tonic-gate *
87c478bdstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97c478bdstevel@tonic-gate * or http://www.opensolaris.org/os/licensing.
107c478bdstevel@tonic-gate * See the License for the specific language governing permissions
117c478bdstevel@tonic-gate * and limitations under the License.
127c478bdstevel@tonic-gate *
137c478bdstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each
147c478bdstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157c478bdstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the
167c478bdstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying
177c478bdstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner]
187c478bdstevel@tonic-gate *
197c478bdstevel@tonic-gate * CDDL HEADER END
207c478bdstevel@tonic-gate */
217c478bdstevel@tonic-gate/*
22ae115bcmrj * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
237c478bdstevel@tonic-gate * Use is subject to license terms.
247c478bdstevel@tonic-gate */
257c478bdstevel@tonic-gate
267c478bdstevel@tonic-gate#include <sys/cpuvar.h>
277c478bdstevel@tonic-gate#include <sys/kdi_impl.h>
287c478bdstevel@tonic-gate#include <sys/reboot.h>
297c478bdstevel@tonic-gate#include <sys/errno.h>
307c478bdstevel@tonic-gate#include <sys/atomic.h>
317c478bdstevel@tonic-gate#include <sys/kmem.h>
327c478bdstevel@tonic-gate
3301f1985cthkdi_debugvec_t	*kdi_dvec;
3401f1985cthstruct modctl	*kdi_dmods;
357c478bdstevel@tonic-gate
367c478bdstevel@tonic-gatestatic kdi_dtrace_state_t kdi_dtrace_state = KDI_DTSTATE_IDLE;
377c478bdstevel@tonic-gate
387c478bdstevel@tonic-gatevoid
397c478bdstevel@tonic-gatekdi_dvec_vmready(void)
407c478bdstevel@tonic-gate{
417c478bdstevel@tonic-gate	kdi_dvec->dv_kctl_vmready();
427c478bdstevel@tonic-gate	kdi_dvec->dv_vmready();
437c478bdstevel@tonic-gate}
447c478bdstevel@tonic-gate
457c478bdstevel@tonic-gatevoid
467c478bdstevel@tonic-gatekdi_dvec_memavail(void)
477c478bdstevel@tonic-gate{
487c478bdstevel@tonic-gate	/*
497c478bdstevel@tonic-gate	 * The driver will allocate more memory (if requested), and will call
507c478bdstevel@tonic-gate	 * dv_memavail itself.
517c478bdstevel@tonic-gate	 */
527c478bdstevel@tonic-gate	kdi_dvec->dv_kctl_memavail();
537c478bdstevel@tonic-gate}
547c478bdstevel@tonic-gate
55ae115bcmrj#if defined(__x86)
56ae115bcmrjvoid
57ae115bcmrjkdi_dvec_handle_fault(greg_t trapno, greg_t pc, greg_t sp, int cpuid)
58ae115bcmrj{
59ae115bcmrj	kdi_dvec->dv_handle_fault(trapno, pc, sp, cpuid);
60ae115bcmrj}
61ae115bcmrj#endif
62ae115bcmrj
637c478bdstevel@tonic-gate#if defined(__sparc)
64ae115bcmrj/*
65ae115bcmrj * Called on the CPU being initialized
66ae115bcmrj */
67ae115bcmrjvoid
68ae115bcmrjkdi_dvec_cpu_init(struct cpu *cp)
69