summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/sys/cpc_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/sys/cpc_impl.h')
-rw-r--r--usr/src/uts/common/sys/cpc_impl.h10
1 files changed, 4 insertions, 6 deletions
diff --git a/usr/src/uts/common/sys/cpc_impl.h b/usr/src/uts/common/sys/cpc_impl.h
index 1b57c76c10..ae89c90508 100644
--- a/usr/src/uts/common/sys/cpc_impl.h
+++ b/usr/src/uts/common/sys/cpc_impl.h
@@ -131,7 +131,7 @@ typedef struct _kcpc_ctx kcpc_ctx_t;
struct _kcpc_ctx {
struct _kcpc_set *kc_set; /* linked list of all bound sets */
- uint32_t kc_flags;
+ volatile uint_t kc_flags;
kcpc_pic_t *kc_pics; /* pointer to array of per-pic data */
hrtime_t kc_hrtime; /* gethrtime() at last sample */
uint64_t kc_vtick; /* virtualized %tick */
@@ -214,20 +214,18 @@ extern hrtime_t tsc_read(void);
struct cpu;
extern uint_t cpc_ncounters;
-extern kmutex_t kcpc_ctx_llock[]; /* protects ctx_list */
-extern kcpc_ctx_t *kcpc_ctx_list[]; /* head of list */
extern krwlock_t kcpc_cpuctx_lock; /* lock for 'kcpc_cpuctx' below */
extern int kcpc_cpuctx; /* number of cpu-specific contexts */
extern void kcpc_invalidate_all(void);
extern void kcpc_passivate(void);
-extern void kcpc_remote_stop(struct cpu *cp);
+extern void kcpc_cpu_stop(struct cpu *, boolean_t);
extern int kcpc_pcbe_tryload(const char *, uint_t, uint_t, uint_t);
-extern void kcpc_remote_program(struct cpu *cp);
+extern void kcpc_cpu_program(struct cpu *, kcpc_ctx_t *);
extern void kcpc_register_dcpc(void (*func)(uint64_t));
extern void kcpc_unregister_dcpc(void);
-extern kcpc_ctx_t *kcpc_ctx_alloc(void);
+extern kcpc_ctx_t *kcpc_ctx_alloc(int);
extern int kcpc_assign_reqs(struct _kcpc_set *, kcpc_ctx_t *);
extern void kcpc_ctx_free(kcpc_ctx_t *);
extern int kcpc_configure_reqs(kcpc_ctx_t *, struct _kcpc_set *, int *);