00001 #ifndef smp_routines_h 00002 #define smp_routines_h 00003 00004 #include <ctddef.h> 00005 #include <iosbdef.h> 00006 #include <spldef.h> 00007 00008 void smp_std_acqnoipl (struct _spl *spl); 00009 void smp_std_acquire (int spl_index); 00010 void smp_std_acquirel (struct _spl *spl); 00011 int smp_std_acqnoipl_nospin (struct _spl *spl); 00012 int smp_std_acquire_nospin (int spl_index); 00013 int smp_std_acquirel_nospin (struct _spl *spl); 00014 void smp_std_acqnoipl_shr (struct _spl *spl); 00015 void smp_std_acquire_shr (int spl_index); 00016 void smp_std_acquirel_shr (struct _spl *spl); 00017 int smp_std_acqnoipl_shr_nospin (struct _spl *spl); 00018 int smp_std_acquire_shr_nospin (int spl_index); 00019 int smp_std_acquirel_shr_nospin (struct _spl *spl); 00020 int smp_std_allocate_portlock (int spl_index, struct _spl **portlock_ptr); 00021 void smp_std_cvt_to_shared (struct _spl *spl); 00022 int smp_std_cvt_to_ex (struct _spl *spl); 00023 void smp_std_release (int spl_index); 00024 void smp_std_releasel (struct _spl *spl); 00025 void smp_std_restore (int spl_index); 00026 void smp_std_restorel (struct _spl *spl); 00027 void smp_std_release_shr (int spl_index); 00028 void smp_std_releasel_shr (struct _spl *spl); 00029 void smp_std_restore_shr (int spl_index); 00030 void smp_std_restorel_shr (struct _spl *spl); 00031 int smp_std_setup_cpu(int); 00032 00033 int smp_cpu_orphan_check(int,unsigned long long,unsigned long long); 00034 int smp_request_shutdown_cpu(int, int); 00035 int smp_system_event_notify(struct _ctd_pq ctd, int event); 00036 void smp_timeout (void); 00037 int smp_validate_hw_configuration(int, char **, char **); 00038 00039 void smp_send_work(int work, int cpu); 00040 void smp_work(); 00041 00042 #endif 00043