changeset 9d6c5bc4e1f9 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=9d6c5bc4e1f9
description:
        Added ALPHA_ACCESS_BASE to get rid of machine_defs.h

diffstat:

 system/alpha/console/console.c |   14 +-
 system/alpha/h/machine_defs.h  |  635 -----------------------------------------
 2 files changed, 6 insertions(+), 643 deletions(-)

diffs (truncated from 705 to 300 lines):

diff -r 916491cca643 -r 9d6c5bc4e1f9 system/alpha/console/console.c
--- a/system/alpha/console/console.c    Tue May 18 16:32:59 2004 -0400
+++ b/system/alpha/console/console.c    Tue May 18 20:11:58 2004 -0400
@@ -15,7 +15,6 @@
 
 #define CONSOLE
 #include "alpha_access.h"
-#include "machine_defs.h"
 
 #if 0
 #include "new_aouthdr.h"
@@ -34,8 +33,7 @@
 #define K1BASE 0xfffffc8000000000
 #define KSEG_TO_PHYS(x)(((ul)x) & ~KSEG)
 
-#define CDR ((volatile DevConsoleRegisters *) \
-             (__MAGIC_ZONE(0, 0, MAGIC_ZONE_BDOOR_DEV) + 
__MAGIC_BDOOR_CNSLE_OFFS))
+#define ALPHA_ACCESS_BASE 0xfffffc8000a00000
 
 
 #define PHYS_TO_K1(_x) (K1BASE|(_x))
@@ -118,7 +116,7 @@
 
 char GetChar()
 {
-   struct AlphaAccess *k1Conf = (struct AlphaAccess *)(__MAGIC_ZONE(0, 0, 
MAGIC_ZONE_EV5_ALIAS));
+   struct AlphaAccess *k1Conf = (struct AlphaAccess *)(ALPHA_ACCESS_BASE);
    return k1Conf->inputChar;
 }
 
@@ -130,7 +128,7 @@
 #if 0
    *(int*) PHYS_TO_K1(SLOT_D_COM1<<5) = c;
 #endif
-   struct AlphaAccess *k1Conf = (struct AlphaAccess *)(__MAGIC_ZONE(0, 0, 
MAGIC_ZONE_EV5_ALIAS));
+   struct AlphaAccess *k1Conf = (struct AlphaAccess *)(ALPHA_ACCESS_BASE);
    k1Conf->outputChar = c;
 
 }
