59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemq# CDDL HEADER START
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemq# The contents of this file are subject to the terms of the
59ac0c1669407488b67ae9e273667a340dccc611davemq# Common Development and Distribution License (the "License").
59ac0c1669407488b67ae9e273667a340dccc611davemq# You may not use this file except in compliance with the License.
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemq# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
59ac0c1669407488b67ae9e273667a340dccc611davemq# or http://www.opensolaris.org/os/licensing.
59ac0c1669407488b67ae9e273667a340dccc611davemq# See the License for the specific language governing permissions
59ac0c1669407488b67ae9e273667a340dccc611davemq# and limitations under the License.
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemq# When distributing Covered Code, include this CDDL HEADER in each
59ac0c1669407488b67ae9e273667a340dccc611davemq# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
59ac0c1669407488b67ae9e273667a340dccc611davemq# If applicable, add the following below this CDDL HEADER, with the
59ac0c1669407488b67ae9e273667a340dccc611davemq# fields enclosed by brackets "[]" replaced with your own identifying
59ac0c1669407488b67ae9e273667a340dccc611davemq# information: Portions Copyright [yyyy] [name of copyright owner]
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemq# CDDL HEADER END
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemq# uts/sun4v/vfalls/Makefile
895ca178e38ac3583d0c0d8317d51dc5f388df6eae# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
59ac0c1669407488b67ae9e273667a340dccc611davemq# Use is subject to license terms.
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemq#ident "%Z%%M% %I% %E% SMI"
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemq# This makefile drives the production of the UltraSPARC-T2+ cpu module.
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemq# sun4v implementation architecture dependent
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemq
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemq# Path to the base of the uts directory tree (usually /usr/src/uts).
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemqUTSBASE = ../..
59ac0c1669407488b67ae9e273667a340dccc611davemq
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemq# Define the module and object file sets.
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemqMODULE = SUNW,UltraSPARC-T2+
59ac0c1669407488b67ae9e273667a340dccc611davemqOBJECTS = $(NIAGARA2CPU_OBJS:%=$(OBJS_DIR)/%)
59ac0c1669407488b67ae9e273667a340dccc611davemqLINTS = $(NIAGARA2CPU_OBJS:%.o=$(LINTS_DIR)/%.ln)
59ac0c1669407488b67ae9e273667a340dccc611davemqROOTMODULE = $(ROOT_PSM_CPU_DIR)/$(MODULE)
59ac0c1669407488b67ae9e273667a340dccc611davemq
59ac0c1669407488b67ae9e273667a340dccc611davemqCPU_DIR = .
59ac0c1669407488b67ae9e273667a340dccc611davemqHERE = ../vfalls
59ac0c1669407488b67ae9e273667a340dccc611davemq
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemq# Include common rules.
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemqinclude $(UTSBASE)/sun4v/Makefile.sun4v
59ac0c1669407488b67ae9e273667a340dccc611davemq
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemq# Override defaults
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemqCLEANFILES += $(CPULIB) $(SYM_MOD)
59ac0c1669407488b67ae9e273667a340dccc611davemq
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemq# Define targets
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemqALL_TARGET = $(SYM_MOD)
59ac0c1669407488b67ae9e273667a340dccc611davemqLINT_TARGET = $(MODULE).lint
59ac0c1669407488b67ae9e273667a340dccc611davemqINSTALL_TARGET = def $(BINARY) $(ROOTMODULE)
59ac0c1669407488b67ae9e273667a340dccc611davemq
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemq# lint pass one enforcement
59ac0c1669407488b67ae9e273667a340dccc611davemq#
895ca178e38ac3583d0c0d8317d51dc5f388df6eaeCFLAGS += $(CCVERBOSE) -DVFALLS_IMPL
59ac0c1669407488b67ae9e273667a340dccc611davemq
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemq# cpu-module-specific flags
59ac0c1669407488b67ae9e273667a340dccc611davemq#
895ca178e38ac3583d0c0d8317d51dc5f388df6eaeCPPFLAGS += -DCPU_MODULE -DVFALLS_IMPL
7ec363dc481bba196d724969022171de4687989fwhCPPFLAGS += -DSUN4V_CONTIG_MEM_PREALLOC_SIZE_MB=68
895ca178e38ac3583d0c0d8317d51dc5f388df6eaeAS_CPPFLAGS += -DCPU_MODULE -DVFALLS_IMPL
895ca178e38ac3583d0c0d8317d51dc5f388df6eae
895ca178e38ac3583d0c0d8317d51dc5f388df6eae#
895ca178e38ac3583d0c0d8317d51dc5f388df6eae# The ATOMIC_BO_ENABLE_SHIFT enables backoff in atomic routines.
895ca178e38ac3583d0c0d8317d51dc5f388df6eae# It is also used to scale final limit value w.r.t. number of
895ca178e38ac3583d0c0d8317d51dc5f388df6eae# online cpus.
895ca178e38ac3583d0c0d8317d51dc5f388df6eae#
895ca178e38ac3583d0c0d8317d51dc5f388df6eaeATOMIC_BO_FLAG = -DATOMIC_BO_ENABLE_SHIFT=4
895ca178e38ac3583d0c0d8317d51dc5f388df6eaeCFLAGS += $(ATOMIC_BO_FLAG)
895ca178e38ac3583d0c0d8317d51dc5f388df6eaeCPPFLAGS +=$(ATOMIC_BO_FLAG)
895ca178e38ac3583d0c0d8317d51dc5f388df6eaeAS_CPPFLAGS += $(ATOMIC_BO_FLAG)
59ac0c1669407488b67ae9e273667a340dccc611davemq
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemq# Default build targets.
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemq.KEEP_STATE:
59ac0c1669407488b67ae9e273667a340dccc611davemq
59ac0c1669407488b67ae9e273667a340dccc611davemqdef: $(DEF_DEPS)
59ac0c1669407488b67ae9e273667a340dccc611davemq
59ac0c1669407488b67ae9e273667a340dccc611davemqall: $(ALL_DEPS)
59ac0c1669407488b67ae9e273667a340dccc611davemq
59ac0c1669407488b67ae9e273667a340dccc611davemqclean: $(CLEAN_DEPS)
59ac0c1669407488b67ae9e273667a340dccc611davemq
59ac0c1669407488b67ae9e273667a340dccc611davemqclobber: $(CLOBBER_DEPS)
59ac0c1669407488b67ae9e273667a340dccc611davemq
59ac0c1669407488b67ae9e273667a340dccc611davemqlint: $(LINT_DEPS)
59ac0c1669407488b67ae9e273667a340dccc611davemq
59ac0c1669407488b67ae9e273667a340dccc611davemqmodlintlib: $(MODLINTLIB_DEPS)
59ac0c1669407488b67ae9e273667a340dccc611davemq
59ac0c1669407488b67ae9e273667a340dccc611davemqclean.lint: $(CLEAN_LINT_DEPS)
59ac0c1669407488b67ae9e273667a340dccc611davemq
59ac0c1669407488b67ae9e273667a340dccc611davemqinstall: $(INSTALL_DEPS)
59ac0c1669407488b67ae9e273667a340dccc611davemq
59ac0c1669407488b67ae9e273667a340dccc611davemq$(CPULIB): $(BINARY)
59ac0c1669407488b67ae9e273667a340dccc611davemq $(BUILD.SO) $(BINARY)
59ac0c1669407488b67ae9e273667a340dccc611davemq
59ac0c1669407488b67ae9e273667a340dccc611davemq$(SYM_MOD): $(UNIX_O) $(CPULIB)
59ac0c1669407488b67ae9e273667a340dccc611davemq @echo "resolving symbols against unix.o"
59ac0c1669407488b67ae9e273667a340dccc611davemq @(cd $(UNIX_DIR); pwd; \
59ac0c1669407488b67ae9e273667a340dccc611davemq CPU_DIR=$(HERE) SYM_MOD=$(HERE)/$(SYM_MOD) $(MAKE) symcheck)
59ac0c1669407488b67ae9e273667a340dccc611davemq
59ac0c1669407488b67ae9e273667a340dccc611davemq# Include common targets.
59ac0c1669407488b67ae9e273667a340dccc611davemq#
59ac0c1669407488b67ae9e273667a340dccc611davemqinclude $(UTSBASE)/$(PLATFORM)/Makefile.targ