00001 // _Id: sysrundwn.c,v 1.4 2006-03-09 10:47:59 roart Exp $ 00002 // _Locker: $ 00003 00004 // Author. Roar Thronęs. 00005 00006 #include <linux/config.h> 00007 #include<linux/linkage.h> 00008 00009 #include<ssdef.h> 00010 #include <asm/atomic.h> 00011 #include <linux/tqueue.h> 00012 #include <mmg_routines.h> 00013 00014 asmlinkage int exe_rundwn(int mode) { 00015 00016 // clear requested powerfail AST 00017 00018 // run rundown routines 00019 00020 // setrwm 00021 00022 // more rundown routines 00023 00024 // call lmf 00025 00026 // cpu capability 00027 00028 // account log 00029 00030 // phd_l_imgcnt++; 00031 00032 // put rsb in 4 p1 space vectors for user-written system services, rundown 00033 // routines and image-specific message sections 00034 00035 // setpfm off 00036 00037 // do dassigns 00038 00039 // dealloc rights identifier 00040 00041 // cantim 00042 // canwak 00043 00044 // _deq 00045 00046 #ifdef CONFIG_VMS 00047 mmg_imgreset(); 00048 #else 00049 // maybe for non-C. too? 00050 #endif 00051 00052 // another dassgn round 00053 00054 // dalloc 00055 00056 // dacefc 00057 00058 // vmslock(&SPIN_SCHED,IPL__SCHED); 00059 00060 // check error log mailbox queue EXE_AQ_ERLMBX 00061 00062 // remove ASTs 00063 00064 // eliminate change mode handlers 00065 00066 // cancel exit handlers 00067 00068 // eliminate exception handlers 00069 00070 // fix AST active/enable bits 00071 00072 // disable system service failure exceptions 00073 00074 // cancel compatibility mode handler 00075 00076 // sch_newlvl 00077 00078 // clear pcb_v_forcepen wakepen 00079 00080 // vmsunlock 00081 00082 // reenable ast delivery 00083 00084 // delete logicals 00085 00086 // reset P0 extension 00087 00088 // resource wait mode to prev state 00089 00090 return SS__NORMAL; 00091 } 00092