machsystm.h revision 100b72f4fc209355ff607a0d787aad892d8a44ed
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * CDDL HEADER START
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * The contents of this file are subject to the terms of the
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Common Development and Distribution License (the "License").
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * You may not use this file except in compliance with the License.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * See the License for the specific language governing permissions
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * and limitations under the License.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * When distributing Covered Code, include this CDDL HEADER in each
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * If applicable, add the following below this CDDL HEADER, with the
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * fields enclosed by brackets "[]" replaced with your own identifying
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * information: Portions Copyright [yyyy] [name of copyright owner]
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * CDDL HEADER END
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Use is subject to license terms.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#pragma ident "%Z%%M% %I% %E% SMI"
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Numerous platform-dependent interfaces that don't seem to belong
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * in any other header file.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * This file should not be included by code that purports to be
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * platform-independent.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#endif /* _ASM */
#ifdef __cplusplus
#ifdef _KERNEL
#ifndef _ASM
enum intr_policies {
INTR_CURRENT_CPU = 0,
struct intr_dist {
extern void power_down(const char *);
extern void do_shutdown(void);
extern int thermal_powerdown_delay;
extern int obpdebug;
extern int forthdebug_supported;
extern void forthdebug_init(void);
extern void init_vx_handler(void);
extern void kern_preprom(void);
extern void kern_postprom(void);
extern void sync_handler(void);
struct regs;
extern void *get_tba(void);
extern void *set_tba(void *);
struct trap_info {
extern void debug_flush_windows(void);
extern void flush_windows(void);
extern int getprocessorid(void);
extern void reestablish_curthread(void);
extern void set_cmp_error_steering(void);
extern int ncpunode;
extern int niobus;
extern void segnf_init(void);
extern void kern_setup1(void);
extern void startup(void);
extern void post_startup(void);
extern void install_va_to_tte(void);
extern void create_va_to_tte(void);
extern int memscrub_init(void);
extern void kcpc_hw_init(void);
extern int kcpc_hw_load_pcbe(void);
struct cpu;
extern void setintrenable(int);
extern void intr_dist_add(void (*f)(void *), void *);
extern void intr_dist_rem(void (*f)(void *), void *);
extern void intr_redist_all_cpus(void);
extern void intr_redist_all_cpus_shutdown(void);
extern void send_dirint(int, int);
extern void siron(void);
extern void tickcmpr_reset(void);
extern void tickcmpr_disable(void);
extern int tickcmpr_disabled(void);
extern int vac;
extern int cache;
extern int use_mp;
extern int do_pg_coloring;
extern int do_virtual_coloring;
extern int use_page_coloring;
extern int use_virtual_coloring;
extern void page_freelist_coalesce_all(int);
extern void ppmapinit(void);
extern void hwblkpagecopy(const void *, void *);
extern int pp_slots;
extern int pp_consistent_coloring;
* ppcopy/hwblkpagecopy interaction. See ppage.c.
extern int use_hw_bcopy;
extern int use_hw_bzero;
#ifdef CHEETAH
extern void idle_other_cpus(void);
extern void resume_other_cpus(void);
extern void stop_other_cpus(void);
extern void idle_stop_xcall(void);
extern void set_idle_cpu(int);
extern void unset_idle_cpu(int);
typedef struct devi_branch {
void *arg;
int type;
} create;
* Prototypes which really belongs to sunddi.c, and should be moved to
* sunddi.c if there is another platform using these calls.
extern void adjust_hw_copy_limits(int);
struct kdi;
void kdi_flush_caches(void);
struct async_flt;
* this function is also defined in fpusystm.h
void syncfpu(void);
void cpu_flush_ecache(void);
void cpu_init_cache_scrub(void);
void cpu_init_tick_freq(void);
void sticksync_slave(void);
void sticksync_master(void);
#ifdef __cplusplus