* ========== Copyright Header Begin ==========================================
* OpenSPARC T2 Processor File: apex_knobs.h
* Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved
* 4150 Network Circle, Santa Clara, California 95054, U.S.A.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
* For the avoidance of doubt, and except that if any non-GPL license
* choice is available it will apply instead, Sun elects to use only
* the General Public License version 2 (GPLv2) at this time for any
* software where a choice of GPL license versions is made
* available with the language indicating that GPLv2 or any later version
* may be used, or where a choice of which version of the GPL is applied is
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* ========== Copyright Header End ============================================
#define GMMU_EN 1 /* global IOMMU enable */
#define MMUC_EN 1 /* global iommu cache enable */
#define GBYP_EN 1 /* global bypass enable */
#define GINT_EN 1 /* global completion intx enable */
#define GMSI_EN 0 /* global completion msi enable */
#define GINTF_EN 1 /* global interference enable */
#define GLDST_EN 1 /* load store interference enable */
#define GCASA_EN 0 /* CASA interference in data area enable */
#define GCAS2_EN 0 /* CASA interference adjacent to data area enable */
#define GL2IF_EN 1 /* L2 interference enable */
#define GPIOI_EN 1 /* global PIO interference enable */
#define PIO00_EN 1 /* pio to ncx,ncu,piu csr space enable */
#define PIOCF_EN 1 /* pio to IO space enable (config) */
#define PIO32_EN 0 /* pio to IO space enable (mem32) */
#define PIO64_EN 1 /* pio to IO space enable (mem64) */
#define E0IMU_EN 1 /* per engine IOMMU enable */
#define E0PSZ_EN 1 /* per engine IOMMU page size random selection enable */
#define E0BYP_EN 1 /* per engine bypass enable */
#define E0INT_EN 1 /* per engine completion intx enable */
#define E0MSI_EN 0 /* per engine completion msi enable */
#define E0PLD_EN 1 /* per engine payload size floor enable */
#define E0FPL_EN 0 /* per engine fixed payload size enable */
#define E0BYC_EN 1 /* per engine byte count floor enable */
#define E0FBC_EN 1 /* per engine fixed byte count enable */
#define E0ROF_EN 1 /* per engine random offset enable */
#define E0DOMASK 0x7fc /* per engine data offset mask */
#define E0RRD_EN 1 /* per engine PIO read return delay floor enable */
#define E0DMW_EN 1 /* per engine dma memory write enable */
#define E0DMR_EN 1 /* per engine dma memory read enable */
#define E0ROP_EN 1 /* per engine random operation selection */
#define E0FIT_EN 0 /* user specified fixed interrupt thread */
#define E0M64_EN 1 /* mem64 memory block enable */
#define E0M32_EN 0 /* mem32 memory block enable */
#define E0RIT_EN 1 /* per engine random interrupt thread selection */
#define TROE_EN 0 /* tte relaxed ordering enable */
#define TROR_EN 1 /* tte relaxed ordering randomize */
#define E0RRS_EN 0 /* bobo random request size enable */
#define E0RRC_EN 0 /* bobo random request count enable */
#define RREQD_EN 0 /* bobo random request delay enable */
#define DROE_EN 0 /* dev relaxed ordering enable */
#define DROR_EN 1 /* dev relaxed ordering randomize */
#define TTEP2_EN 0 /* enable random tte flush */
#define TSBP2_EN 0 /* enable random tte cas */
#define INTP2_EN 0 /* enable random io mondos */
#define IGNERR_EN 0 /* ignore errors */
#define E0DCP_EN 0 /* enable dma copy operation */
#define HALT_EN 0 /* enable halt instruction */
#define BLKLS_EN 0 /* enable block load store */
#define SU4V_EN 1 /* enable sun4v mode iommu */
#define MPS0_EN 1 /* IOMMU TTE page size 0 (8K) enable */
#define MPS1_EN 1 /* IOMMU TTE page size 1 (64K) enable */
#define MPS3_EN 1 /* IOMMU TTE page size 3 (4M) enable */
#define MPS5_EN 1 /* IOMMU TTE page size 5 (256M) enable */
#define PIODW_EN 0 /* PIO double word read/write enable */
#define PIOWD_EN 1 /* PIO word read/write enable */
#define PIOHW_EN 0 /* PIO half word read/write enable */
#define PIOBY_EN 0 /* PIO byte read/write enable */
#define PSHR_EN 0 /* Pseudo share interference enable */
Maximum data xfer length must be word aligned & < (0x80000 - (0x2000 + 8)).
7dff8 or less should work.
#elif (LNGTH_MASK > 0x3fffc)
#define LNGTH_MASK 0x3fffc
#elif (LNGTH_MIN > 0x40000)
#define LNGTH_MIN 0x40000
#define REQ_DLY_REG 0x000f0000