changeset 3643:d5ffc0a2d216

6514248 Add DR support for Niagara crypto 6514590 ncp assertion panic draining jobs in ncp_drain_jobs()
author misaki
date Tue, 13 Feb 2007 14:27:45 -0800
parents 9280dc401622
children 59b78b906844
files usr/src/uts/sun4v/sys/n2cp.h usr/src/uts/sun4v/sys/ncp.h
diffstat 2 files changed, 14 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/uts/sun4v/sys/n2cp.h	Tue Feb 13 14:18:11 2007 -0800
+++ b/usr/src/uts/sun4v/sys/n2cp.h	Tue Feb 13 14:27:45 2007 -0800
@@ -19,7 +19,7 @@
  * CDDL HEADER END
  */
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -205,6 +205,7 @@
 typedef struct {
 	int		mc_cpuid;
 	int		mc_cwqid;
+	int		mc_state;	/* CWQ_STATE_... */
 } cpu_entry_t;
 
 typedef struct {
@@ -217,7 +218,7 @@
 	int		m_ncwqs_online;
 	int		m_nextcwqidx;
 	/*
-	 * Only protects m_nextcwqidx,  field.
+	 * Only protects m_nextcwqidx and m_ncwqs_online
 	 */
 	kmutex_t	m_lock;
 
@@ -536,7 +537,6 @@
 struct n2cp {
 	int				n_hvapi_major_version;
 	int				n_hvapi_minor_version;
-	kmutex_t			n_lock;
 	dev_info_t			*n_dip;
 
 	ddi_taskq_t			*n_taskq;
@@ -743,6 +743,10 @@
 int	n2cp_map_cpu_to_cwq(n2cp_t *, int);
 int	n2cp_map_nextcwq(n2cp_t *);
 cwq_entry_t	*n2cp_map_findcwq(n2cp_t *, int);
+void	n2cp_online_cwq(n2cp_t *, int cwq_id);
+void	n2cp_offline_cwq(n2cp_t *, int cwq_id);
+void	n2cp_online_cpu(n2cp_t *, int cpu_id);
+void	n2cp_offline_cpu(n2cp_t *, int cpu_id);
 
 #ifdef N2_ERRATUM_175
 
--- a/usr/src/uts/sun4v/sys/ncp.h	Tue Feb 13 14:18:11 2007 -0800
+++ b/usr/src/uts/sun4v/sys/ncp.h	Tue Feb 13 14:27:45 2007 -0800
@@ -19,7 +19,7 @@
  * CDDL HEADER END
  */
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -376,6 +376,7 @@
 typedef struct {
 	int		mc_cpuid;
 	int		mc_mauid;
+	int		mc_state;	/* MAU_STATE_... */
 } cpu_entry_t;
 
 typedef struct {
@@ -439,7 +440,6 @@
 	uint_t				n_hvapi_minor_version;
 	ncp_binding_t			n_binding;
 	char				*n_binding_name;
-	kmutex_t			n_lock;
 	kmem_cache_t			*n_ds_cache;
 	kmem_cache_t			*n_mactl_cache;
 	kmem_cache_t			*n_mabuf_cache;
@@ -569,7 +569,11 @@
 int	ncp_map_mau_to_cpu(ncp_t *, int);
 int	ncp_map_nextmau(ncp_t *);
 mau_entry_t	*ncp_map_findmau(ncp_t *, int);
-void	ncp_offline_mau(ncp_t *ncp, int mid);
+void	ncp_online_mau(ncp_t *, int mau_id);
+void	ncp_offline_mau(ncp_t *, int mau_id);
+void	ncp_online_cpu(ncp_t *, int cpu_id);
+void	ncp_offline_cpu(ncp_t *, int cpu_id);
+
 
 /*
  * ncp_kstat.c