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

178 lines
5.7 KiB
Plaintext

# @(#)31 1.15 src/bos/kernel/ml/POWER/ppda.m4, sysml, bos411, 9438C411a 9/23/94 10:53:22
#*****************************************************************************
#
# COMPONENT_NAME: (SYSML) Kernel Assembler Defines
#
# FUNCTIONS:
#
# ORIGINS: 27 83
#
# IBM CONFIDENTIAL -- (IBM Confidential Restricted when
# combined with the aggregated modules for this product)
# SOURCE MATERIALS
# (C) COPYRIGHT International Business Machines Corp. 1992, 1994
# 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
#
# See comments in ppda.h
#
#****************************************************************************
ifdef(`_POWER_MP',`
.set MAXCPU, 8 # for this binary
',`
.set MAXCPU, 1 # for this binary
') #endif _POWER_MP
.set DCACHE_LSIZE, 64 # in bytes
.dsect ppdarea
# Alignment Flih Save Area Definitions
SAVE_WORK0:
SAVE_MATCH: .byte 0 # Alias for where match byte is stored
SAVE_RT: .byte 0 # Alias for where copy of RT is stored
SAVE_RA: .byte 0 # Alias for where copy of RA is stored
SAVE_RB: .byte 0 # Alias for where copy of RB is stored
SAVE_WORK1: .long 0 # Save Area Work space 1
SAVE_WORK2: .long 0 # Save Area Work space 2
SAVE_WORK3: .long 0 # Save Area Work space 3
SAVE_R25: .long 0 # Save Area copy of r25
SAVE_R26: .long 0 # Save Area copy of r26
SAVE_R27: .long 0 # Save Area copy of r27
SAVE_R28: .long 0 # Save Area copy of r28
SAVE_R29: .long 0 # Save Area copy of r29
SAVE_R30: .long 0 # Save Area copy of r30
SAVE_R31: .long 0 # Save Area copy of r31
SAVE_SRR0: .long 0 # Save Area copy of SRR0
SAVE_SRR1: .long 0 # Save Area copy of SRR1
SAVE_LR: .long 0 # Save Area copy of LR
SAVE_CR: .long 0 # Save Area copy of CR
SAVE_XER: .long 0 # Save Area copy of XER
ppda_csa: .long 0 # current save area
ppda_mstack: .long 0 # next available mst
ppda_fpowner: .long 0
ifdef(`_THREADS',`
ppda_curthread: .long 0
',`
ppda_curproc: .long 0
')
ppda_syscall: .long 0 # count of sys calls/processor
ppda_save0: .long 0 # flih scratch save area
ppda_save1: .long 0
ppda_save2: .long 0
ppda_save3: .long 0
ppda_save4: .long 0
ppda_save5: .long 0
ppda_save6: .long 0
ppda_save7: .long 0
ppda_intr: .long 0 # PPC interrupt register address
#
# ppda_softid & ppda_softpri must stay in the same word
#
ppda_softis: .short 0 # Hardware assist
ppda_softpri: .short 0 # Software managed priorities
ppda_prilvl0: .long 0 # Array of priority to levels
ppda_prilvl1: .long 0 # When MAX_LVL_PER_PRI goes beyond
ppda_prilvl2: .long 0 # 32 then these will have to
ppda_prilvl3: .long 0 # change also.
ppda_prilvl4: .long 0
ppda_dar: .long 0 # save dar here
ppda_dsisr: .long 0 # save dsisr her
ppda_dsi_flag: .long 0 # flag for dsi_flih
ppda_dssave0: .long 0 # save area for dsi_flih
ppda_dssave1: .long 0
ppda_dssave2: .long 0
ppda_dssave3: .long 0
ppda_dssave4: .long 0
ppda_dssave5: .long 0
ppda_dssave6: .long 0
ppda_dssave7: .long 0
# Off-level scheduler anchors reserve 4 words for them (INTOFFL3-INTOFFL0+1)
OFFLVL_SCHEDS: .space 4 * 4
ppda_cpuid: .short 0 # cpu logical number
ppda_stackfix: .byte 0
ppda_lru: .byte 0
ppda_vmflags: # word of VMM flags:
ppda_sio: .byte 0 # flag for starting i/o
ppda_reservation: .byte 0 # frame reservation
ppda_hint: .byte 0 # hint in the scoreboard
ppda_vmrsvd: .byte 0 # reserved
ppda_no_vwait: .long 0 # flag for v_wait
ppda_scoreboard0: .long 0 # scoreboard containing lock addresses
ppda_scoreboard1: .long 0 # to be released on backtrack
ppda_scoreboard2: .long 0
ppda_scoreboard3: .long 0
ppda_scoreboard4: .long 0 # scoreboard containing lock addresses
ppda_scoreboard5: .long 0 # to be released on backtrack
ppda_scoreboard6: .long 0
ppda_scoreboard7: .long 0
ppda_mfrr_pend: .long 0
ppda_mfrr_lock: .long 0
ppda_mpc_pend: .long 0
ppda_iodonelist: .long 0 # per-cpu iodone list
#
# Timer handling data. Struct ppda_timer, see ppda.h
#
ppda_timer_t_free: .long 0
ppda_timer_t_active: .long 0
ppda_timer_t_freecnt: .long 0
ppda_timer_t_called: .long 0
ppda_timer_trblock: .long 0
ppda_timer_systimer: .long 0
ppda_timer_ticks_it: .long 0
ppda_timer_ref_time: .long 0
.long 0
ppda_timer_time_delta: .long 0
ppda_timer_time_adjusted: .long 0
ppda_timer_wtimer: .long 0
.long 0
.long 0
.long 0
.long 0
ppda_timer_w_called: .long 0
ppda_affinity: .long 0
kdb_ppda_csa: .long 0 # address of current kdb save area
kdb_ppda_mstack: .long 0 # next kdb area in mstsave pool
kdb_ppda_r0: .long 0 # FLIH save area for gpr 0
kdb_ppda_r1: .long 0 # FLIH save area for gpr 1
kdb_ppda_r2: .long 0 # FLIH save area for gpr 2
kdb_ppda_r15: .long 0 # FLIH save area for gpr 15
kdb_ppda_cr: .long 0 # FLIH save area for cr
kdb_ppda_sr0: .long 0 # save area for seg reg 0
kdb_ppda_sr2: .long 0 # save area for seg reg 2
kdb_ppda_iar: .long 0
kdb_ppda_msr: .long 0
ppda_TB_ref_u: .long 0 # ref. of Time Base value: upper
ppda_TB_ref_l: .long 0 # ref. of Time Base value: lower
ppda_sec_ref: .long 0 # ref. of Time Base value: seconds
ppda_nsec_ref: .long 0 # ref. of Time Base value: nanos
ppda_ficd: .byte 0 # finish interrupt call dispatch
ppda_pad1: .space 3 # pad to word boundary
ppda_compress: .long 0 # filesystem compression buffer
ppda_qio: .long 0 # VMM queued I/O pages
ppda_cs_sync: .long 0 # Synchronous MPC indicator
ppda_pmapstk: .long 0 # Address of V=R pmap stack
ppdfiller: .space 32
ppdend: .space 0