1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
/* $OpenBSD: board.h,v 1.19 2003/11/09 00:32:00 miod Exp $ */
/*
* Copyright (c) 1996 Nivas Madhur
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by Nivas Madhur.
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
/*
* Mach Operating System
* Copyright (c) 1991 Carnegie Mellon University
* Copyright (c) 1991 OMRON Corporation
* All Rights Reserved.
*
* Permission to use, copy, modify and distribute this software and its
* documentation is hereby granted, provided that both the copyright
* notice and this permission notice appear in all copies of the
* software, derivative works or modified versions, and any portions
* thereof, and that both notices appear in supporting documentation.
*
*/
#ifndef __MACHINE_BOARD_H__
#define __MACHINE_BOARD_H__
/*
* VME187 CPU board constants - derived from Luna88k
*/
#define MAX_CPUS 4 /* no. of CPUs */
#define MAX_CMMUS 8 /* 2 CMMUs per CPU - 1 data and 1 code */
#define SYSV_BASE 0x00000000 /* system virtual base */
#define MAXU_ADDR 0x40000000 /* size of user virtual space */
#define MAXPHYSMEM 0x10000000 /* max physical memory */
#define VMEA16 0xFFFF0000 /* VMEbus A16 */
#define VMEA16_SIZE 0x0000EFFF /* VMEbus A16 size */
#define VMEA32D16 0xFF000000 /* VMEbus A32/D16 */
#define VMEA32D16_SIZE 0x007FFFFF /* VMEbus A32/D16 size */
/* These need to be here because of the way m18x_cmmu.c
handles the CMMU's. */
#define CMMU_SIZE 0x1000
#define SBC_CMMU_I 0xFFF77000 /* Single Board Computer code CMMU */
#define SBC_CMMU_D 0xFFF7F000 /* Single Board Computer data CMMU */
#define VME_CMMU_I0 0xFFF7E000 /* MVME188 code CMMU 0 */
#define VME_CMMU_I1 0xFFF7D000 /* MVME188 code CMMU 1 */
#define VME_CMMU_I2 0xFFF7B000 /* MVME188 code CMMU 2 */
#define VME_CMMU_I3 0xFFF77000 /* MVME188 code CMMU 3 */
#define VME_CMMU_D0 0xFFF6F000 /* MVME188 data CMMU 0 */
#define VME_CMMU_D1 0xFFF5F000 /* MVME188 data CMMU 1 */
#define VME_CMMU_D2 0xFFF3F000 /* MVME188 data CMMU 2 */
#define VME_CMMU_D3 0xFFF7F000 /* MVME188 data CMMU 3 */
/* These are the hardware exceptions. */
#define INT_BIT 0x1 /* interrupt exception */
#define IACC_BIT 0x2 /* instruction access exception */
#define DACC_BIT 0x4 /* data access exception */
#define MACC_BIT 0x8 /* misaligned access exception */
#define UOPC_BIT 0x10 /* unimplemented opcode exception*/
#define PRIV_BIT 0x20 /* privilege violation exception*/
#define BND_BIT 0x40 /* bounds check violation */
#define IDE_BIT 0x80 /* illegal integer divide */
#define IOV_BIT 0x100 /* integer overflow exception */
#define ERR_BIT 0x200 /* error exception */
#define FPUP_BIT 0x400 /* FPU precise exception */
#define FPUI_BIT 0x800 /* FPU imprecise exception */
/* machine dependent definitions */
#if defined(MVME187) || defined(MVME197)
#include <machine/mvme1x7.h>
#endif
#ifdef MVME187
#include <machine/mvme187.h>
#endif
#ifdef MVME188
#include <machine/mvme188.h>
#endif
#ifdef MVME197
#include <machine/mvme197.h>
#endif
#endif /* __MACHINE_BOARD_H__ */
|