Files
seta75D d6fe8fe829 Init
2021-10-11 22:19:34 -03:00

128 lines
3.6 KiB
Plaintext

# @(#)86 1.18.3.6 src/bos/kernel/ml/proc.m4, sysml, bos411, 9428A410j 2/24/94 07:26:46
#
# COMPONENT_NAME: SYSML
#
# FUNCTIONS: image
#
# ORIGINS: 27, 83
#
#
# This module contains IBM CONFIDENTIAL code. -- (IBM
# Confidential Restricted when combined with the aggregated
# modules for this product)
# SOURCE MATERIALS
#
# (C) COPYRIGHT International Business Machines Corp. 1989, 1993
# All Rights Reserved
# US Government Users Restricted Rights - Use, duplication or
# disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
#
#****************************************************************************
#
# LEVEL 1, 5 Years Bull Confidential Information
#
#****************************************************************************
include(thread.m4)
.dsect proc
p_stat: .byte 0 # process state
.space 1
p_xstat: .short 0 # exit status for wait
p_flag: .long 0 # process flags
p_int: .long 0 # process flags
p_atomic: .long 0 # process flags
# main process link pointers
p_child: .long 0 # head of list of children
p_siblng: .long 0 # circular list of siblings
p_uidl: .long 0 # processes with same pNuid
p_ganchor: .long 0 # anchor for process group is p_pid
# thread fields
p_thrdlist: .long 0 # head of list of threads
p_thrdcount: .short 0 # number of threads
p_active: .short 0 # number of active threads
p_suspended: .short 0 # number of suspended threads
p_terminating: .short 0 # number of terminating threads
p_local: .short 0 # number of threads used by "local" pool
# scheduler fields
p_nice: .byte 0 # nice for cpu usage
# NOTE: PUSER is added to this
# for processes that do not
# have fixed priority
p_sched_pri: .byte 0 # pri of our most favored swapped thrd
# dispatcher fields
p_event: .long 0 # pending ecbs
p_synch: .long 0 # event list for this proc suspension
# identifier fields
p_uid: .long 0 # real user identifier
p_suid: .long 0 # set user identifier
p_pid: .long 0 # process identifier
p_ppid: .long 0 # parent process id
p_sid: .long 0 # session id
p_pgrp: .long 0 # process group leader pid
# miscellaneous
p_lock: .long 0 # proc lock
p_kstackseg: .long 0 # segment for additional kstacks
p_adspace: .long 0 # process address space
p_grpl: .long 0 # processes in same process gruop
p_ttyl: .long 0 # process groups in same session
p_ipc: .long 0 # ipc when being debugged
p_dblist: .long 0 # processes being debugged
p_dbnext: .long 0 # next in p_dblist
# signal information
p_sig: .long 0 # pending signals
.long 0
p_sigignore: .long 0 # signals being ignored
.long 0
p_sigcatch: .long 0 # end, signal area
.long 0
# zombie process information
p_p_ru: .space 18*4
# process statistics
p_size: .long 0 # size of image (pages)
p_pctcpu: .long 0 # cpu percentage
p_auditmask: .long 0 # auditing stuff
p_minflt: .long 0 # page fault count - no I/O
p_majflt: .long 0 # page fault count - I/O needed
# additional scheduler fields
p_repage: .long 0 # repaging rate
p_sched_count: .long 0 # watchdog suspension count
p_sched_next: .long 0 # next process in swap queues
p_sched_back: .long 0 # prev process in swap queues
p_cpticks: .short 0 # ticks of cpu time in last sec
p_msgcnt: .short 0 # uprintf message count
p_majfltsec: .long 0 # maj flts in the last sec
.space 1*4
# end of the proc structure; total size is (p_end-proc)
p_end: .space 0
# some process flags for p_flags
.set SKPROC, 0x00000200 # kernel processes
.set SSIGSLIH, 0xF0000000 # sigslih to be called