@@ -144,7 +142,7 @@
 main(int argc, char **argv)
 {
    int x,i;
-   struct AlphaAccess *k1Conf = (struct AlphaAccess *)(__MAGIC_ZONE(0, 0, 
MAGIC_ZONE_EV5_ALIAS));
+   struct AlphaAccess *k1Conf = (struct AlphaAccess *)(ALPHA_ACCESS_BASE);
    ui *k1ptr,*ksegptr;
 
 
@@ -828,7 +826,7 @@
      int i;
      for (i=1;i<simosConf.numCPUs;i++) {
         volatile struct AlphaAccess *k1Conf = (volatile struct AlphaAccess *)
-           (__MAGIC_ZONE(0, 0, MAGIC_ZONE_EV5_ALIAS));
+           (ALPHA_ACCESS_BASE);
         SpinLock(&theLock);
         printf("Bootstraping CPU %d with sp=0x%x \n",
                i,bootStrapImpure[i]);
@@ -970,7 +968,7 @@
 DeviceOperation(long op, long channel, long count, long address, long block)
 {
    struct AlphaAccess *k1Conf = (struct AlphaAccess *)
-      (__MAGIC_ZONE(0, 0, MAGIC_ZONE_EV5_ALIAS));
+      (ALPHA_ACCESS_BASE);
 
    long pAddr;
 
diff -r 916491cca643 -r 9d6c5bc4e1f9 system/alpha/h/machine_defs.h
--- a/system/alpha/h/machine_defs.h     Tue May 18 16:32:59 2004 -0400
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,635 +0,0 @@
-/*
- * Copyright (C) 1998 by the Board of Trustees
- *    of Leland Stanford Junior University.
- * Copyright (C) 1998 Digital Equipment Corporation
- *
- * This file is part of the SimOS distribution.
- * See LICENSE file for terms of the license.
- *
- */
-
-  /***********************************************************************
-
-     machine_defs.h
-
-   ***********************************************************************/
-
-  /*************************************************************************
-   *                                                                       *
-   *               Copyright (C) 1993-1996 Stanford University             *
-   *                                                                       *
-   *  These coded instructions, statements, and computer programs contain  *
-   *  unpublished proprietary information of Stanford University, and      *
-   *  are protected by Federal copyright law.  They may not be disclosed   *
-   *  to third parties or copied or duplicated in any form, in whole or    *
-   *  in part, without the prior written consent of Stanford University.   *
-   *                                                                       *
-   *************************************************************************/
-
-#ifndef __DPGCC__
-#ifndef _HEADER_STACK_
-#define _HEADER_STACK_
-#endif
-#endif
-
-#ifndef _MACHINE_DEFS_H
-#define _MACHINE_DEFS_H
-
-/*
- * Created by: Dan Teodosiu, 07/96
- *
- * This header file defines the OS view of the MAGIC service address space
- * and of the device registers.
- *
- * The service address space addresses used by the OS are VIRTUAL addresses.
- * Depending on whether we simulate a 32 bit or a 64 bit processor,
- * the service address mappings will be different. MAGIC physical addresses
- * are 40 bits wide, so in 32 bit mode (current SimOS) we had to squeeze
- * the service address space into less address bits.
- *
- * There are two kinds of macros in this file:
- *
- *  - MAGIC definitions, pertaining to the services offered by the
- *    MAGIC node controller. All these macros start with MAGIC_...,
- *    Those definitions are further subdivided into ones which do not
- *    depend on the address mappings (such as MAGIC register numbers,
- *    error codes, etc.), and ones which do (such as the macros that help
- *    construct MAGIC PPR addresses).
- *    The current simulated MAGIC only supports doubleword accesses.
- *
- *  - devices register definitions, of the form DEV_... These defs
- *    describe the various device registers. Devices are accessed by
- *    performing uncached word (32bit) reads and writes to their registers.
- *
- * Notes:
- *    The macro SIMOS64BIT selects the 64 bit version of those definitions;
- *    by default, you get the 32 bit version. 64 bit is currently not
- *    implemented.
- *
- * Related documents:
- *  - FLASH: Physical Address Layout
- *  - FLASH: PP Software Services
- *  - SimOS to FLASH Physical Address Mapping
- *
- */
-
-
-/***************************************************************************
- MAGIC defs which do not depend on the virtual -> physical address mapping
- ***************************************************************************/
-
-/** zone numbering for service address space **/
-
-#define MAGIC_ZONE_FRAM_ALIAS       0
-#define MAGIC_ZONE_PPR_ALIAS        1
-#define MAGIC_ZONE_PPC_ALIAS        2
-#define MAGIC_ZONE_FIREWALL         3
-#define MAGIC_ZONE_DMAMAP           4
-#define MAGIC_ZONE_SWTLB            5
-#define MAGIC_ZONE_MISSCNT          6
-#define MAGIC_ZONE_NODEMAP          7
-#define MAGIC_ZONE_PPR              8
-#define MAGIC_ZONE_PPC              9
-#define MAGIC_ZONE_MILO_ALIAS       10
-#define MAGIC_ZONE_EV5_ALIAS        10
-#define MAGIC_ZONE_NODECOMM         11        /* node communication zone */
-                                              /* do not def zone 12: see below 
why */
-#define MAGIC_ZONE_BDOOR_DEV        14        /* backdoor area for devices */
-#define MAGIC_ZONE_FPROM_ALIAS      15
-
-#ifndef SIMOS64BIT
-#undef  MAGIC_ZONE_FPROM_ALIAS                /* In 32bit Simos, 0xbfc00000 
maps to... */
-#define MAGIC_ZONE_FPROM_ALIAS      12        /* ... zone 12 */
-#endif
-
-/** PPR numbering **/
-
-/* Individual MAGIC registers */
-
-#define MAGIC_PPR_IECHIGH            0x0000    /* r */
-#define MAGIC_PPR_ACKINTERNAL        0x0001    /* w */
-#define MAGIC_PPR_IECENABLE          0x0002    /* r/w */
-#define MAGIC_PPR_SENDIPI            0x0003    /* w */
-#define MAGIC_PPR_OPSPACE            0x0004    /* r/w */
-#define MAGIC_PPR_ASID               0x0005    /* r/w */
-#define MAGIC_PPR_TLBINVAL           0x0006    /* w */
-#define MAGIC_PPR_TLBINUSE           0x0007    /* r */
-#define MAGIC_PPR_MSGTAG             0x0008    /* r/w */
-#define MAGIC_PPR_STALLOSPC          0x0009    /* r/w */
-#define MAGIC_PPR_CYCLECOUNT         0x000a    /* r */
-#define MAGIC_PPR_NETMSGTIME         0x000b    /* r */
-#define MAGIC_PPR_RESERVED_C         0x000c    /* */
-#define MAGIC_PPR_RESERVED_D         0x000d    /* */
-#define MAGIC_PPR_RESERVED_E         0x000e    /* */
-#define MAGIC_PPR_RESERVED_F         0x000f    /* */
-
-#define MAGIC_PPR_UNUSED10           0x0010    /* r */
-#define MAGIC_PPR_PROTVERSION        0x0011    /* r */
-#define MAGIC_PPR_HWVERSION          0x0012    /* r */
-#define MAGIC_PPR_REMAPMASK          0x0013    /* r/w */
-#define MAGIC_PPR_PROTCONTROL        0x0014    /* r/w */
-#define MAGIC_PPR_RESERVED_15        0x0015    /* */
-#define MAGIC_PPR_RESERVED_16        0x0016    /* */
-#define MAGIC_PPR_RESERVED_17        0x0017    /* */
-#define MAGIC_PPR_OUTOFRANGE         0x0018    /* r */
-#define MAGIC_PPR_INTERVAL           0x0019    /* r/w */
-#define MAGIC_PPR_SLOTMAP            0x001a    /* r/w */
-#define    MAGIC_SLOTMAP_SLOT0_OFFS         0
-#define    MAGIC_SLOTMAP_SLOT0_MASK         0x00000000000000FFLL
-#define    MAGIC_SLOTMAP_SLOT1_OFFS         8
-#define    MAGIC_SLOTMAP_SLOT1_MASK         0x000000000000FF00LL
-#define    MAGIC_SLOTMAP_SLOT2_OFFS         16
-#define    MAGIC_SLOTMAP_SLOT2_MASK         0x0000000000FF0000LL
-#define    MAGIC_SLOTMAP_SLOT3_OFFS         24
-#define    MAGIC_SLOTMAP_SLOT3_MASK         0x00000000FF000000LL
-#define MAGIC_PPR_FWSHIFT            0x001b    /* r/w */
-#define MAGIC_PPR_RECOVERYSYNC       0x001c    /* r */
-#define    MAGIC_RECOVERYSYNC_PHASE_MASK    0xF000000000000000LL;
-#define    MAGIC_RECOVERYSYNC_PHASE_SHIFT   60
-#define    MAGIC_RECOVERYSYNC_PHASE_ZERO    (0x0LL << 
MAGIC_RECOVERYSYNC_PHASE_SHIFT)
-#define    MAGIC_RECOVERYSYNC_PHASE_ONE     (0x1LL << 
MAGIC_RECOVERYSYNC_PHASE_SHIFT)
-#define    MAGIC_RECOVERYSYNC_PHASE_TWO     (0x2LL << 
MAGIC_RECOVERYSYNC_PHASE_SHIFT)
-#define    MAGIC_RECOVERYSYNC_PHASE_THREE   (0x3LL << 
MAGIC_RECOVERYSYNC_PHASE_SHIFT)
-#define    MAGIC_RECOVERYSYNC_TIMESTAMP_MASK  0x0FFFFFFFFFFFFFFFLL
-#define    MAGIC_RECOVERYSYNC_TIMESTAMP_SHIFT 0
-#define MAGIC_PPR_REPORT_DIAG_RESULT 0x001d    /* w */
-#define    MAGIC_REPORT_PASS_DIAG           0  /* other values indicate fail */
-#define MAGIC_PPR_RESERVED_1E        0x001e    /* w */
-#define MAGIC_PPR_DRAIN_POLL         0x001f    /* r */
-
-#define MAGIC_PPR_NODECONFIG         0x0020    /* r */
-#define    MAGIC_NODECONFIG_THISNODE_OFFS    0
-#define    MAGIC_NODECONFIG_THISNODE_MASK    0x0000000000000fffLL
-#define    MAGIC_NODECONFIG_FIRSTNODE_OFFS   12
-#define    MAGIC_NODECONFIG_FIRSTNODE_MASK   0x0000000000fff000LL
-#define    MAGIC_NODECONFIG_NODESINCELL_OFFS 24
-#define    MAGIC_NODECONFIG_NODESINCELL_MASK 0x0000000fff000000LL
-#define    MAGIC_NODECONFIG_THISCELL_OFFS    36
-#define    MAGIC_NODECONFIG_THISCELL_MASK    0x0000fff000000000LL
-#define    MAGIC_NODECONFIG_NCELLS_OFFS      48
-#define    MAGIC_NODECONFIG_NCELLS_MASK      0x0fff000000000000LL
-
-#define    MAGIC_NODECONFIG_THISNODE(val)                                  \
- (((val)&MAGIC_NODECONFIG_THISNODE_MASK)>>MAGIC_NODECONFIG_THISNODE_OFFS)
-#define    MAGIC_NODECONFIG_FIRSTNODE(val)                                 \
- (((val)&MAGIC_NODECONFIG_FIRSTNODE_MASK)>>MAGIC_NODECONFIG_FIRSTNODE_OFFS)
-#define    MAGIC_NODECONFIG_NODESINCELL(val)                               \
- (((val)&MAGIC_NODECONFIG_NODESINCELL_MASK)>>MAGIC_NODECONFIG_NODESINCELL_OFFS)
-#define    MAGIC_NODECONFIG_THISCELL(val)                                  \
- (((val)&MAGIC_NODECONFIG_THISCELL_MASK)>>MAGIC_NODECONFIG_THISCELL_OFFS)
-#define    MAGIC_NODECONFIG_NCELLS(val)                                    \
- (((val)&MAGIC_NODECONFIG_NCELLS_MASK)>>MAGIC_NODECONFIG_NCELLS_OFFS)
-
-#define MAGIC_PPR_ADDRCONFIG         0x0021    /* r */
-#define    MAGIC_ADDRCONFIG_PAGES_OFFS       0
-#define    MAGIC_ADDRCONFIG_PAGES_MASK       0x0000ffffffffLL
-#define    MAGIC_ADDRCONFIG_NNBITS_OFFS      32
-#define    MAGIC_ADDRCONFIG_NNBITS_MASK      0x00ff00000000LL
-#define    MAGIC_ADDRCONFIG_MASBITS_OFFS     40
-#define    MAGIC_ADDRCONFIG_MASBITS_MASK     0xff0000000000LL
-
-#define    MAGIC_ADDRCONFIG_PAGES(val) \
- (((val)&MAGIC_ADDRCONFIG_PAGES_MASK)>>MAGIC_ADDRCONFIG_PAGES_OFFS)
-#define    MAGIC_ADDRCONFIG_NNBITS(val)                                    \
- (((val)&MAGIC_ADDRCONFIG_NNBITS_MASK)>>MAGIC_ADDRCONFIG_NNBITS_OFFS)
-#define    MAGIC_ADDRCONFIG_MASBITS(val)                                   \
- (((val)&MAGIC_ADDRCONFIG_MASBITS_MASK)>>MAGIC_ADDRCONFIG_MASBITS_OFFS)
-
-/* OSPC mirror in uncached space (used by FPROM) */
-#define MAGIC_PPR_OSPC               0x1000    /* r */
-
-
-/** PPC error codes **/
-
-#define MAGIC_PPC_NOT_SUCCESSFUL_BIT   0x8000000000000000LL /* set for error */
-/* these return values should be ORed with the "not successful" bit */
-#define MAGIC_PPC_RETRY_CODE           0x00   /* please retry request 
(default) */
-#define MAGIC_PPC_BADGROUP             0x01   /* PPC group was invalid */
-#define MAGIC_PPC_BADOPCODE            0x02   /* PPC opcode was invalid */
-#define MAGIC_PPC_ARGOUTOFRANGE        0x03   /* some arg to the PPC was bad */
-#define MAGIC_PPC_BUSY                 0x04   /* operation needed some
-                                               * resource that was unavail */
-/* these results indicate the request cannot be serviced, and it should
-   not be retried.  The interpretation of these is protocol-dependent
-   One example is: the physical pages are remote.  The application
-   can't know this, but the sequence was otherwise valid.  If a protocol
-   can't handle remote pages, this is a possibility. So, e.g. fmemcpy
-   uses PROT_FAIL1 to indicate it can't handle the pages.  See the
-   individual _interface files to describe the interpretation*/
-#define MAGIC_PPC_PROT_FAIL1           0x11
-#define MAGIC_PPC_PROT_FAIL2           0x12
-#define MAGIC_PPC_PROT_FAIL3           0x13
-#define MAGIC_PPC_RETRY                
(MAGIC_PPC_NOT_SUCCESSFUL_BIT|MAGIC_PPC_RETRY_CODE)
-
-/** PPC groups **/
-
-#define MAGIC_PPC_GROUP_KERNEL       0x000
-#define MAGIC_PPC_GROUP_MSG          0x001
-
-/** kernel group opcodes **/
-
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to