HierarchyFilesModulesSignalsTasksFunctionsHelp

/******************************************************************************/ 
/*                                                                            */ 
/* Copyright (c) 1999 Sun Microsystems, Inc. All rights reserved.             */ 
/*                                                                            */ 
/* The contents of this file are subject to the current version of the Sun    */ 
/* Community Source License, microSPARCII ("the License"). You may not use    */ 
/* this file except in compliance with the License.  You may obtain a copy    */ 
/* of the License by searching for "Sun Community Source License" on the      */ 
/* World Wide Web at http://www.sun.com. See the License for the rights,      */ 
/* obligations, and limitations governing use of the contents of this file.   */ 
/*                                                                            */ 
/* Sun Microsystems, Inc. has intellectual property rights relating to the    */ 
/* technology embodied in these files. In particular, and without limitation, */ 
/* these intellectual property rights may include one or more U.S. patents,   */ 
/* foreign patents, or pending applications.                                  */ 
/*                                                                            */ 
/* Sun, Sun Microsystems, the Sun logo, all Sun-based trademarks and logos,   */ 
/* Solaris, Java and all Java-based trademarks and logos are trademarks or    */ 
/* registered trademarks of Sun Microsystems, Inc. in the United States and   */ 
/* other countries. microSPARC is a trademark or registered trademark of      */ 
/* SPARC International, Inc. All SPARC trademarks are used under license and  */ 
/* are trademarks or registered trademarks of SPARC International, Inc. in    */ 
/* the United States and other countries. Products bearing SPARC trademarks   */ 
/* are based upon an architecture developed by Sun Microsystems, Inc.         */ 
/*                                                                            */ 
/******************************************************************************/ 
// @(#)iotlb_defs.v	1.2 8/21/91
//******************** define IOTLB size parameters
`define IOTLBENTRIES 16
`define IOTLBTAG_WIDTH 42 
`define IOTLBDATA_WIDTH 28

//******************** define IOTLB tag entry 
// An IMASK bit =1 indicates that the corresponding INDEX field
//  should be ignored.
// A SUPERVISOR bit =1 indicates that a context match is NOT required.


/*********************************************************************************/
/**                  IOTLB TAG hardware representation                            **/
/**                                                                             **/
/**     +---+---+---------+--+-------+--+-------+-----------+---+---+---+---+---+---+---+---+---+---+   **/
/**     | V |L1 |  INDX1  |L2| INDX2 |L3| INDX3 |  Context  | UE| UR| UW| SE| SR| SW| S | IO| P | M |   **/
/**     +---+---+---------+--+-------+--+-------+-----------+---+---+---+---+---+---+---+---+---+---+   **/
/**      41  40  39     32 31 30   25 24 23   18 17       10  9   8   7   6   5   4   3   2   1    0    **/
/**     +---+---+---------+--+-------+--+-------+-----------+---+---+---+---+---+---+---+---+---+---+   **/
/**     | V |L1 |  INDX1  |L2| INDX2 |L3| INDX3 |     0     | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |   **/
/**     +---+---+---------+--+-------+--+-------+-----------+---+---+---+---+---+---+---+---+---+---+   **/
/*********************************************************************************/


`define VALIDBIT 41                 /* V-bit                tlb_tag[31] */
`define IMASK0 40                   /* level bit 1          tlb_tag[33] */
				    /* this is used to clear all */
`define IMASK1 31                   /* Level bit 2          tlb_tag[22] */
`define IMASK2 24                   /* Level bit 3          tlb_tag[15] */
`define INDEX1 39:32                /* Virtual tag index 1  tlb_tag[30:23] */
`define INDEX2 30:25                /* Virtual tag index 2  tlb_tag[21:16] */
`define INDEX3 23:18                 /* Virtual tag index 3  tlb_tag[14:09] */
`define CONTEXT 17:10                /* Context              tlb_tag[08:03] */
`define SUPERVISOR 3                /* S-bit                tlb_tag[02] */
`define IO_PTE 2                    /* IO-bit               tlb_tag[01] */
`define PTP_BIT 1                   /* PTP-bit              tlb_tag[00] */
`define UE 9
`define UR 8
`define UW 7
`define SE 6
`define SR 5
`define SW 4
`define M  0

//******************** define IOTLB data entry types

/*************************************************************************/
/**                      IOTLB DATA representation                        **/
/**                                                                     **/
/**          PTE                                                             **/
/**     +-----+-------------------------*---+---+---+---+-----------+      **/
/**     |lvl  |Physical Page Number (PPN)   | C | M | 1 |     ACC   |      **/
/**     +-----+-----------------------------+---+---+---+-----------+      **/
/**      27 25 24			     6  5   4   3  2         0       **/
/**                                                                     **/
/**     IOPTE                                                           **/
/**     +--------------------------------+---+---+---+---+---+---+      **/
/**     |   Physical Page Number (PPN)   | 0 | 0 | 0 | 0 | 0 | W |      **/
/**     +--------------------------------+---+---+---+---+---+---+      **/
/**      24                             6  5   4   3   2   1   0        **/
/**                                                                     **/
/**     PTP                                                             **/
/**     +------------------------------------------------+---+---+      **/
/**     |   Page Table Pointer (PTP)                     | 0 | 0 |      **/
/**     +------------------------------------------------+---+---+      **/
/**      24                                             2  1   0        **/
/**                                                                     **/
/*************************************************************************/

// **** define PTE entry fields
`define PPN 24:6
`define C_BIT 5                      /* Cacheable bit */
`define MOD_BIT 4                    /* Modified bit */
`define REF_BIT 3                    /* Reference Bit - a "1" indicates an PTE */
`define ACCESS 2:0                   /* Access field */

// **** define IOPTE entry fields
`define W_BIT 0
`define IO_BIT 3                     /* Reference Bit - a "0" indicates an IOPTE */

// **** define PTP entry fields
`define PTP 24:2

// **** define LVL entry field 

`define LVL 27:25

// **** define CLR_MASK to be used to flush entire IOTLB
`define CLR_MASK 42'h1ffffffffff

HierarchyFilesModulesSignalsTasksFunctionsHelp

This page: Created:Thu Aug 19 12:01:05 1999
From: ../../../sparc_v8/ssparc/pcic/afxmaster/rtl/iotlb_defs.h

Verilog converted to html by v2html 5.0 (written by Costas Calamvokis).Help