home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / machserver / notes / callsProc < prev    next >
Encoding:
Text File  |  1992-02-14  |  48.3 KB  |  1,846 lines

  1. # For handling of signals, see callsSync and callsSig.
  2.  
  3. # Routines that manipulate Mach tasks or threads need to handle the case where
  4. # the task or thread has gone away.  If this happens, do a SIGKILL on the
  5. # process.  We can probably get notified when a task is destroyed, by creating
  6. # a port and a send-once right, doing a "port notify" on the port and right,
  7. # then giving the port to the user process.  (Should double-check this with
  8. # the mach3 experts.)  For the time being, though, we don't have to get
  9. # notified right away (this is what the BSD single-server does).
  10.  
  11. # The process state enum now has no affect on scheduling.  It's for
  12. # instrumentation ("what's this process doing?") and dealing with
  13. # debugging, migration, and synchronization with the parent.
  14.  
  15. # Each thread has a Proc_ControlBlock hanging off its context, corresponding to
  16. # the Proc_ControlBlock that a process has in native Sprite.  When a thread
  17. # starts doing something for a process, it should set the PCB pointer.  This
  18. # pointer is used to determine "the current process".
  19.  
  20. # There are two types of threads: server threads (corresponding to
  21. # Proc_ServerProcs and Rpc_Servers, Recov_Procs, etc.) and user threads
  22. # (corresponding to user processes that are running in the (native) kernel).
  23. # Threads generated in the exception handler are user threads (even though
  24. # they only run in the kernel).  Threads generated in the memory manager (VM
  25. # module) are server threads.  The context for a user thread points to the
  26. # corresponding user process.  The context for a server thread points to a
  27. # "server process" PCB.
  28. # (It turns out that this naming scheme is less than ideal.  A better set of
  29. # names might be "server threads" and "syscall threads", using "client thread"
  30. # or "client process" to refer to Sprite client processes.
  31.  
  32. # Initially assume only one thread per task.
  33.  
  34. AddPCBs                # don't obtain sched_MutexPtr
  35. DeencapProcState        # not supported initially
  36.     proc/procMigrate.c
  37. EncapProcState            # Don't support initially.
  38. ExitProcessInt            # call new routine to set state.  Try to clean
  39.                 # up some of the ifdefs?
  40.     proc/procExit.c
  41. FillPCBInfo            # (copy out pcb info to user-level struct)
  42.                 # keep, though may need some hacks to deal
  43.                 # with fields not supported with Mach.
  44.     proc/procMisc.c
  45. FindExitingChild        # call new routine to change process state
  46.     proc/procExit.c
  47. InitPCB                # deal with changes to PCB defn.
  48. PROC_ALL_PROCESSES        # (process mgmt) keep
  49.     Include/user/proc.h
  50.     proc/procMigrate.c
  51. PROC_BAD_AOUT_FORMAT        # keep
  52.     Include/user/status.h
  53.     proc/sun3.md/procMach.c
  54.     proc/procExec.c
  55.     proc/sun4.md/procMach.c
  56.     proc/ds3100.md/procMach.c
  57.     proc/sun4c.md/procMach.c
  58. PROC_BAD_PSW            # (process mgmt) unused, should eventually
  59.                 # delete.
  60.     Include/user/proc.h
  61. PROC_BAD_STACK            # (process mgmt) keep
  62.     Include/user/proc.h
  63.     mach/sun3.md/machCode.c
  64.     mach/sun4.md/machTrap.s
  65.     mach/sun4.md/machCode.c
  66.     mach/sun4.md/machAsm.s
  67.     mach/sun4c.md/machAsm.s
  68.     mach/sun4c.md/machCode.c
  69.     mach/sun4c.md/machTrap.s
  70.     mach/ds5000.md/machCode.c
  71.     mach/ds3100.md/machCode.c
  72.     mach/symm.md/machTrap.c
  73. PROC_BDP_HI            # (symm hardware definition)
  74.     mach/symm.md/machSGSProc.h
  75. PROC_BDP_LO            # (symm hardware definition)
  76.     mach/symm.md/machSGSProc.h
  77. PROC_BIC            # (symm hardware definition)
  78.     mach/symm.md/machSGSProc.h
  79.     mach/symm.md/machArchdep.c
  80. PROC_BSS_LOAD_ADDR        # (get BSS load addr from exec header) keep.
  81.     proc/sun3.md/procMach.h
  82.     proc/sun3.md/procMach.c
  83.     proc/sun4.md/procMach.c
  84.     proc/sun4.md/procMach.h
  85. PROC_CHILD_PROC            # (return value for child of fork()) delete
  86.                 # (child doesn't see return from fork()).
  87.     mach/ds5000.md/machUNIXSyscall.c
  88.     mach/ds3100.md/machUNIXSyscall.c
  89.     proc/procFork.c
  90.     proc/procStubs.c
  91. PROC_CMC_0            # (symm hardware definition)
  92.     mach/symm.md/machSGSProc.h
  93. PROC_CMC_1            # (symm hardware definition)
  94.     mach/symm.md/machSGSProc.h
  95. PROC_CODE_FILE_OFFSET        # (stuff for exec headers) keep.
  96.     proc/sun3.md/procMach.h
  97.     proc/sun3.md/procMach.c
  98.     proc/sun4.md/procMach.c
  99.     proc/sun4.md/procMach.h
  100.     proc/ds3100.md/procMach.c
  101.     proc/ds3100.md/procMach.h
  102. PROC_CODE_LOAD_ADDR        # (stuff for exec headers) keep.
  103.     proc/sun3.md/procMach.h
  104.     proc/sun3.md/procMach.c
  105.     proc/sun3.md/a.out.h
  106.     proc/sun4.md/a.out.h
  107.     proc/sun4.md/procMach.c
  108.     proc/sun4.md/procMach.h
  109.     proc/symm.md/procMach.h
  110.     proc/symm.md/procMach.c
  111. PROC_CTL            # (symm hardware defn)
  112.     mach/symm.md/machCode.c
  113.     mach/symm.md/machSGSProc.h
  114.     mach/symm.md/machTrap.c
  115.     mach/symm.md/machArchdep.c
  116. PROC_CTL1            # (symm hardware defn)
  117.     mach/symm.md/machSGSProc.h
  118. PROC_CTL1_MASK            # (symm hardware defn)
  119.     mach/symm.md/machSGSProc.h
  120. PROC_CTL1_NO_BURST        # (symm hardware defn)
  121.     mach/symm.md/machSGSProc.h
  122. PROC_CTL1_NO_CACHE_2G        # (symm hardware defn)
  123.     mach/symm.md/machSGSProc.h
  124. PROC_CTL1_NO_DINVAL        # (symm hardware defn)
  125.     mach/symm.md/machSGSProc.h
  126. PROC_CTL1_NO_FRESET        # (symm hardware defn)
  127.     mach/symm.md/machSGSProc.h
  128. PROC_CTL1_NO_HIT_D0        # (symm hardware defn)
  129.     mach/symm.md/machSGSProc.h
  130. PROC_CTL1_NO_HIT_D1        # (symm hardware defn)
  131.     mach/symm.md/machSGSProc.h
  132. PROC_CTL1_NO_HIT_I        # (symm hardware defn)
  133.     mach/symm.md/machSGSProc.h
  134. PROC_CTL_LED_OFF        # (symm hardware defn)
  135.     mach/symm.md/machSGSProc.h
  136.     mach/symm.md/machArchdep.c
  137. PROC_CTL_MASK            # (symm hardware defn)
  138.     mach/symm.md/machSGSProc.h
  139. PROC_CTL_NO_HOLD        # (symm hardware defn)
  140.     mach/symm.md/machCode.c
  141.     mach/symm.md/machSGSProc.h
  142.     mach/symm.md/machTrap.c
  143.     mach/symm.md/machArchdep.c
  144. PROC_CTL_NO_NMI            # (symm hardware defn)
  145.     mach/symm.md/machSGSProc.h
  146.     mach/symm.md/machTrap.c
  147.     mach/symm.md/machArchdep.c
  148. PROC_CTL_NO_RESET        # (symm hardware defn)
  149.     mach/symm.md/machCode.c
  150.     mach/symm.md/machSGSProc.h
  151.     mach/symm.md/machTrap.c
  152.     mach/symm.md/machArchdep.c
  153. PROC_CTL_NO_SSTEP        # (symm hardware defn)
  154.     mach/symm.md/machCode.c
  155.     mach/symm.md/machSGSProc.h
  156.     mach/symm.md/machTrap.c
  157.     mach/symm.md/machArchdep.c
  158. PROC_DATA_BSS_ADDR        # (some sort of facade over an exec header)
  159.                 # unused.
  160.     proc/sun3.md/a.out.h
  161.     proc/sun4.md/a.out.h
  162. PROC_DATA_FILE_OFFSET        # (get start of data segment from exec header)
  163.                 # keep.
  164.     proc/sun3.md/procMach.h
  165.     proc/sun3.md/procMach.c
  166.     proc/sun4.md/procMach.c
  167.     proc/sun4.md/procMach.h
  168.     proc/ds3100.md/procMach.h
  169.     proc/sun4c.md/procMach.c
  170.     proc/sun4c.md/procMach.h
  171. PROC_DATA_LOAD_ADDR        # (tell where to load data segment, from exec
  172.                 # header) keep.
  173.     proc/sun3.md/procMach.h
  174.     proc/sun3.md/procMach.c
  175.     proc/sun3.md/a.out.h
  176.     proc/sun4.md/a.out.h
  177.     proc/sun4.md/procMach.c
  178.     proc/sun4.md/procMach.h
  179.     proc/sun4c.md/procMach.c
  180.     proc/sun4c.md/procMach.h
  181. PROC_DEAD            # (process state)
  182.     dbg/sun4.md/dbgMain.c
  183.     dbg/sun3.md/dbgMain.c
  184.     proc/procExit.c
  185.     proc/procTable.c
  186.     proc/procMisc.c
  187.     proc/procMigrate.c
  188.     vm/symm.md/vmSymm.c
  189. PROC_DEBUGGED            # (attribute flag) keep.
  190.     Include/user/proc.h
  191.     proc/procDebug.c
  192.     proc/procExit.c
  193.     proc/procMisc.c
  194.     sig/signals.c
  195. PROC_DEBUG_ON_EXEC        # (attribute flag) apparently unused; delete?
  196.     Include/user/proc.h
  197.     mach/sun3.md/machCode.c
  198.     mach/ds5000.md/machCode.c
  199.     mach/ds3100.md/machCode.c
  200.     mach/symm.md/machTrap.c
  201. PROC_DEBUG_WAIT            # (attribute flag) keep.
  202.     Include/user/proc.h
  203.     proc/procDebug.c
  204.     proc/procExit.c
  205. PROC_DONT_MIGRATE        # (attribute flag) keep.
  206.     Include/user/proc.h
  207.     mach/ds5000.md/machUNIXSyscall.c
  208.     mach/ds3100.md/machUNIXSyscall.c
  209.     proc/procRemote.c
  210.     proc/procMigrate.c
  211.     sched/schedule.c
  212.     sig/signals.c
  213. PROC_DYING            # (attribute flag) keep.
  214.     Include/user/proc.h
  215.     proc/procDebug.c
  216.     proc/procExit.c
  217.     proc/procMigrate.c
  218. PROC_EVICTING            # (attribute flag, for stats) keep.
  219.     Include/user/proc.h
  220.     proc/procRemote.c
  221.     proc/procMigrate.c
  222. PROC_EXITING            # (process state) keep.
  223.     sig/signals.c
  224. PROC_FLT            # (symm hardware definition)
  225.     mach/symm.md/machSGSProc.h
  226.     mach/symm.md/machTrap.c
  227.     mach/symm.md/machArchdep.c
  228. PROC_FLT_ACC_ERR        # (symm hardware definition)
  229.     mach/symm.md/machSGSProc.h
  230.     mach/symm.md/machTrap.c
  231.     mach/symm.md/machArchdep.c
  232. PROC_FLT_BDP_HI_PE        # (symm hardware definition)
  233.     mach/symm.md/machSGSProc.h
  234. PROC_FLT_BDP_LO_PE        # (symm hardware definition)
  235.     mach/symm.md/machSGSProc.h
  236. PROC_FLT_CACHE_B0PE        # (symm hardware definition)
  237.     mach/symm.md/machSGSProc.h
  238. PROC_FLT_CACHE_B1PE        # (symm hardware definition)
  239.     mach/symm.md/machSGSProc.h
  240. PROC_FLT_CACHE_B2PE        # (symm hardware definition)
  241.     mach/symm.md/machSGSProc.h
  242. PROC_FLT_CACHE_B3PE        # (symm hardware definition)
  243.     mach/symm.md/machSGSProc.h
  244. PROC_FLT_MASK            # (symm hardware definition)
  245.     mach/symm.md/machSGSProc.h
  246. PROC_FLT_SLIC_NMI        # (symm hardware definition)
  247.     mach/symm.md/machSGSProc.h
  248.     mach/symm.md/machArchdep.c
  249. PROC_FOREIGN            # (attribute flag) keep.
  250.     Include/user/proc.h
  251.     mach/sun4.md/machCode.c
  252.     fs/fsNameOps.c
  253.     fs/fsStubs.c
  254.     fs/fsAttributes.c
  255.     fscache/fscacheOps.c
  256.     fscache/fscacheReadAhead.c
  257.     fsio/fsioDevice.c
  258.     fslcl/fslclLookup.c
  259.     fsrmt/fsrmtFile.c
  260.     fsrmt/fsrmtIO.c
  261.     lfs/lfsBlockIO.c
  262.     ofs/ofsAlloc.c
  263.     ofs/ofsIndex.c
  264.     ofs/ofsIo.c
  265.     ofs/ofsFileDesc.c
  266.     proc/procDebug.c
  267.     proc/procExit.c
  268.     proc/procID.c
  269.     proc/procExec.c
  270.     proc/procMisc.c
  271.     proc/procFork.c
  272.     proc/procRemote.c
  273.     proc/procStubs.c
  274.     proc/procMigrate.c
  275.     proc/procMigrate.h
  276.     sched/schedule.c
  277.     sig/signals.c
  278. PROC_GET_VALID_PCB        # (check validity of pid and get pcb ptr)
  279.                 # keep. don't bother checking for existence of
  280.                 # task/thread?
  281.     proc/proc.h
  282.     proc/procRpc.c
  283. PROC_HASHBUCKETS        # (number of hash buckets for the event queue)
  284.                 # delete.
  285.     sync/syncLock.c
  286. PROC_HIGH_PRIORITY        # (priority level, unused) map to some Mach
  287.                 # priority value, but note that scheduling
  288.                 # algorithm may be different
  289.     Include/user/proc.h
  290. PROC_INDEX_MASK            # (mask to get proc table index from pid)
  291.                 # keep.
  292.     Include/user/proc.h
  293.     proc/proc.h
  294.     proc/procMisc.c
  295.     proc/procRemote.c
  296. PROC_INVALID_PID        # keep.
  297.     sig/{signals,sigMigrate}.c
  298. PROC_KERNEL            # (process attribute flag) keep.
  299.     Include/user/proc.h
  300.     main/sun3.md/mainInit.c
  301.     main/sun4.md/mainInit.c
  302.     main/ds3100.md/mainInit.c
  303.     main/symm.md/mainInit.c
  304.     main/ds5000.md/mainInit.c
  305.     proc/procExec.c
  306.     proc/procTable.c
  307.     proc/procFork.c
  308.     rpc/rpcDaemon.c
  309.     sched/schedule.c
  310.     sig/sigMigrate.c
  311.     sig/signals.c
  312.     sys/sysCalls.c
  313.     vm/vmSeg.c
  314.     vm/sun3.md/vmSun.c
  315.     vm/symm.md/vmSymm.c
  316.     vm/sun4.md/vmSun.c
  317.     vm/vmSubr.c
  318.     vm/ds3100.md/vmPmax.c
  319.     vm/ds5000.md/vm3max.c
  320. PROC_KILLING            # (process attribute flag; hack for dbx) keep.
  321.     Include/user/proc.h
  322.     proc/procDebug.c
  323. PROC_LIBMAGIC            # (magic number for shared libraries) keep.
  324.     proc/ds3100.md/procMach.h
  325. PROC_LOCKED            # (attribute flag) keep.
  326.     Include/user/proc.h
  327.     proc/procTable.c
  328. PROC_LOW_PRIORITY        # (see PROC_HIGH_PRIORITY)
  329.     Include/user/proc.h
  330. PROC_MAX_ENVIRON_NAME_LENGTH    # (process mgmt) keep.
  331.     Include/user/proc.h
  332.     proc/procExec.c
  333.     proc/procEnviron.c
  334. PROC_MAX_ENVIRON_SIZE        # (process mgmt) keep.
  335.     Include/user/proc.h
  336.     proc/procExec.c
  337.     proc/procEnviron.c
  338. PROC_MAX_ENVIRON_VALUE_LENGTH    # (process mgmt) keep.
  339.     Include/user/proc.h
  340.     proc/procExec.c
  341.     proc/procEnviron.c
  342. PROC_MAX_INTERPRET_SIZE        # (process mgmt) keep.
  343.     Include/user/proc.h
  344.     proc/procExec.c
  345. PROC_MAX_PRIORITY        # (process mgmt) keep.
  346.     Include/user/proc.h
  347. PROC_MAX_TIMER            # keep.
  348.     Include/user/proc.h
  349.     proc/procTimer.c
  350.     proc/procMigrate.c
  351. PROC_MIGRATED            # (process state) keep.
  352.     fscache/fscacheOps.c
  353.     fscache/fscacheReadAhead.c
  354.     fsio/fsioDevice.c
  355.     fslcl/fslclLookup.c
  356.     fsrmt/fsrmtFile.c
  357.     fsrmt/fsrmtIO.c
  358.     lfs/lfsBlockIO.c
  359.     ofs/ofsAlloc.c
  360.     ofs/ofsIndex.c
  361.     ofs/ofsIo.c
  362.     ofs/ofsFileDesc.c
  363.     proc/procExit.c
  364.     proc/procID.c
  365.     proc/procMisc.c
  366.     proc/procRpc.c
  367.     proc/procStubs.c
  368.     proc/procMigrate.c
  369.     proc/procFamily.c
  370.     sig/sigMigrate.c
  371.     sig/signals.c
  372.     sync/syncLock.c
  373.     vm/vmSeg.c
  374. PROC_MIGRATE_VERSION        # keep.
  375.     proc/sun3.md/migVersion.h
  376.     proc/sun4.md/migVersion.h
  377.     proc/ds3100.md/migVersion.h
  378.     proc/sun4c.md/migVersion.h
  379.     proc/symm.md/migVersion.h
  380.     proc/procMigrate.c
  381. PROC_MIGRATING            # (attribute flag) keep.
  382.     Include/user/proc.h
  383.     fscache/fscacheOps.c
  384.     fscache/fscacheReadAhead.c
  385.     fslcl/fslclLookup.c
  386.     fsrmt/fsrmtFile.c
  387.     ofs/ofsAlloc.c
  388.     ofs/ofsIndex.c
  389.     ofs/ofsFileDesc.c
  390.     proc/procMigrate.c
  391.     sig/signals.c
  392.     sig/sigMigrate.c
  393.     sync/syncLock.c
  394. PROC_MIGRATION_DONE        # (attribute flag) keep.
  395.     Include/user/proc.h
  396.     proc/procRpc.c
  397.     proc/procRemote.c
  398.     proc/procMigrate.c
  399. PROC_MIGRATION_REFUSED        # (kernel return status) keep.
  400.     mach/sun3.md/machMigrate.c
  401.     mach/sun4.md/machMigrate.c
  402.     mach/symm.md/machMigrate.c
  403.     proc/procRemote.c
  404.     proc/procMigrate.c
  405.     prof/profMigrate.c
  406.     sig/sigMigrate.c
  407. PROC_MIG_ALLOW_DEFAULT        # (migration control) keep.
  408.     Include/user/proc.h
  409.     proc/procMigrate.c
  410. PROC_MIG_ERROR            # (attribute flag) keep.
  411.     Include/user/proc.h
  412.     proc/procRpc.c
  413.     proc/procMigrate.c
  414. PROC_MIG_EXPORT_ALL        # (migration control) keep.
  415.     Include/user/proc.h
  416.     proc/procMigrate.c
  417. PROC_MIG_EXPORT_NEVER        # (migration control) keep.
  418.     Include/user/proc.h
  419. PROC_MIG_EXPORT_ROOT        # (migration control) keep.
  420.     Include/user/proc.h
  421.     proc/procMigrate.c
  422. PROC_MIG_IMPORT_ALL        # (migration control) keep.
  423.     Include/user/proc.h
  424.     proc/procRemote.c
  425.     sys/sysCalls.c
  426. PROC_MIG_IMPORT_ALWAYS        # (migration control) keep.
  427.     Include/user/proc.h
  428. PROC_MIG_IMPORT_ANYINPUT    # (migration control) keep.
  429.     Include/user/proc.h
  430. PROC_MIG_IMPORT_ANYLOAD        # (migration control) keep.
  431.     Include/user/proc.h
  432. PROC_MIG_IMPORT_NEVER        # (migration control) keep.
  433.     proc/procRemote.c
  434.     Include/user/proc.h
  435. PROC_MIG_IMPORT_ROOT        # (migration control) keep.
  436.     proc/procRemote.c
  437.     Include/user/proc.h
  438. PROC_MIG_PENDING        # (attribute flag) keep.
  439.     Include/user/proc.h
  440.     proc/procExit.c
  441.     proc/procMigrate.c
  442.     sig/sigMigrate.c
  443. PROC_MIN_PRIORITY        # (process mgmt) keep.
  444.     Include/user/proc.h
  445. PROC_MY_HOSTID            # (reserved host ID) keep.
  446.     Include/user/proc.h
  447.     proc/procMisc.c
  448. PROC_MY_PID            # (reserved PID ("current process")) keep.
  449.     Include/user/proc.h
  450.     mach/ds5000.md/machUNIXSyscall.c
  451.     fs/fsStreamOps.c
  452.     proc/procMisc.c
  453.     proc/procRemote.c
  454.     proc/procStubs.c
  455.     proc/procMigrate.c
  456.     proc/procFamily.c
  457.     sig/sigStubs.c
  458.     sig/signals.c
  459.     sys/sysCalls.c
  460. PROC_NEW            # (process state) keep.
  461.     dbg/sun4.md/dbgMain.c
  462.     dbg/sun3.md/dbgMain.c
  463.     dbg/sun4c.md/dbgMain.c
  464.     sig/signals.c
  465. PROC_NORMAL_PRIORITY        # (process mgmt) keep.
  466.     Include/user/proc.h
  467.     proc/procTable.c
  468.     sched/schedule.c
  469. PROC_NO_FAMILY            # (process mgmt) keep.
  470.     Include/user/proc.h
  471.     proc/procTable.c
  472.     proc/procFamily.c
  473. PROC_NO_ID            # ("don't change this ID") keep.
  474.     Include/user/proc.h
  475.     mach/ds5000.md/machUNIXSyscall.c
  476.     mach/ds3100.md/machUNIXSyscall.c
  477.     proc/procID.c
  478.     proc/procStubs.c
  479. PROC_NO_INTR_PRIORITY        # (process mgmt) keep.
  480.     Include/user/proc.h
  481.     proc/procMisc.c
  482.     sched/schedule.c
  483.     sys/sysCalls.c
  484. PROC_NO_STACKS            # (status code) eventually delete.
  485.     mach/sun3.md/machCode.c
  486.     mach/cleansun3.md/machCode.c
  487.     mach/sun4.md/machCode.c
  488.     mach/sun4c.md/machCode.c
  489.     mach/cleands3100.md/machCode.c
  490.     mach/ds5000.md/machCode.c
  491.     mach/ds3100.md/machCode.c
  492.     mach/sun4nw.md/machCode.c
  493.     mach/symm.md/machCode.c
  494.     mach/cleansun4.md/machCode.c
  495.     mach/cleansun4c.md/machCode.c
  496. PROC_NO_VM            # (attribute flag) keep.
  497.     Include/user/proc.h
  498.     proc/procExit.c
  499.     proc/procExec.c
  500.     proc/procRpc.c
  501.     proc/procRemote.c
  502.     proc/procMigrate.c
  503.     vm/sun3.md/vmSun.c
  504.     vm/sun4.md/vmSun.c
  505.     vm/vmMigrate.c
  506.     vm/vmSubr.c
  507.     vm/ds3100.md/vmPmax.c
  508.     vm/ds5000.md/vm3max.c
  509. PROC_NUM_GENERAL_REGS        # (process mgmt, unused) eventually delete.
  510.     Include/user/proc.h
  511. PROC_OBJ_MAGIC            # (same as OMAGIC) keep.
  512.     proc/ds3100.md/procMach.c
  513.     proc/ds3100.md/procMach.h
  514.     proc/symm.md/procMach.h
  515. PROC_ON_DEBUG_LIST        # (attribute flag) keep.
  516.     Include/user/proc.h
  517.     proc/procDebug.c
  518.     proc/procMisc.c
  519. PROC_PCB_ARG_LENGTH        # (buffer size for argument list) keep.
  520.     Include/user/proc.h
  521.     proc/procMisc.c
  522. PROC_READY            # (process state) keep.
  523.     fs/fsCommand.c
  524.     sched/schedule.c
  525.     sync/syncLock.c
  526.     sys/sysCalls.c
  527. PROC_REMOTE_EXEC_PENDING    # (attribute flag) keep.
  528.     Include/user/proc.h
  529.     proc/procExec.c
  530.     proc/procRemote.c
  531.     proc/procMigrate.c
  532. PROC_RUNNING            # (process state) eventually delete (requires
  533.                 # source changes to user code).
  534.     sched/schedule.c
  535.     sync/syncLock.c
  536. PROC_SEG_ALIGN            # (4 meg alignment restriction for symm) keep.
  537.     proc/symm.md/procMach.h
  538.     proc/symm.md/procMach.c
  539. PROC_SINGLE_STEP_FLAG        # (attribute flag) keep.
  540.     Include/user/proc.h
  541.     mach/sun3.md/machCode.c
  542.     mach/ds5000.md/machCode.c
  543.     mach/ds3100.md/machCode.c
  544.     mach/symm.md/machTrap.c
  545.     proc/procDebug.c
  546. PROC_SREV_B1            # (symm hardware definition)
  547.     mach/symm.md/machSGSProc.h
  548. PROC_SREV_C0            # (symm hardware definition)
  549.     mach/symm.md/machSGSProc.h
  550. PROC_STAT            # (symm hardware definition)
  551.     mach/symm.md/machSGSProc.h
  552.     mach/symm.md/machArchdep.c
  553. PROC_STAT_FATALERR        # (symm hardware definition)
  554.     mach/symm.md/machSGSProc.h
  555. PROC_STAT_LED_OFF        # (symm hardware definition)
  556.     mach/symm.md/machSGSProc.h
  557. PROC_STAT_MASK            # (symm hardware definition)
  558.     mach/symm.md/machSGSProc.h
  559. PROC_STAT_NO_HALT        # (symm hardware definition)
  560.     mach/symm.md/machSGSProc.h
  561. PROC_STAT_NO_HOLDA        # (symm hardware definition)
  562.     mach/symm.md/machSGSProc.h
  563.     mach/symm.md/machArchdep.c
  564. PROC_STAT_NO_NMI        # (symm hardware definition)
  565.     mach/symm.md/machSGSProc.h
  566. PROC_STAT_NO_RESET        # (symm hardware definition)
  567.     mach/symm.md/machSGSProc.h
  568. PROC_STAT_NO_SSTEP        # (symm hardware definition)
  569.     mach/symm.md/machSGSProc.h
  570. PROC_STAT_RUNNING        # (symm hardware definition)
  571.     mach/symm.md/machSGSProc.h
  572. PROC_SUPER_USER_ID        # (uid for root) keep.
  573.     Include/user/proc.h
  574.     proc/procID.c
  575.     proc/procMisc.c
  576.     proc/procRemote.c
  577.     proc/procStubs.c
  578.     proc/procMigrate.c
  579.     proc/procFamily.c
  580.     vm/vmSwapDir.c
  581. PROC_SUSPENDED            # (process state) keep.
  582.     sig/signals.c
  583. PROC_SUSPEND_STATUS        # (exit/wait flag) keep.
  584.     sig/signals.c
  585. PROC_TERM_DESTROYED        # (status for Proc_Wait) keep.
  586.     Include/user/proc.h
  587.     mach/sun3.md/machCode.c
  588.     mach/sun4.md/machTrap.s
  589.     mach/sun4.md/machCode.c
  590.     mach/sun4.md/machAsm.s
  591.     mach/ds5000.md/machCode.c
  592.     mach/ds3100.md/machCode.c
  593.     mach/symm.md/machTrap.c
  594.     proc/procExit.c
  595.     proc/procExec.c
  596.     proc/procRemote.c
  597.     proc/procMigrate.c
  598.     sig/signals.c
  599. PROC_TERM_DETACHED        # (status for Proc_Wait) keep.
  600.     Include/user/proc.h
  601.     proc/procExit.c
  602. PROC_TERM_EXITED        # (status for Proc_Wait) keep.
  603.     Include/user/proc.h
  604.     proc/procExit.c
  605. PROC_TERM_RESUMED        # (status for Proc_Wait) keep.
  606.     Include/user/proc.h
  607.     mach/ds5000.md/machUNIXSyscall.c
  608.     mach/ds3100.md/machUNIXSyscall.c
  609.     proc/procDebug.c
  610.     proc/procExit.c
  611.     proc/procStubs.c
  612. PROC_TERM_SIGNALED        # (status for Proc_Wait) keep.
  613.     Include/user/proc.h
  614.     mach/ds5000.md/machUNIXSyscall.c
  615.     mach/ds3100.md/machUNIXSyscall.c
  616.     proc/procStubs.c
  617.     sig/signals.c
  618. PROC_TERM_SUSPENDED        # (status for Proc_Wait)
  619.     Include/user/proc.h
  620.     mach/ds5000.md/machUNIXSyscall.c
  621.     mach/ds3100.md/machUNIXSyscall.c
  622.     proc/procExit.c
  623.     proc/procStubs.c
  624. PROC_TERM_VANISHED        # (new status for Proc_Wait) in case we see
  625.                 # that the task is unexpectedly gone.
  626. PROC_TIMER_REAL            # (timer number) keep.
  627.     Include/user/proc.h
  628. PROC_UID_MISMATCH        # (error code; EPERM) keep.
  629.     sig/signals.c
  630. PROC_UNUSED            # (process state) keep.
  631.     dbg/sun4.md/dbgMain.c
  632.     dbg/sun3.md/dbgMain.c
  633.     dbg/sun4c.md/dbgMain.c
  634.     sched/schedule.c
  635. PROC_USER            # (attribute flag) keep.
  636.     Include/user/proc.h
  637.     mach/sun3.md/machCode.c
  638.     mach/sun4.md/machCode.c
  639.     mach/symm.md/machCode.c
  640.     proc/procExit.c
  641.     proc/procExec.c
  642.     proc/procMisc.c
  643.     proc/procFork.c
  644.     proc/procRpc.c
  645.     proc/procStubs.c
  646.     sched/schedule.c
  647.     sys/sysCalls.c
  648.     vm/vmSubr.c
  649. PROC_VERY_LOW_PRIORITY        # (see PROC_HIGH_PRIORITY)
  650.     Include/user/proc.h
  651.     proc/procMisc.c
  652. PROC_VM_READ_ERROR        # (reason code for PROC_TERM_DESTROYED) keep.
  653.     Include/user/proc.h
  654.     vm/vmPage.c
  655. PROC_VM_WRITE_ERROR        # (see PROC_VM_READ_ERROR)
  656.     Include/user/proc.h
  657. PROC_WAITING            # (process state) keep.
  658.     sched/schedule.c
  659.     sync/syncLock.c
  660. PROC_WAIT_BLOCK            # (flag to Proc_Wait) keep.
  661.     Include/user/proc.h
  662.     mach/ds5000.md/machUNIXSyscall.c
  663.     mach/ds3100.md/machUNIXSyscall.c
  664.     proc/procExit.c
  665.     proc/procStubs.c
  666. PROC_WAIT_FOR_SUSPEND        # (flag to Proc_Wait) keep.
  667.     Include/user/proc.h
  668.     mach/ds5000.md/machUNIXSyscall.c
  669.     mach/ds3100.md/machUNIXSyscall.c
  670.     proc/procExit.c
  671.     proc/procStubs.c
  672. ProcChangeTimer            # (set or cancel interval timer for a process)
  673.                 # keep.
  674.     proc/procInt.h
  675.     proc/procTimer.c
  676.     proc/procMigrate.c
  677. ProcExecHeader            # (a.out header) keep.
  678.     proc/sun3.md/procMach.h
  679.     proc/sun3.md/procMach.c
  680.     proc/sun3.md/a.out.h
  681.     proc/procInt.h
  682.     proc/procExec.c
  683.     proc/sun4.md/a.out.h
  684.     proc/sun4.md/procMach.c
  685.     proc/sun4.md/procMach.h
  686.     proc/ds3100.md/procMach.c
  687.     proc/ds3100.md/procMach.h
  688.     proc/sun4c.md/procMach.c
  689.     proc/sun4c.md/procMach.h
  690.     proc/symm.md/procMach.h
  691.     proc/symm.md/procMach.c
  692. ProcExitProcess            # call new routine to set process state
  693. ProcFreePCB            # call new routine to set process state
  694. ProcGetObjInfo            # mostly keep, but needs cleaning up to get
  695.                 # rid of ifdefs and goto's.
  696.     proc/sun3.md/procMach.c
  697.     proc/procInt.h
  698.     proc/procExec.c
  699.     proc/sun4.md/procMach.c
  700.     proc/ds3100.md/procMach.c
  701.     proc/sun4c.md/procMach.c
  702.     proc/symm.md/procMach.c
  703. ProcGetUnusedPCB        # call new routine to set state.
  704. ProcMakeTaskThread        # (new) given a procPtr (locked?), create a
  705.                 # task and thread for it.  
  706. ProcMigAcceptMigration        # don't set process state.  Call
  707.                 # ProcMakeTaskThread.
  708. ProcMigContinueProcess        # keep.
  709. ProcMigReceiveProcess        # (receives encapsulated state of a process)
  710.                 # Set machine state & set up VM mappings (via
  711.                 # deencapsulation).
  712.                 # Initially, make sure isn't called.
  713. ProcObjInfo            # (machine-independent a.out info) keep.
  714.     proc/sun3.md/procMach.c
  715.     proc/procInt.h
  716.     proc/procExec.c
  717.     proc/sun4.md/procMach.c
  718.     proc/ds3100.md/procMach.c
  719.     proc/sun4c.md/procMach.c
  720.     proc/symm.md/procMach.c
  721. ProcRemoteSuspend        # would like to rename (ProcRemoteInform?)
  722.     proc/procDebug.c
  723.     proc/procInt.h
  724.     proc/procMigrate.c
  725. Proc_ByteCopy            # (copy routine that knows about migration &
  726.                 # how some system calls are RPCs to the home
  727.                 # host) initially panic if is migrated. 
  728.     fs/fsSysCall.c
  729.     sys/sysCalls.c
  730. Proc_CallFuncAbsTime        # keep.
  731.     proc/proc.h
  732.     proc/procTimer.c
  733.     proc/procServer.c
  734. Proc_CallFunc            # (cheap fork(), for short tasks) keep.
  735.     dev/devNet.c
  736.     dev/devTty.c
  737.     dev/sun3.md/devMouse.c
  738.     dev/sun3.md/devJaguarHBA.c
  739.     dev/sun4.md/devJaguarHBA.c
  740.     dev/sun4.md/devMouse.c
  741.     fscache/fscacheBlocks.c
  742.     fscache/fscacheReadAhead.c
  743.     fsconsist/fsconsistCache.c
  744.     fsio/fsioDevice.c
  745.     fsrmt/fsrmtFile.c
  746.     fsutil/fsutilHandleScavenge.c
  747.     fsutil/fsutilSync.c
  748.     lfs/lfsSeg.c
  749.     lfs/lfsMain.c
  750.     lfs/lfsCacheBackend.c
  751.     main/sun3.md/mainInit.c
  752.     main/sun4.md/mainInit.c
  753.     main/ds3100.md/mainInit.c
  754.     main/symm.md/mainInit.c
  755.     main/ds5000.md/mainInit.c
  756.     net/sun3.md/netUltra.c
  757.     net/sun4.md/netUltra.c
  758.     net/netArp.c
  759.     ofs/ofsIo.c
  760.     proc/procExit.c
  761.     proc/proc.h
  762.     proc/procRecovery.c
  763.     proc/procServer.c
  764.     proc/procMigrate.c
  765.     recov/recovery.c
  766.     rpc/rpcServer.c
  767.     sig/sigMigrate.c
  768.     sig/signals.c
  769.     vm/vmPage.c
  770.     vm/vmTrace.c
  771.     vm/vmSwapDir.c
  772.     vm/vmPrefetch.c
  773. Proc_CallInfo            # keep.
  774.     dev/devTty.c
  775.     dev/sun3.md/devMouse.c
  776.     dev/sun3.md/devJaguarHBA.c
  777.     dev/sun4.md/devJaguarHBA.c
  778.     dev/sun4.md/devMouse.c
  779.     fscache/fscache.h
  780.     fscache/fscacheReadAhead.c
  781.     fsconsist/fsconsistCache.c
  782.     fsio/fsioDevice.c
  783.     fsrmt/fsrmtFile.c
  784.     fsutil/fsutil.h
  785.     fsutil/fsutilHandleScavenge.c
  786.     fsutil/fsutilRecovery.c
  787.     fsutil/fsutilSync.c
  788.     lfs/lfsSeg.c
  789.     lfs/lfsMain.c
  790.     lfs/lfsInt.h
  791.     lfs/lfsCacheBackend.c
  792.     net/sun3.md/netUltra.c
  793.     net/sun4.md/netUltra.c
  794.     net/netArp.c
  795.     net/netRoute.h
  796.     ofs/ofs.h
  797.     ofs/ofsAlloc.c
  798.     ofs/ofsIo.c
  799.     proc/procExit.c
  800.     proc/procInt.h
  801.     proc/proc.h
  802.     proc/procTimer.c
  803.     proc/procTypes.h
  804.     proc/procRemote.c
  805.     proc/procServer.c
  806.     proc/procMigrate.c
  807.     proc/procServer.h
  808.     recov/recovery.c
  809.     recov/recov.h
  810.     rpc/rpcServer.c
  811.     sig/sigMigrate.c
  812.     vm/vm.h
  813.     vm/vmPage.c
  814.     vm/vmTrace.h
  815.     vm/vmTrace.c
  816.     vm/vmSwapDir.h
  817.     vm/vmSwapDir.c
  818.     vm/vmPrefetch.c
  819.     vm/vmSysCall.c
  820. Proc_CancelCallFunc        # keep.
  821.     proc/proc.h
  822.     proc/procTimer.c
  823.     proc/procServer.c
  824. Proc_ComparePIDs        # keep.
  825.     sig/signals.c
  826. Proc_ControlBlock        # replace "event" with a condition ptr (so can
  827.                 # tell what the process is waiting on).  Add a
  828.                 # condition variable and a mutex for the
  829.                 # condition variable to keep C Threads happy)
  830.                 # (to replace waiting on the pcb ptr)
  831.                 # (Actually, is this really necessary?  Maybe
  832.                 # just add the resumeCondition for
  833.                 # suspending/resuming the process.)
  834.                 # The CPU usage stuff is (at best) maintained
  835.                 # by the kernel.  Add a task_t and thread_t
  836.                 # for the task/thread executing that process.
  837.                 # Add pointer to per-task info.  Add
  838.                 # "lastSysCall" from Mach_UserState.
  839.                 # New flags: PROC_BEING_SERVED to avoid
  840.                 # potentially conflicting actions being done
  841.                 # by the same process.  (If want to allow
  842.                 # concurrent actions by same process,
  843.                 # substitute a reference count, so that we
  844.                 # don't have to worry about dangling context
  845.                 # pointers in the service threads.)
  846.     mach/sun3.md/machCode.c
  847.     mach/sun3.md/machInt.h
  848.     mach/sun3.md/mach.h
  849.     mach/sun3.md/machMigrate.c
  850.     mach/sun4.md/mach.h
  851.     mach/sun4.md/machCode.c
  852.     mach/sun4.md/sun4/reg.h
  853.     mach/sun4.md/machMigrate.c
  854.     mach/ds5000.md/mach.h
  855.     mach/ds5000.md/machCode.c
  856.     mach/ds5000.md/machInt.h
  857.     mach/ds5000.md/machMigrate.c
  858.     mach/ds5000.md/machUNIXSyscall.c
  859.     mach/ds3100.md/mach.h
  860.     mach/ds3100.md/machInt.h
  861.     mach/ds3100.md/machMigrate.c
  862.     mach/ds3100.md/machCode.c
  863.     mach/ds3100.md/machUNIXSyscall.c
  864.     mach/symm.md/machCode.c
  865.     mach/symm.md/machMigrate.c
  866.     mach/symm.md/machTrap.c
  867.     mach/symm.md/machSyscallTrace.c
  868.     mach/symm.md/machGenAsmSymbols.c
  869.     mach/symm.md/machArchdep.c
  870.     dbg/sun4.md/dbgMain.c
  871.     dbg/sun4.md/vmInt.h
  872.     dbg/sun3.md/vmInt.h
  873.     dbg/sun3.md/dbgMain.c
  874.     dbg/ds3100.md/dbgMain.c
  875.     dbg/ds5000.md/dbgMain.c
  876.     dev/ds5000.md/devStdFB.c
  877.     dev/ds5000.md/devGraphics.c
  878.     fs/fs.h
  879.     fs/fsInit.c
  880.     fs/fsNameOps.c
  881.     fs/fsNameOps.h
  882.     fs/fsSelect.c
  883.     fs/fsSysCall.c
  884.     fs/fsTopMigrate.c
  885.     fs/fsStubs.c
  886.     fs/fsTopStream.c
  887.     fs/fsStreamOps.c
  888.     fscache/fscacheOps.c
  889.     fscache/fscacheReadAhead.c
  890.     fsio/fsioDevice.c
  891.     fslcl/fslclLookup.c
  892.     fspdev/fspdevSrv.c
  893.     fspdev/fspdevSetup.c
  894.     fsprefix/fsprefixOps.c
  895.     fsrmt/fsrmtFile.c
  896.     fsrmt/fsrmtIO.c
  897.     fsutil/fsutilHandle.c
  898.     lfs/lfsBlockIO.c
  899.     main/symm.md/mainInit.c
  900.     ofs/ofsAlloc.c
  901.     ofs/ofsIndex.c
  902.     ofs/ofsIo.c
  903.     ofs/ofsFileDesc.c
  904.     proc/procDebug.c
  905.     proc/procExit.c
  906.     proc/procID.c
  907.     proc/procInt.h
  908.     proc/procExec.c
  909.     proc/proc.h
  910.     proc/procTable.c
  911.     proc/procTimer.c
  912.     proc/procMisc.c
  913.     proc/procFork.c
  914.     proc/procRpc.c
  915.     proc/procTypes.h
  916.     proc/procRemote.c
  917.     proc/procStubs.c
  918.     proc/procEnviron.c
  919.     proc/procMigrate.c
  920.     proc/procMigrate.h
  921.     proc/procFamily.c
  922.     prof/prof.h
  923.     prof/profMigrate.c
  924.     prof/profProfil.c
  925.     sched/sched.h
  926.     sched/schedQueue.c
  927.     sched/schedule.c
  928.     sig/sigInt.h
  929.     sig/sig.h
  930.     sig/sigMigrate.c
  931.     sig/sigStubs.c
  932.     sig/signals.c
  933.     sync/syncSleep.c
  934.     sync/syncLock.c
  935.     sync/sync.h
  936.     sync/syncUser.c
  937.     sync/syncLockStat.c
  938.     sync/syncSysV.c
  939.     sys/sysCalls.c
  940.     sys/sysStubs.c
  941.     sys/sysSysCall.c
  942.     vm/vmSeg.c
  943.     vm/vmInt.h
  944.     vm/vm.h
  945.     vm/vmPage.c
  946.     vm/sun3.md/vmSun.c
  947.     vm/sun3.md/vmMach.h
  948.     vm/symm.md/vmSymm.c
  949.     vm/vmMap.c
  950.     vm/sun4.md/vmSun.c
  951.     vm/sun4.md/vmMach.h
  952.     vm/vmMigrate.c
  953.     vm/vmSubr.c
  954.     vm/vmSwapDir.c
  955.     vm/ds3100.md/vmPmax.c
  956.     vm/vmSysCall.c
  957.     vm/vmStubs.c
  958.     vm/ds5000.md/vm3max.c
  959. Proc_CopyEnvironStub        # (make a copy of the environment, presumably
  960.                 # so that it can be edited) keep.
  961.     Include/user/proc.h
  962.     proc/proc.h
  963.     proc/procEnviron.c
  964. Proc_Debug            # (handle debugging commands) keep.  Do a
  965.                 # thread_abort() before changing thread state.
  966.     Include/user/proc.h
  967.     mach/symm.md/machSyscallTrace.c
  968.     proc/procDebug.c
  969.     proc/proc.h
  970.     sys/sysSysCall.c
  971. Proc_DebugReq            # (enum of debug commands) keep.
  972.     Include/user/proc.h
  973.     proc/procDebug.c
  974.     proc/proc.h
  975. Proc_DebugState            # (process mgmt) keep.
  976.     Include/user/proc.h
  977.     mach/sun3.md/machCode.c
  978.     mach/sun3.md/mach.h
  979.     mach/sun4.md/mach.h
  980.     mach/sun4.md/machCode.c
  981.     mach/sun4.md/sun4/reg.h
  982.     mach/sun4c.md/mach.h
  983.     mach/sun4c.md/machCode.c
  984.     mach/ds5000.md/mach.h
  985.     mach/ds5000.md/machCode.c
  986.     mach/ds3100.md/mach.h
  987.     mach/ds3100.md/machCode.c
  988.     mach/symm.md/machCode.c
  989.     proc/procDebug.c
  990. Proc_DestroyMigratedProc    # Initially panic or printf.  Call new routine
  991.                 # to set process state; don't take any
  992.                 # shortcuts if state is NEW (may need some
  993.                 # testing to verify that the exit code can
  994.                 # deal with partially created processes).
  995.     sig/{signals,sigMigrate}.c
  996. Proc_Detach            # (system call) keep.
  997.     Include/user/proc.h
  998.     mach/symm.md/machSyscallTrace.c
  999.     proc/procExit.c
  1000.     proc/proc.h
  1001.     proc/procRpc.c
  1002.     sched/schedule.c
  1003.     sys/sysSysCall.c
  1004. Proc_DoForEveryProc        # keep.
  1005. Proc_DoRemoteCall        # (do system call for migrated process) keep.
  1006.     sys/sysSysCall.c
  1007. Proc_Dump            # keep initially; maybe delete eventually
  1008.                 # (depending on how useful it turns out to be
  1009.                 # for debugging).  Make use of names (locks,
  1010.                 # condition variables, threads).
  1011.     dbg/ds3100.md/dbgMain.c
  1012.     utils/dump.c
  1013. Proc_DumpPCB            # keep initially; maybe delete eventually
  1014.     sched/schedule.c
  1015. Proc_EncapInfo            # (used by each module that xfers information
  1016.                 # for migration) keep.
  1017.     mach/sun3.md/mach.h
  1018.     mach/sun3.md/machMigrate.c
  1019.     mach/sun4.md/mach.h
  1020.     mach/sun4.md/sun4/reg.h
  1021.     mach/sun4.md/machMigrate.c
  1022.     mach/ds5000.md/mach.h
  1023.     mach/ds5000.md/machMigrate.c
  1024.     mach/ds3100.md/mach.h
  1025.     mach/ds3100.md/machMigrate.c
  1026.     mach/symm.md/machMigrate.c
  1027.     fs/fs.h
  1028.     fs/fsTopMigrate.c
  1029.     proc/procInt.h
  1030.     proc/procExec.c
  1031.     proc/procTypes.h
  1032.     proc/procMigrate.c
  1033.     prof/prof.h
  1034.     prof/profMigrate.c
  1035.     sig/sig.h
  1036.     sig/sigMigrate.c
  1037.     vm/vm.h
  1038.     vm/vmMigrate.c
  1039. Proc_EnvironVar            # (name/value pair) keep.
  1040.     Include/user/proc.h
  1041.     proc/proc.h
  1042.     proc/procEnviron.c
  1043. Proc_EvictForeignProcs        # keep.
  1044.     sys/sysCalls.c
  1045. Proc_Exec            # (system call) keep.  Ensure that when you
  1046.                 # map in the code, etc. segments, you get the
  1047.                 # addresses you asked for.  Otherwise make the
  1048.                 # exec fail.  Disable migration for now.
  1049.                 # To clean out the old address space, find the
  1050.                 # region for each memory object we know is
  1051.                 # mapped into the address space and deallocate
  1052.                 # it, decrementing reference counts as you go.
  1053.                 # Then use vm_region to find other mapped
  1054.                 # regions to deallocate.
  1055.     Include/user/proc.h
  1056.     mach/ds5000.md/machUNIXSyscall.c
  1057.     mach/ds3100.md/machUNIXSyscall.c
  1058.     mach/symm.md/machSyscallTrace.c
  1059.     proc/procExec.c
  1060.     proc/proc.h
  1061.     proc/procStubs.c
  1062.     sys/sysSysCall.c
  1063. Proc_ExecEnv            # (system call) keep
  1064.     Include/user/proc.h
  1065.     mach/ds5000.md/machUNIXSyscall.c
  1066.     mach/ds3100.md/machUNIXSyscall.c
  1067.     mach/symm.md/machSyscallTrace.c
  1068.     proc/procExec.c
  1069.     proc/proc.h
  1070.     proc/procStubs.c
  1071.     sys/sysSysCall.c
  1072. Proc_Exit            # ProcExitProcess (?) should kill the task.
  1073.                 # don't bother freeing segments.
  1074.     mach/sun3.md/bootSysAsm.s
  1075.     mach/ds5000.md/loMem.s
  1076.     mach/ds3100.md/loMem.s
  1077.     mach/ds3100.md/machUNIXSyscall.c
  1078.     mach/symm.md/machSyscallTrace.c
  1079.     main/sun3.md/mainInit.c
  1080.     main/sun4.md/mainInit.c
  1081.     main/ds3100.md/mainInit.c
  1082.     main/symm.md/mainInit.c
  1083.     main/ds5000.md/mainInit.c
  1084.     proc/procExit.c
  1085.     proc/proc.h
  1086.     proc/procServer.c
  1087.     proc/procStubs.c
  1088.     recov/recovery.c
  1089.     recov/recovProc.c
  1090.     rpc/rpcDaemon.c
  1091.     rpc/rpcServer.c
  1092.     sched/schedule.c
  1093.     sys/sysSysCall.c
  1094.     sys/sysUnixSyscall.c
  1095. Proc_ExitInt            # Coordinate with Proc_Exit on where to kill
  1096.                 # the task.
  1097.     mach/sun3.md/machCode.c
  1098.     mach/sun4.md/machTrap.s
  1099.     mach/sun4.md/machCode.c
  1100.     mach/sun4.md/machAsm.s
  1101.     mach/ds5000.md/machCode.c
  1102.     mach/ds3100.md/machCode.c
  1103.     mach/symm.md/machTrap.c
  1104.     sig/signals.c
  1105. Proc_Fork            # (Fork system call) keep.  If sharing heap,
  1106.                 # just create a new thread in the same task
  1107.                 # (need to be careful about stack management).
  1108.     Include/user/proc.h
  1109.     mach/ds3100.md/machUNIXSyscall.c
  1110.     mach/symm.md/machSyscallTrace.c
  1111.     proc/proc.h
  1112.     proc/procFork.c
  1113.     sys/sysSysCall.c
  1114. Proc_GetActualProc        # (returns the process running on the active
  1115.                 # cpu)
  1116.                 # get pcb from thread context.
  1117.     mach/sun3.md/machCode.c
  1118.     mach/sun3.md/mach.h
  1119.     mach/sun4.md/mach.h
  1120.     mach/sun4.md/machCode.c
  1121.     mach/sun4.md/sun4/reg.h
  1122.     mach/ds5000.md/machCode.c
  1123.     mach/ds3100.md/mach.h
  1124.     mach/ds3100.md/machCode.c
  1125.     mach/symm.md/machCode.c
  1126.     mach/symm.md/machTrap.c
  1127.     mach/symm.md/machSyscallTrace.c
  1128.     mach/symm.md/machArchdep.c
  1129.     fs/fsStubs.c
  1130.     proc/procExit.c
  1131.     proc/procExec.c
  1132.     proc/proc.h
  1133.     proc/procMisc.c
  1134.     proc/procFork.c
  1135.     proc/procRemote.c
  1136.     proc/procMigrate.c
  1137.     sig/sigMigrate.c
  1138.     sig/sigStubs.c
  1139.     sig/signals.c
  1140.     vm/symm.md/vmSymm.c
  1141. Proc_GetCurrentLock        # (lock instrumentation) keep.
  1142.     sync/syncLockStat.c
  1143. Proc_GetCurrentProc        # (same as Proc_GetActualProc) Use a field in
  1144.                 # the thread-private data to indicate the
  1145.                 # current proc.
  1146.     mach/sun3.md/machMigrate.c
  1147.     mach/sun4.md/machCode.c
  1148.     mach/sun4.md/machMigrate.c
  1149.     mach/ds5000.md/machMigrate.c
  1150.     mach/ds3100.md/machMigrate.c
  1151.     mach/ds3100.md/machUNIXSyscall.c
  1152.     mach/symm.md/machMigrate.c
  1153.     dev/ds5000.md/devStdFB.c
  1154.     fs/fsInit.c
  1155.     fs/fsSelect.c
  1156.     fslcl/sospRecord.h
  1157.     fspdev/fspdevPfs.c
  1158.     fspdev/fspdevControl.c
  1159.     main/symm.md/mainInit.c
  1160.     proc/procExit.c
  1161.     proc/procExec.c
  1162.     proc/proc.h
  1163.     proc/procMisc.c
  1164.     proc/procRemote.c
  1165.     proc/procStubs.c
  1166.     prof/profProfil.c
  1167.     sched/schedQueue.c
  1168.     sched/schedule.c
  1169.     sig/signals.c
  1170.     sync/syncSleep.c
  1171.     sync/syncLock.c
  1172.     sync/sync.h
  1173.     sync/syncUser.c
  1174.     sys/sysCalls.c
  1175.     timer/sun3.md/timerIntersil.c
  1176.     timer/ds3100.md/timerMC.c
  1177.     timer/ds5000.md/timerMC.c
  1178.     utils/sospRecord.h
  1179.     vm/vmPage.c
  1180.     vm/sun3.md/vmSun.c
  1181.     vm/symm.md/vmSymm.c
  1182.     vm/vmMap.c
  1183.     vm/sun4.md/vmSun.c
  1184.     vm/vmSubr.c
  1185.     vm/ds3100.md/vmPmax.c
  1186.     vm/vmSysCall.c
  1187.     vm/vmStubs.c
  1188.     vm/ds5000.md/vm3max.c
  1189. Proc_GetEffectiveProc        # (support for forwarded system calls) keep.
  1190.     mach/ds5000.md/machUNIXSyscall.c
  1191.     mach/ds3100.md/machUNIXSyscall.c
  1192.     fs/fs.h
  1193.     fs/fsNameOps.c
  1194.     fs/fsSysCall.c
  1195.     fs/fsStubs.c
  1196.     fs/fsTopStream.c
  1197.     fs/fsAttributes.c
  1198.     fs/fsStreamOps.c
  1199.     fspdev/fspdevSrv.c
  1200.     fspdev/fspdevSetup.c
  1201.     fsprefix/fsprefixOps.c
  1202.     fsutil/fsutilHandle.c
  1203.     proc/procExit.c
  1204.     proc/procID.c
  1205.     proc/proc.h
  1206.     proc/procTimer.c
  1207.     proc/procMisc.c
  1208.     proc/procStubs.c
  1209.     proc/procEnviron.c
  1210.     proc/procMigrate.c
  1211.     proc/procFamily.c
  1212.     sig/signals.c
  1213.     sync/syncSysV.c
  1214.     sys/sysCalls.c
  1215.     sys/sysStubs.c
  1216.     vm/vmSubr.c
  1217.     vm/vmSwapDir.c
  1218. Proc_GetEnvironRangeStub    # (environment list stuff) keep.
  1219.     Include/user/proc.h
  1220.     proc/proc.h
  1221.     proc/procEnviron.c
  1222. Proc_GetEnvironVarStub        # (environment list stuff) keep.
  1223.     Include/user/proc.h
  1224.     proc/proc.h
  1225.     proc/procEnviron.c
  1226. Proc_GetFamilyID        # (process mgmt system call) keep.
  1227.     Include/user/proc.h
  1228.     mach/ds5000.md/machUNIXSyscall.c
  1229.     mach/ds3100.md/machUNIXSyscall.c
  1230.     mach/symm.md/machSyscallTrace.c
  1231.     proc/proc.h
  1232.     proc/procRpc.c
  1233.     proc/procFamily.c
  1234.     sys/sysSysCall.c
  1235. Proc_GetGroupIDs        # (process mgmt system call) keep.
  1236.     Include/user/proc.h
  1237.     mach/ds5000.md/machUNIXSyscall.c
  1238.     mach/ds3100.md/machUNIXSyscall.c
  1239.     mach/symm.md/machSyscallTrace.c
  1240.     proc/procID.c
  1241.     proc/proc.h
  1242.     sys/sysSysCall.c
  1243. Proc_GetHostID            # (map pid to host number) keep
  1244.     fsio/fsioFile.c
  1245.     sig/signals.c
  1246. Proc_GetHostIDs            # (get current & home host IDs) keep.
  1247.     mach/symm.md/machSyscallTrace.c
  1248.     proc/proc.h
  1249.     proc/procMisc.c
  1250.     sys/sysSysCall.c
  1251. Proc_GetIDs            # (system call; return user ID, etc.) keep.
  1252.     Include/user/proc.h
  1253.     mach/ds5000.md/machUNIXSyscall.c
  1254.     mach/ds3100.md/machUNIXSyscall.c
  1255.     mach/symm.md/machSyscallTrace.c
  1256.     proc/procID.c
  1257.     proc/proc.h
  1258.     proc/procStubs.c
  1259.     sys/sysSysCall.c
  1260. Proc_GetIntervalTimer        # (system call; get amt. of time left for
  1261.                 # timer) keep.
  1262.     Include/user/proc.h
  1263.     mach/ds3100.md/machUNIXSyscall.c
  1264.     mach/symm.md/machSyscallTrace.c
  1265.     proc/proc.h
  1266.     proc/procTimer.c
  1267.     proc/procStubs.c
  1268.     sys/sysSysCall.c
  1269. Proc_GetPCB            # (get pcb, given pid) keep
  1270.     dbg/sun4.md/dbgMain.c
  1271.     dbg/sun3.md/dbgMain.c
  1272.     dbg/ds3100.md/dbgMain.c
  1273.     sched/schedule.c
  1274.     sync/syncLock.c
  1275. Proc_GetPCBInfo            # (system call; return some number of PCBs)
  1276.                 # keep
  1277.     Include/user/proc.h
  1278.     mach/symm.md/machSyscallTrace.c
  1279.     proc/proc.h
  1280.     proc/procMisc.c
  1281.     sys/sysSysCall.c
  1282. Proc_GetPriority        # (system call) keep
  1283.     Include/user/proc.h
  1284.     mach/symm.md/machSyscallTrace.c
  1285.     proc/proc.h
  1286.     proc/procMisc.c
  1287.     sys/sysSysCall.c
  1288. Proc_GetRemoteSegInfo        # (used by Vm_GetSegInfo) keep
  1289.     proc/proc.h
  1290.     proc/procMisc.c
  1291.     vm/vmSeg.c
  1292. Proc_GetResUsage        # (system call; get resource usage) keep.
  1293.     Include/user/proc.h
  1294.     mach/ds3100.md/machUNIXSyscall.c
  1295.     mach/symm.md/machSyscallTrace.c
  1296.     proc/proc.h
  1297.     proc/procMisc.c
  1298.     proc/procRpc.c
  1299.     sys/sysSysCall.c
  1300. Proc_GetPriority        # keep
  1301.     proc/procStubs.c
  1302.     sys/sysUnixSyscall.c
  1303. Proc_HasPermission        # keep
  1304.     sig/signals.c
  1305. Proc_In_A_Family        # (process mgmt macro) keep
  1306.     Include/user/proc.h
  1307. Proc_InformParent        # keep.
  1308.     sig/signals.c
  1309. Proc_Init            # keep.
  1310.     main/sun4c.md/mainInit.c
  1311.     main/sun3.md/mainInit.c
  1312.     main/sun4.md/mainInit.c
  1313.     main/ds3100.md/mainInit.c
  1314.     main/symm.md/mainInit.c
  1315. Proc_InitMainProc        # keep, more or less unchanged
  1316.     main/sun4c.md/mainInit.c
  1317.     main/sun3.md/mainInit.c
  1318.     main/sun4.md/mainInit.c
  1319.     main/ds3100.md/mainInit.c
  1320.     main/symm.md/mainInit.c
  1321. Proc_InstallEnviron        # (system call) keep
  1322.     Include/user/proc.h
  1323.     proc/procEnviron.c
  1324. Proc_IsMigratedProc        # XXX rename to Proc_IsEvictable.
  1325.     proc/proc.h
  1326.     proc/procMigrate.c
  1327. Proc_IsMigratedProcess        # Use Proc_GetEffectiveProc?
  1328.                 # Proc_GetCurrentProc?
  1329.     fsutil/fsutil.h
  1330.     prof/sun3.md/profSubr.c
  1331.     prof/sun4.md/profSubr.c
  1332.     prof/sun4c.md/profSubr.c
  1333.     prof/ds3100.md/profSubr.c
  1334. Proc_KDump            # (L1-i) keep? fix? eventually throw out?
  1335.     utils/dump.c
  1336. Proc_KernExec            # (used to start init) rewrite.
  1337.     main/sun4c.md/mainInit.c
  1338.     main/sun3.md/mainInit.c
  1339.     main/sun4.md/mainInit.c
  1340.     main/ds3100.md/mainInit.c
  1341.     main/symm.md/mainInit.c
  1342. Proc_KillAllProcesses        # keep.
  1343.     sys/sysCalls.c
  1344. Proc_Lock            # keep.
  1345.     mach/sun3.md/machCode.c
  1346.     mach/ds5000.md/machCode.c
  1347.     mach/ds3100.md/machCode.c
  1348.     mach/symm.md/machTrap.c
  1349.     fs/fsTopMigrate.c
  1350.     proc/procDebug.c
  1351.     proc/procExit.c
  1352.     proc/procExec.c
  1353.     proc/proc.h
  1354.     proc/procTable.c
  1355.     proc/procTimer.c
  1356.     proc/procMisc.c
  1357.     proc/procRpc.c
  1358.     proc/procRemote.c
  1359.     proc/procStubs.c
  1360.     proc/procMigrate.c
  1361.     proc/procFamily.c
  1362.     sched/schedule.c
  1363.     sig/sigMigrate.c
  1364.     sig/signals.c
  1365.     sys/sysCalls.c
  1366.     vm/vmMigrate.c
  1367.     vm/vmSubr.c
  1368. Proc_LockFamily            # keep.
  1369.     sig/signals.c
  1370. Proc_LockPID            # keep.
  1371.     fspdev/fspdevSrv.c
  1372.     proc/procDebug.c
  1373.     proc/procExit.c
  1374.     proc/proc.h
  1375.     proc/procTable.c
  1376.     proc/procTimer.c
  1377.     proc/procMisc.c
  1378.     proc/procRpc.c
  1379.     proc/procStubs.c
  1380.     proc/procMigrate.c
  1381.     proc/procMigrate.h
  1382.     proc/procFamily.c
  1383.     sig/sigMigrate.c
  1384.     sig/signals.c
  1385.     vm/vmSeg.c
  1386. Proc_MakeReady            # set state to READY (call routine to check
  1387.                 # state transition).  Do a broadcast on the
  1388.                 # process's resumeCondition (simulate putting
  1389.                 # the process in the ready queue).  For user
  1390.                 # processes, verify that has task & thread &
  1391.                 # VM & state, and resume the thread.
  1392.     proc/{procDebug,procFork,procRemote}.c
  1393. Proc_MakeStringAccessible    # (make string accessible, with the usual "RPC
  1394.                 # buffer?" check) Change to take separate
  1395.                 # in/out parameters for the string address.
  1396.                 # This is to discourage callers from
  1397.                 # overwriting what may be an address mapped in
  1398.                 # from user space.
  1399.     sys/sysCalls.c
  1400. Proc_MakeUnaccessible        # (paired with Proc_MakeStringAccessible)
  1401.                 # keep.
  1402.     sys/sysCalls.c
  1403. Proc_MigAddToCounter        # (atomically increment a counter) keep.
  1404.     fs/fsTopMigrate.c
  1405.     proc/proc.h
  1406.     proc/procMigrate.c
  1407.     proc/procMigrate.h
  1408.     vm/vmMigrate.c
  1409. Proc_MigGetStats        # (return migration stats to user) keep.
  1410.     sys/sysCalls.c
  1411. Proc_MigInit            # no-op; worry about later.
  1412.     main/sun3.md/mainInit.c
  1413.     main/sun4.md/mainInit.c
  1414.     main/ds3100.md/mainInit.c
  1415.     main/ds5000.md/mainInit.c
  1416.     main/symm.md/mainInit.c
  1417. Proc_MigResetStats        # (more migration stats stuff) keep.
  1418.     sys/sysCalls.c
  1419. Proc_MigStats            # keep most.  won't be able to get, e.g.,
  1420.                 # pagesWritten w/o hacking the kernel.
  1421.                 # Don't worry about initially.
  1422. Proc_Migrate            # (migration system call) initially return
  1423.                 # error code; eventually get working.  suspend
  1424.                 # the task here?
  1425.     Include/user/proc.h
  1426.     mach/symm.md/machSyscallTrace.c
  1427.     proc/proc.h
  1428.     proc/procRpc.c
  1429.     proc/procMigrate.c
  1430.     sys/sysSysCall.c
  1431. Proc_MigrateStartTracing    # (migration debugging support) keep (may be
  1432.                 # broken?)
  1433.     sys/sysCalls.c
  1434. Proc_MigrateTrap        # initially panic (shouldn't get called).
  1435.                 # Suspend the task.
  1436.     sig/signals.c
  1437. Proc_NeverMigrate        # keep.
  1438.     mach/ds5000.md/machUNIXSyscall.c
  1439.     mach/ds3100.md/machUNIXSyscall.c
  1440.     fspdev/fspdevPfs.c
  1441.     fspdev/fspdevControl.c
  1442.     proc/proc.h
  1443.     proc/procMigrate.c
  1444.     vm/sun3.md/vmSun.c
  1445.     vm/sun4.md/vmSun.c
  1446.     vm/vmSysCall.c
  1447.     vm/ds5000.md/vm3max.c
  1448. Proc_NewProc            # Let Proc_MakeReady set state to READY.
  1449.                 # For user processes, call
  1450.                 # Proc_MakeTaskThread; set machine state, set
  1451.                 # up VM mappings.  For kernel processes, 
  1452.                 # just fork a new thread & fill in pcb.
  1453.                 # Set C Thread name to process ID.
  1454.     main/sun3.md/mainInit.c
  1455.     main/sun4.md/mainInit.c
  1456.     main/ds3100.md/mainInit.c
  1457.     main/symm.md/mainInit.c
  1458.     rpc/rpcDaemon.c
  1459.     sched/schedule.c
  1460. Proc_NewServiceThread        # (new; renamed to Sys_NewServiceThread)
  1461. Proc_PCBArgString        # keep.
  1462.     Include/user/proc.h
  1463.     proc/proc.h
  1464.     proc/procMisc.c
  1465.     sys/sysSysCall.c
  1466. Proc_PCBInfo            # (PCB info, massaged for use by users) track
  1467.                 # changes to Proc_ControlBlock.
  1468.     Include/user/proc.h
  1469.     proc/procMisc.c
  1470.     vm/vmSeg.c
  1471.     vm/vm.h
  1472. Proc_PCBLink            # (link type for assorted lists that a pcb
  1473.                 # might belong to) keep.
  1474.     sig/signals.c
  1475.     sync/syncLock.c
  1476. Proc_PID            # keep.
  1477.     dbg/sun4.md/dbgMain.c
  1478.     dbg/sun3.md/dbgMain.c
  1479.     dev/devTty.c
  1480.     fs/fs.h
  1481.     fscache/fscacheOps.c
  1482.     fsio/fsio.h
  1483.     fsio/fsioFile.c
  1484.     fsio/fsioPipe.c
  1485.     fsio/fsioFile.h
  1486.     fsio/fsioDevice.c
  1487.     fsio/fsioDevice.h
  1488.     fsio/fsioPipe.h
  1489.     fspdev/fspdevSrv.c
  1490.     fspdev/fspdev.h
  1491.     fspdev/fspdevInt.h
  1492.     fspdev/fspdevControl.c
  1493.     fspdev/fspdevSetup.c
  1494.     fsrmt/fsrmt.h
  1495.     fsrmt/fsrmtFile.c
  1496.     fsrmt/fsrmtDomain.c
  1497.     fsrmt/fsrmtInt.h
  1498.     fsrmt/fsrmtDomain.h
  1499.     fsrmt/fsrmtDevice.c
  1500.     main/sun3.md/mainInit.c
  1501.     main/sun4.md/mainInit.c
  1502.     main/ds3100.md/mainInit.c
  1503.     main/symm.md/mainInit.c
  1504.     main/ds5000.md/mainInit.c
  1505.     proc/procDebug.c
  1506.     proc/procExit.c
  1507.     proc/procID.c
  1508.     proc/migrate.h
  1509.     proc/procInt.h
  1510.     proc/proc.h
  1511.     proc/procTable.c
  1512.     proc/procTimer.c
  1513.     proc/procMisc.c
  1514.     proc/procFork.c
  1515.     proc/procRpc.c
  1516.     proc/procRecovery.c
  1517.     proc/procTypes.h
  1518.     proc/procRemote.c
  1519.     proc/procStubs.c
  1520.     proc/procMigrate.c
  1521.     proc/procMigrate.h
  1522.     proc/procFamily.c
  1523.     rpc/rpcDaemon.c
  1524.     sched/schedule.c
  1525.     sig/sigInt.h
  1526.     sig/sig.h
  1527.     sig/sigMigrate.c
  1528.     sig/signals.c
  1529.     sync/syncLock.c
  1530.     sync/sync.h
  1531.     sync/syncTypes.h
  1532.     sys/sysSysCall.c
  1533.     vm/vmPage.c
  1534. Proc_PIDToIndex            # (pid to proc table index) keep.
  1535.     Include/user/proc.h
  1536.     proc/procTable.c
  1537. Proc_Profile            # (start profiling; no-op) throw out?
  1538.     Include/user/proc.h
  1539.     mach/symm.md/machSyscallTrace.c
  1540.     proc/proc.h
  1541.     proc/procMisc.c
  1542.     sys/sysSysCall.c
  1543. Proc_PushLockStack        # (lock instrumentation) keep.  Don't need
  1544.                 # DISABLE_INTR (no interrupt routines).
  1545.     sync/syncLockStat.c
  1546. Proc_RawExit            # (process mgmt system call) undefined
  1547.                 # => delete.
  1548.     Include/user/proc.h
  1549. Proc_Reaper            # (take pcb from dead to unused) keep
  1550.     proc/procExit.c
  1551.     proc/proc.h
  1552.     proc/procMigrate.c
  1553. Proc_RemoteCall            # (information used when sending a system call
  1554.                 # to the home node)
  1555. Proc_RemoteDummy        # ("not implemented" stub) keep.
  1556.     sys/sys.h
  1557.     sys/sysSysCall.c
  1558. Proc_RemoteExec            # (facade over Proc_Exec) keep.
  1559.     mach/symm.md/machSyscallTrace.c
  1560.     proc/procExec.c
  1561.     proc/proc.h
  1562.     sys/sysSysCall.c
  1563. Proc_RemoveFromLockStack    # (lock instrumentation) keep; dike out the
  1564.                 # DISABLE_INTR stuff.
  1565.     sync/syncLockStat.c
  1566. Proc_ResUsage            # (process instrumentation) keep as many
  1567.                 # fields as possible, initially return 0 for
  1568.                 # the others.
  1569.     Include/user/proc.h
  1570.     mach/ds5000.md/machUNIXSyscall.c
  1571.     mach/ds3100.md/machUNIXSyscall.c
  1572.     proc/procExit.c
  1573.     proc/proc.h
  1574.     proc/procMisc.c
  1575.     proc/procStubs.c
  1576.     sys/sysSysCall.c
  1577. Proc_ResumeMigProc        # panic initially
  1578.     mach/sun3.md/machMigrate.c
  1579.     mach/sun4.md/machMigrate.c
  1580.     mach/ds5000.md/machMigrate.c
  1581.     mach/ds3100.md/machMigrate.c
  1582.     mach/symm.md/machMigrate.c
  1583.     proc/proc.h
  1584.     proc/procRemote.c
  1585. Proc_ResumeProcess        # keep.
  1586.     sig/signals.c
  1587. Proc_RpcGetPCB            # (stub for RPC to get PCB or segment) keep.
  1588.     rpc/rpcCall.h
  1589.     rpc/rpcStubs.c
  1590. Proc_RpcMigCommand        # (handles migration commands) initially
  1591.                 # always return an error code.
  1592.     rpc/rpcCall.h
  1593.     rpc/rpcStubs.c
  1594. Proc_RpcMigInit            # (unused) delete.
  1595.     rpc/rpcCall.h
  1596. Proc_RpcRemoteCall        # (handle an RPC that was forwarded home)
  1597.                 # initially panic.
  1598.     rpc/rpcCall.h
  1599.     rpc/rpcStubs.c
  1600. Proc_RpcRemoteWait        # (Proc_Wait that was forwarded home) panic
  1601.                 # initially.
  1602.     rpc/rpcCall.h
  1603.     rpc/rpcStubs.c
  1604. Proc_ServerInit            # (initialization for ServerProc's).  Do
  1605.                 # cleaner init. of condition variables.
  1606.     main/sun4c.md/mainInit.c
  1607.     main/sun3.md/mainInit.c
  1608.     main/sun4.md/mainInit.c
  1609.     main/ds3100.md/mainInit.c
  1610.     main/symm.md/mainInit.c
  1611. Proc_ServerProc            # keep.
  1612.     main/sun3.md/mainInit.c
  1613.     main/sun4.md/mainInit.c
  1614.     main/ds3100.md/mainInit.c
  1615.     main/ds5000.md/mainInit.c
  1616.     main/symm.md/mainInit.c
  1617. Proc_SetActualProc        # (synonym for Proc_SetCurrentProc)
  1618.                 # unused - delete?
  1619.     proc/proc.h
  1620. Proc_SetCurrentProc        # (updates proc_RunningProcesses) Use a field
  1621.                 # in the thread-private data.
  1622.     sched/schedule.c
  1623. Proc_SetEnviron            # (add an env. var. to the env.) keep.
  1624.     Include/user/proc.h
  1625.     proc/proc.h
  1626.     proc/procEnviron.c
  1627. Proc_SetFamilyID        # (system call) keep.
  1628.     Include/user/proc.h
  1629.     mach/ds3100.md/machUNIXSyscall.c
  1630.     mach/symm.md/machSyscallTrace.c
  1631.     proc/proc.h
  1632.     proc/procRpc.c
  1633.     proc/procStubs.c
  1634.     proc/procFamily.c
  1635.     sys/sysSysCall.c
  1636. Proc_SetGroupIDs        # (system call) keep.
  1637.     Include/user/proc.h
  1638.     mach/ds3100.md/machUNIXSyscall.c
  1639.     mach/symm.md/machSyscallTrace.c
  1640.     proc/procID.c
  1641.     proc/proc.h
  1642.     proc/procStubs.c
  1643.     sys/sysSysCall.c
  1644. Proc_SetIDs            # (system call) keep.
  1645.     Include/user/proc.h
  1646.     mach/ds3100.md/machUNIXSyscall.c
  1647.     mach/symm.md/machSyscallTrace.c
  1648.     proc/procID.c
  1649.     proc/proc.h
  1650.     proc/procRpc.c
  1651.     sys/sysSysCall.c
  1652. Proc_SetIntervalTimer        # (system call) keep.
  1653.     Include/user/proc.h
  1654.     mach/ds3100.md/machUNIXSyscall.c
  1655.     mach/symm.md/machSyscallTrace.c
  1656.     proc/proc.h
  1657.     proc/procTimer.c
  1658.     proc/procStubs.c
  1659.     sys/sysSysCall.c
  1660. Proc_SetPriority        # Map Sprite priority level to Mach.
  1661.     Include/user/proc.h
  1662.     mach/symm.md/machSyscallTrace.c
  1663.     proc/proc.h
  1664.     proc/procMisc.c
  1665.     sys/sysCalls.c
  1666.     sys/sysSysCall.c
  1667. Proc_SetServerPriority        # Map Sprite priority level to Mach.
  1668.     rpc/rpcDaemon.c
  1669. Proc_State            # (process mgmt) keep, though not as
  1670.                 # meaningful as with native Sprite.
  1671.     Include/user/proc.h
  1672.     proc/procExit.c
  1673.     proc/procTypes.h
  1674.     proc/procMisc.c
  1675.     sched/sched.h
  1676.     sched/schedule.c
  1677.     sync/syncLock.c
  1678.     sync/sync.h
  1679. Proc_StringNCopy        # (strncpy, more or less)
  1680.                 # XXX should do the IsMigratedProcess check
  1681.                 # itself, and then call Vm_StringNCopy if need
  1682.                 # be.  
  1683.                 # XXX Fix Fsutil_StringNCopy to just call
  1684.                 # Proc_StringNCopy.
  1685.                 # XXX Verify that is only used for copy in.
  1686.     fsutil/fsutil.h
  1687.     prof/sun3.md/profSubr.c
  1688.     prof/sun4.md/profSubr.c
  1689.     prof/sun4c.md/profSubr.c
  1690.     prof/ds3100.md/profSubr.c
  1691. Proc_SuspendProcess        # suspend the thread; would like to take an
  1692.                 # arbitrary process, but maybe don't do that
  1693.                 # initially (rely on process's checking for
  1694.                 # pending signals)
  1695.     mach/sun4.md/machTrap.s
  1696.     proc/procDebug.c
  1697.     proc/procExit.c
  1698.     proc/proc.h
  1699.     sig/signals.c
  1700. Proc_TimerInterval        # (process mgmt) keep.
  1701.     Include/user/proc.h
  1702.     mach/ds3100.md/machUNIXSyscall.c
  1703.     proc/procInt.h
  1704.     proc/proc.h
  1705.     proc/procTimer.c
  1706.     proc/procStubs.c
  1707.     proc/procMigrate.c
  1708. Proc_Unlock            # keep.
  1709.     mach/sun3.md/machCode.c
  1710.     mach/ds5000.md/machCode.c
  1711.     mach/ds3100.md/machCode.c
  1712.     mach/symm.md/machTrap.c
  1713.     fs/fsTopMigrate.c
  1714.     fspdev/fspdevSrv.c
  1715.     proc/procDebug.c
  1716.     proc/procExit.c
  1717.     proc/procExec.c
  1718.     proc/proc.h
  1719.     proc/procTable.c
  1720.     proc/procTimer.c
  1721.     proc/procMisc.c
  1722.     proc/procRpc.c
  1723.     proc/procRemote.c
  1724.     proc/procStubs.c
  1725.     proc/procMigrate.c
  1726.     proc/procMigrate.h
  1727.     proc/procFamily.c
  1728.     sched/schedule.c
  1729.     sig/sigMigrate.c
  1730.     sig/signals.c
  1731.     sys/sysCalls.c
  1732.     vm/vmSeg.c
  1733.     vm/vmMigrate.c
  1734.     vm/vmSubr.c
  1735. Proc_UnlockAndSwitch        # MIGRATED, EXITING, DEAD: call
  1736.                 # Sync_UnlockAndSwitch.
  1737.                 # SUSPENDED: set the state and wait until it
  1738.                 # changes.
  1739. Proc_UnlockFamily        # keep.
  1740.     sig/signals.c
  1741. Proc_UnsetEnviron        # (system call) keep.
  1742.     Include/user/proc.h
  1743.     proc/proc.h
  1744.     proc/procEnviron.c
  1745. Proc_ValidatePID        # (unused?) keep.
  1746. Proc_Wait            # (system call) keep.
  1747.     Include/user/proc.h
  1748.     mach/ds3100.md/machUNIXSyscall.c
  1749.     mach/symm.md/machSyscallTrace.c
  1750.     proc/procExit.c
  1751.     proc/proc.h
  1752.     sys/sysSysCall.c
  1753. Proc_WaitForMigration        # initially panic.
  1754.     sig/sigMigrate.c
  1755. Proc_WakeupAllProcesses        # keep.
  1756.     fsutil/fsutilRecovery.c
  1757. RpcProcFork            # call Proc_MakeTaskThread.
  1758. procStatusMappings        # (map Sprite status code to errno) keep.
  1759.     mach/ds3100.md/compatMapCode.c
  1760.     libc/sun3.md/compatMapCode.c
  1761.     libc/symm.md/compatMapCode.c
  1762. proc_AllowMigrationState    # (import/export control) keep.
  1763.     sys/sysCalls.c
  1764. proc_DoTrace            # (enables/disables tracing) keep.
  1765.     sys/sysCalls.c
  1766. proc_KillMigratedDebugs        # (kill foreign processes instead of putting
  1767.                 # in debugger) keep.
  1768.     sig/signals.c
  1769. proc_MaxNumProcesses        # (high-water mark for PCB table occupancy)
  1770.                 # keep.
  1771.     sched/schedule.c
  1772. proc_MigDebugLevel        # keep.
  1773.     mach/sun3.md/machMigrate.c
  1774.     mach/sun4.md/machMigrate.c
  1775.     mach/ds3100.md/machMigrate.c
  1776.     mach/symm.md/machMigrate.c
  1777.     fs/fsTopMigrate.c
  1778.     fsio/fsioStream.c
  1779.     proc/procDebug.c
  1780.     proc/procExit.c
  1781.     proc/procExec.c
  1782.     proc/procRpc.c
  1783.     proc/procRecovery.c
  1784.     proc/procRemote.c
  1785.     proc/procMigrate.c
  1786.     proc/procMigrate.h
  1787.     prof/profMigrate.c
  1788.     sig/sigMigrate.c
  1789.     sig/signals.c
  1790.     sys/sysCalls.c
  1791.     vm/vmMigrate.c
  1792. proc_MigDoStats            # (enable/disable stats gathering) keep.
  1793.     proc/procRpc.c
  1794.     proc/procMigrate.c
  1795.     proc/procMigrate.h
  1796.     vm/vmMigrate.c
  1797. proc_MigrationVersion        # keep.
  1798.     sys/sysCalls.c
  1799. proc_NumServers            # (maximum number of server procs) keep.
  1800.     main/sun4c.md/mainInit.c
  1801.     main/sun3.md/mainInit.c
  1802.     main/sun4.md/mainInit.c
  1803.     main/ds3100.md/mainInit.c
  1804.     main/cleansun3.md/mainInit.c
  1805.     main/cleands3100.md/mainInit.c
  1806.     main/symm.md/mainInit.c
  1807.     main/cleansun4.md/mainInit.c
  1808.     main/cleansun4c.md/mainInit.c
  1809. proc_PCBTable            # keep.
  1810.     sched/schedule.c
  1811. proc_RunningProcesses        # Delete.  ("the current process" will be
  1812.                 # indicated by a field in the thread-local
  1813.                 # data.)
  1814.     mach/sun3.md/machIntr.s
  1815.     mach/sun3.md/machAsm.s
  1816.     mach/sun3.md/machTrap.s
  1817.     mach/ds5000.md/machAsm.s
  1818.     mach/ds3100.md/machAsm.s
  1819.     mach/symm.md/machCode.c
  1820.     mach/symm.md/machLocore.s
  1821.     fs/fsStubs.c
  1822.     fscache/fscacheOps.c
  1823.     fscache/fscacheReadAhead.c
  1824.     fsio/fsioDevice.c
  1825.     fslcl/fslclLookup.c
  1826.     fsrmt/fsrmtFile.c
  1827.     fsrmt/fsrmtIO.c
  1828.     lfs/lfsBlockIO.c
  1829.     ofs/ofsAlloc.c
  1830.     ofs/ofsIndex.c
  1831.     ofs/ofsIo.c
  1832.     ofs/ofsFileDesc.c
  1833.     proc/proc.h
  1834.     proc/procTable.c
  1835.     proc/procMigrate.c
  1836.     sched/schedQueue.c
  1837.     sched/schedule.c
  1838.     vm/vmSeg.c
  1839. proc_TraceHdrPtr        # (more instrumentation) keep.
  1840.     sys/sysCalls.c
  1841.  
  1842. Local Variables:
  1843. mode: xref
  1844. fill-column: 78
  1845. End:
  1846.