d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# CDDL HEADER START
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# The contents of this file are subject to the terms of the
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# Common Development and Distribution License (the "License").
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# You may not use this file except in compliance with the License.
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac# or http://www.opensolaris.org/os/licensing.
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac# See the License for the specific language governing permissions
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# and limitations under the License.
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# When distributing Covered Code, include this CDDL HEADER in each
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac# If applicable, add the following below this CDDL HEADER, with the
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac# fields enclosed by brackets "[]" replaced with your own identifying
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac# information: Portions Copyright [yyyy] [name of copyright owner]
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# CDDL HEADER END
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# uts/sun4v/vfalls/Makefile
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# Use is subject to license terms.
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#ident "%Z%%M% %I% %E% SMI"
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# This makefile drives the production of the UltraSPARC-T2+ cpu module.
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# sun4v implementation architecture dependent
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# Path to the base of the uts directory tree (usually /usr/src/uts).
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffUTSBASE = ../..
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# Define the module and object file sets.
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffMODULE = SUNW,UltraSPARC-T2+
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffOBJECTS = $(NIAGARA2CPU_OBJS:%=$(OBJS_DIR)/%)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffLINTS = $(NIAGARA2CPU_OBJS:%.o=$(LINTS_DIR)/%.ln)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffROOTMODULE = $(ROOT_PSM_CPU_DIR)/$(MODULE)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffCPU_DIR = .
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffHERE = ../vfalls
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# Include common rules.
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffinclude $(UTSBASE)/sun4v/Makefile.sun4v
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# Override defaults
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffCLEANFILES += $(CPULIB) $(SYM_MOD)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# Define targets
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffALL_TARGET = $(SYM_MOD)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffLINT_TARGET = $(MODULE).lint
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffINSTALL_TARGET = def $(BINARY) $(ROOTMODULE)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# lint pass one enforcement
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffCFLAGS += $(CCVERBOSE) -DVFALLS_IMPL
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# cpu-module-specific flags
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffCPPFLAGS += -DCPU_MODULE -DVFALLS_IMPL
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffCPPFLAGS += -DSUN4V_CONTIG_MEM_PREALLOC_SIZE_MB=68
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffAS_CPPFLAGS += -DCPU_MODULE -DVFALLS_IMPL
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# The ATOMIC_BO_ENABLE_SHIFT enables backoff in atomic routines.
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# It is also used to scale final limit value w.r.t. number of
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# online cpus.
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffATOMIC_BO_FLAG = -DATOMIC_BO_ENABLE_SHIFT=4
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffCFLAGS += $(ATOMIC_BO_FLAG)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffCPPFLAGS +=$(ATOMIC_BO_FLAG)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffAS_CPPFLAGS += $(ATOMIC_BO_FLAG)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# Default build targets.
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff.KEEP_STATE:
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffdef: $(DEF_DEPS)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffall: $(ALL_DEPS)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffclean: $(CLEAN_DEPS)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffclobber: $(CLOBBER_DEPS)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcdufflint: $(LINT_DEPS)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffmodlintlib: $(MODLINTLIB_DEPS)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffclean.lint: $(CLEAN_LINT_DEPS)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffinstall: $(INSTALL_DEPS)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff$(CPULIB): $(BINARY)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff $(BUILD.SO) $(BINARY)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff$(SYM_MOD): $(UNIX_O) $(CPULIB)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff @echo "resolving symbols against unix.o"
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff @(cd $(UNIX_DIR); pwd; \
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff CPU_DIR=$(HERE) SYM_MOD=$(HERE)/$(SYM_MOD) $(MAKE) symcheck)
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# Include common targets.
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduffinclude $(UTSBASE)/$(PLATFORM)/Makefile.targ
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff