NetBSD/sys/arch/powerpc/booke/genassym.cf
2011-06-29 06:06:04 +00:00

113 lines
4.4 KiB
CFEngine3

# $NetBSD: genassym.cf,v 1.8 2011/06/29 06:06:04 matt Exp $
#-
# Copyright (c) 2010, 2011 The NetBSD Foundation, Inc.
# All rights reserved.
#
# This code is derived from software contributed to The NetBSD Foundation
# by Raytheon BBN Technologies Corp and Defense Advanced Research Projects
# Agency and which was developed by Matt Thomas of 3am Software Foundry.
#
# This material is based upon work supported by the Defense Advanced Research
# Projects Agency and Space and Naval Warfare Systems Center, Pacific, under
# Contract No. N66001-09-C-2073.
# Approved for Public Release, Distribution Unlimited
#
# Copyright (c) 2010 The NetBSD Foundation, Inc.
# All rights reserved.
#
# This code is derived from software contributed to The NetBSD Foundation
# by Matt Thomas of 3am Software Foundry.
#
# 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.
#
# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
# ``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 THE FOUNDATION OR CONTRIBUTORS
# 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 "opt_multiprocessor.h"
include <sys/param.h>
include <sys/bitops.h>
include <uvm/uvm_extern.h>
include <machine/frame.h>
include <machine/psl.h>
include <machine/pmap.h>
include <powerpc/booke/trap.h>
include <powerpc/booke/pte.h>
define FRAME_DEAR offsetof(struct ktrapframe, ktf_tf.tf_dear)
define FRAME_ESR offsetof(struct ktrapframe, ktf_tf.tf_esr)
define FRAME_MCSR offsetof(struct ktrapframe, ktf_tf.tf_mcsr)
define FRAME_MCAR offsetof(struct ktrapframe, ktf_tf.tf_mcar)
define FRAME_SPRG1 offsetof(struct ktrapframe, ktf_tf.tf_sprg1)
define FRAME_SPEFSCR offsetof(struct ktrapframe, ktf_tf.tf_spefscr)
define CI_SAVELIFO offsetof(struct cpu_info, ci_savearea[0])
define CI_PMAP_SEGTAB offsetof(struct cpu_info, ci_pmap_segtabs[0])
define CI_EV_TLBMISS_SOFT offsetof(struct cpu_info, ci_ev_tlbmiss_soft.ev_count)
define PAGE_SIZE PAGE_SIZE
define PAGE_MASK PAGE_MASK
define PAGE_SHIFT PAGE_SHIFT
define KERNEL_PID KERNEL_PID
define USPACE USPACE
define T_CRITIAL_INPUT T_CRITIAL_INPUT
define T_MACHINE_CHECK T_MACHINE_CHECK
define T_DSI T_DSI
define T_ISI T_ISI
define T_EXTERNAL_INPUT T_EXTERNAL_INPUT
define T_ALIGNMENT T_ALIGNMENT
define T_PROGRAM T_PROGRAM
define T_FP_UNAVAILABLE T_FP_UNAVAILABLE
define T_SYSTEM_CALL T_SYSTEM_CALL
define T_AP_UNAVAILABLE T_AP_UNAVAILABLE
define T_DECREMENTER T_DECREMENTER
define T_FIXED_INTERVAL T_FIXED_INTERVAL
define T_WATCHDOG T_WATCHDOG
define T_DATA_TLB_ERROR T_DATA_TLB_ERROR
define T_INSTRUCTION_TLB_ERROR T_INSTRUCTION_TLB_ERROR
define T_DEBUG T_DEBUG
define T_SPE_UNAVAILABLE T_SPE_UNAVAILABLE
define T_EMBEDDED_FP_DATA T_EMBEDDED_FP_DATA
define T_EMBEDDED_FP_ROUND T_EMBEDDED_FP_ROUND
define T_EMBEDDED_PERF_MONITOR T_EMBEDDED_PERF_MONITOR
define T_AST T_AST
define PTE_SCALESHIFT ilog2(sizeof(pt_entry_t))
define PTR_SCALESHIFT ilog2(sizeof(void *))
define NSEGPG_SCALESHIFT PAGE_SHIFT - ilog2(sizeof(void *))
define NPTEPG_SCALESHIFT PAGE_SHIFT - ilog2(sizeof(pt_entry_t))
define MSR_DS 31 - ilog2(PSL_DS)
define MSR_IS 31 - ilog2(PSL_IS)
ifdef MULTIPROCESSOR
define HATCH_CI offsetof(struct cpu_hatch_data, hatch_ci)
define HATCH_HID0 offsetof(struct cpu_hatch_data, hatch_hid0)
define HATCH_RUNNING offsetof(struct cpu_hatch_data, hatch_running)
define HATCH_SP offsetof(struct cpu_hatch_data, hatch_sp)
define HATCH_TBU offsetof(struct cpu_hatch_data, hatch_tbu)
define HATCH_TBL offsetof(struct cpu_hatch_data, hatch_tbl)
endif