[BACK]Return to idt.h CVS log [TXT][DIR] Up to [local] / sys / arch / solbourne / include

Annotation of sys/arch/solbourne/include/idt.h, Revision 1.1

1.1     ! nbrk        1: /*     $OpenBSD: idt.h,v 1.1 2005/04/19 21:30:17 miod Exp $    */
        !             2: /*
        !             3:  * Copyright (c) 2005, Miodrag Vallat
        !             4:  *
        !             5:  * Redistribution and use in source and binary forms, with or without
        !             6:  * modification, are permitted provided that the following conditions
        !             7:  * are met:
        !             8:  * 1. Redistributions of source code must retain the above copyright
        !             9:  *    notice, this list of conditions and the following disclaimer.
        !            10:  * 2. Redistributions in binary form must reproduce the above copyright
        !            11:  *    notice, this list of conditions and the following disclaimer in the
        !            12:  *    documentation and/or other materials provided with the distribution.
        !            13:  *
        !            14:  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
        !            15:  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
        !            16:  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
        !            17:  * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
        !            18:  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
        !            19:  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
        !            20:  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
        !            21:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
        !            22:  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
        !            23:  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
        !            24:  * POSSIBILITY OF SUCH DAMAGE.
        !            25:  */
        !            26:
        !            27: #ifndef        _SOLBOURNE_IDT_H_
        !            28: #define        _SOLBOURNE_IDT_H_
        !            29:
        !            30: /*
        !            31:  * Definitions for the core chips found on the IDT motherboard.
        !            32:  *
        !            33:  * All addresses are physical.
        !            34:  */
        !            35:
        !            36: /*
        !            37:  * iGLU: GLUE Logic
        !            38:  */
        !            39:
        !            40: #define        GLU_BASE        0x60000000
        !            41:
        !            42: /* profiling timer (level 14) */
        !            43: #define        GLU_L14_DIVISOR 0x60000000
        !            44: #define        GLU_L14_RESOLUTION      (256 / 5)       /* in microseconds */
        !            45: #define        GLU_L14_ENABLE  0x60000008
        !            46: #define        GLU_L14_IACK    0x6000000c
        !            47:
        !            48: /* scheduling timer (level 10) */
        !            49: #define        GLU_L10_IACK    0x60000800
        !            50:
        !            51: /* board status register */
        !            52: #define        GLU_BSR         0x60001800
        !            53: #define        GBSR_LED_MASK           0x07
        !            54: #define        GBSR_LED_OFF            00
        !            55: #define        GBSR_LED_AMBER          02
        !            56: #define        GBSR_LED_AMBER_BLINK    03
        !            57: #define        GBSR_LED_GREEN          04
        !            58: #define        GBSR_LED_GREEN_BLINK    05
        !            59: #define        GBSR_LED_BOTH_BLINK     07
        !            60: #define        GBSR_DIAG               0x08
        !            61: #define        GBSR_WARM               0x10
        !            62: #define        GBSR_NMI                0x20
        !            63:
        !            64: /* board diagnostic register */
        !            65: #define        GLU_DIAG        0x60001808
        !            66: #define        GD_EXTRA_MEMORY         0x10
        !            67: #define        GD_36MHZ                0x20
        !            68: #define        GD_L2_CACHE             0x40
        !            69:
        !            70: /* interrupt control register */
        !            71: #define        GLU_ICR         0x60002000
        !            72: #define        GICR_DISPATCH_MASK      0x0000000f      /* post a software interrupt */
        !            73: #define        GICR_DISABLE_ALL        0x00000010
        !            74:
        !            75: /* programmable interrupt levels for sbus and onboard audio */
        !            76: #define        GLU_SBUS1       0x60002008
        !            77: #define        GLU_SBUS2       0x60002010
        !            78: #define        GLU_SBUS3       0x60002018
        !            79: #define        GLU_SBUS4       0x60002020
        !            80: #define        GLU_SBUS5       0x60002028
        !            81: #define        GLU_SBUS6       0x60002030
        !            82: #define        GLU_SBUS7       0x60002038
        !            83: #define        GLU_AUDIO       0x60002040
        !            84:
        !            85: /* reset register */
        !            86: #define        GLU_RESET       0x60002800
        !            87:
        !            88: /* programmable base for on-board i/o devices */
        !            89: #define        GLU_IOBASE      0x60003800
        !            90:
        !            91: /*
        !            92:  * iMC: Memory Controller
        !            93:  */
        !            94:
        !            95: #define        MC_BASE         0x70000000
        !            96:
        !            97: #define        MC0_MCR         0x70000001
        !            98: #define        MC1_MCR         0x71000001      /* may be missing */
        !            99: #define        MCR_BANK1_AVAIL         0x08
        !           100: #define        MCR_BANK0_AVAIL         0x04
        !           101: #define        MCR_BANK1_32M           0x02
        !           102: #define        MCR_BANK0_32M           0x01
        !           103:
        !           104: /*
        !           105:  * iCU: DMA and Interrupt Controller
        !           106:  */
        !           107:
        !           108: #define        ICU_BASE        0x50000000
        !           109:
        !           110: /* interrupt status register */
        !           111: #define        ICU_ISR         0x50000000
        !           112: #define        ISR_S0_DMA_SECC         0x00000001
        !           113: #define        ISR_S0_DMA_MECC         0x00000002
        !           114: #define        ISR_S0_DMA_SERR         0x00000004
        !           115: #define        ISR_S1_DMA_SECC         0x00000008
        !           116: #define        ISR_S1_DMA_MECC         0x00000010
        !           117: #define        ISR_S1_DMA_SERR         0x00000020
        !           118: #define        ISR_S2_DMA_SECC         0x00000040
        !           119: #define        ISR_S2_DMA_MECC         0x00000080
        !           120: #define        ISR_S2_DMA_SERR         0x00000100
        !           121: #define        ISR_EN_DMA_SECC         0x00000200
        !           122: #define        ISR_EN_DMA_MECC         0x00000400
        !           123: #define        ISR_EN_DMA_SERR         0x00000800
        !           124: #define        ISR_SCSI_DMA_SECC       0x00001000
        !           125: #define        ISR_SCSI_DMA_MECC       0x00002000
        !           126: #define        ISR_SCSI_DMA_SERR       0x00004000
        !           127: #define        ISR_RIO_NMI_ENABLE      0x00008000
        !           128: #define        ISR_DMA_NMI_ENABLE      0x00010000
        !           129: #define        ISR_ICU_INT_ENABLE      0x00020000
        !           130: #define        ISR_SECC_COUNT          0x003c0000
        !           131: #define        ISR_SECC_OVERFLOW       0x00400000
        !           132: #define        ISR_MEMDEC_MISS         0x00800000
        !           133: #define        ISR_XLAT_INVALID        0x01000000
        !           134: #define        ISR_WIN_MISS            0x02000000
        !           135: #define        ISR_FAULT               0x04000000
        !           136: #define        ISR_S0_RIO_ERR          0x08000000
        !           137: #define        ISR_S1_RIO_ERR          0x10000000
        !           138: #define        ISR_S2_RIO_ERR          0x20000000
        !           139: #define        ISR_EN_RIO_ERR          0x40000000
        !           140: #define        ISR_RIO_RETRY_TMO       0x80000000
        !           141:
        !           142: #define        ISR_BITS        "\020" \
        !           143:        "\01S0_SECC\02S0_MECC\03S0_SERR\04S1_SECC\05S1_MECC\06S1_SERR" \
        !           144:        "\07S2_SECC\10S2_MECC\11S2_SERR\12EN_SECC\13EN_MECC\14EN_SERR" \
        !           145:        "\15SCSI_SECC\16SCSSI_MECC\17SCSI_SERR\20RIO_NMIE\21DMA_NMIE\22ICU_IE" \
        !           146:        "\27SECC_OVERFLOW\30MEMDEC_MISS\31XLAT_INVALID\32WIN_MISS\33FAULT" \
        !           147:        "\34S0_RIO\35S1_RIO\36S2_RIO\37RIO_TMO"
        !           148:
        !           149: #define        ICU_TIR         0x50000008
        !           150:
        !           151: #define        ICU_TER         0x5000000c
        !           152: #define        TER_S0                  0x00000002
        !           153: #define        TER_S1                  0x00000004
        !           154: #define        TER_S2                  0x00000008
        !           155: #define        TER_ETHERNET            0x00000010
        !           156: #define        TER_SCSI                0x00000020
        !           157: #define        TER_IO_DISABLE          0x00000040
        !           158: #define        TER_W_COMP_DIS          0x00000080
        !           159:
        !           160: #define        ICU_TWR         0x50000010
        !           161:
        !           162: #define        ICU_TRR         0x50000014
        !           163:
        !           164: #define        ICU_CONF        0x50000018
        !           165: #define        CONF_ECC_ENABLE         0x00000004
        !           166: #define        CONF_NO_EXTRA_MEMORY    0x00000008
        !           167: #define        CONF_SBUS_25MHZ         0x00000020
        !           168: #define        CONF_SLOW_DMA_WRITE     0x00000080
        !           169: #define        CONF_SLOW_DMA_READ      0x00000100
        !           170: #define        CONF_ICACHE_DISABLE     0x00000400
        !           171:
        !           172: /*
        !           173:  * Onboard devices
        !           174:  */
        !           175:
        !           176: #define        SE_BASE         0x40000000      /* scsi and ethernet */
        !           177: #define        NVRAM_BASE      0x80000000
        !           178: #define        ZS1_BASE        0x80004000
        !           179: #define        ZS0_BASE        0x80008000
        !           180: #define        FDC_BASE        0x8000c000
        !           181: #define        AUDIO_BASE      0x80010000
        !           182: #define        TODCLOCK_BASE   0x80014000
        !           183:
        !           184: /* we map the following range 1:1 in kernel space */
        !           185: #define        OBIO_PA_START   0x80000000
        !           186: #define        OBIO_PA_END     0x80018000
        !           187:
        !           188: #endif /* _SOLBOURNE_IDT_H_ */

CVSweb