#       $NetBSD: genassym.cf,v 1.24 2018/07/15 05:16:43 maxv Exp $

#
# Copyright (C) 1995, 1996 Wolfgang Solfrank.
# Copyright (C) 1995, 1996 TooLs GmbH.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
# 3. All advertising materials mentioning features or use of this software
#    must display the following acknowledgement:
#       This product includes software developed by TooLs GmbH.
# 4. The name of TooLs GmbH may not be used to endorse or promote products
#    derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#

include <sys/param.h>
include <sys/bitops.h>

include <machine/pmap.h>

define  FRAME_DEAR      offsetof(struct ktrapframe, ktf_tf.tf_dear)
define  FRAME_ESR       offsetof(struct ktrapframe, ktf_tf.tf_esr)
define  FRAME_PID       offsetof(struct ktrapframe, ktf_tf.tf_pid)

define  PM_CTX          offsetof(struct pmap, pm_ctx)
define  KERNEL_PID      KERNEL_PID

define  CI_INTSTK       offsetof(struct cpu_info, ci_intstk)
define  CI_TEMPSAVE     offsetof(struct cpu_info, ci_savearea[CI_SAVETEMP])
define  CI_DDBSAVE      offsetof(struct cpu_info, ci_savearea[CI_SAVEDDB])
define  CI_TLBMISSSAVE  offsetof(struct cpu_info, ci_savearea[CI_SAVEMMU])

define  CPUSAVE_R28     CPUSAVE_R28*sizeof(register_t)
define  CPUSAVE_R29     CPUSAVE_R29*sizeof(register_t)
define  CPUSAVE_R30     CPUSAVE_R30*sizeof(register_t)
define  CPUSAVE_R31     CPUSAVE_R31*sizeof(register_t)
define  CPUSAVE_DEAR    CPUSAVE_DEAR*sizeof(register_t)
define  CPUSAVE_ESR     CPUSAVE_ESR*sizeof(register_t)
define  CPUSAVE_SRR0    CPUSAVE_SRR0*sizeof(register_t)
define  CPUSAVE_SRR1    CPUSAVE_SRR1*sizeof(register_t)