machsystm.h revision 100b72f4fc209355ff607a0d787aad892d8a44ed
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens * CDDL HEADER START
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens * The contents of this file are subject to the terms of the
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens * Common Development and Distribution License (the "License").
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens * You may not use this file except in compliance with the License.
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens * or http://www.opensolaris.org/os/licensing.
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens * See the License for the specific language governing permissions
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens * and limitations under the License.
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens * When distributing Covered Code, include this CDDL HEADER in each
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens * If applicable, add the following below this CDDL HEADER, with the
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens * fields enclosed by brackets "[]" replaced with your own identifying
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens * information: Portions Copyright [yyyy] [name of copyright owner]
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens * CDDL HEADER END
#ifndef _SYS_MACHSYSTM_H
#define _SYS_MACHSYSTM_H
#ifndef _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);
#ifdef __cplusplus