cpu.h (178172) | cpu.h (202031) |
---|---|
1/* $OpenBSD: cpu.h,v 1.4 1998/09/15 10:50:12 pefo Exp $ */ 2 3/*- 4 * Copyright (c) 1992, 1993 5 * The Regents of the University of California. All rights reserved. 6 * 7 * This code is derived from software contributed to Berkeley by 8 * Ralph Campbell and Rick Macklem. --- 27 unchanged lines hidden (view full) --- 36 * its documentation for any purpose and without fee is hereby granted, 37 * provided that the above copyright notice appears in all copies. 38 * Digital Equipment Corporation makes no representations about the 39 * suitability of this software for any purpose. It is provided "as is" 40 * without express or implied warranty. 41 * 42 * from: @(#)cpu.h 8.4 (Berkeley) 1/4/94 43 * JNPR: cpu.h,v 1.9.2.2 2007/09/10 08:23:46 girish | 1/* $OpenBSD: cpu.h,v 1.4 1998/09/15 10:50:12 pefo Exp $ */ 2 3/*- 4 * Copyright (c) 1992, 1993 5 * The Regents of the University of California. All rights reserved. 6 * 7 * This code is derived from software contributed to Berkeley by 8 * Ralph Campbell and Rick Macklem. --- 27 unchanged lines hidden (view full) --- 36 * its documentation for any purpose and without fee is hereby granted, 37 * provided that the above copyright notice appears in all copies. 38 * Digital Equipment Corporation makes no representations about the 39 * suitability of this software for any purpose. It is provided "as is" 40 * without express or implied warranty. 41 * 42 * from: @(#)cpu.h 8.4 (Berkeley) 1/4/94 43 * JNPR: cpu.h,v 1.9.2.2 2007/09/10 08:23:46 girish |
44 * $FreeBSD: head/sys/mips/include/cpu.h 178172 2008-04-13 07:27:37Z imp $ | 44 * $FreeBSD: head/sys/mips/include/cpu.h 202031 2010-01-10 19:50:24Z imp $ |
45 */ 46 47#ifndef _MACHINE_CPU_H_ 48#define _MACHINE_CPU_H_ 49 50#include <machine/psl.h> 51#include <machine/endian.h> 52 53#define MIPS_CACHED_MEMORY_ADDR 0x80000000 54#define MIPS_UNCACHED_MEMORY_ADDR 0xa0000000 55#define MIPS_MAX_MEM_ADDR 0xbe000000 56#define MIPS_RESERVED_ADDR 0xbfc80000 57 58#define MIPS_KSEG0_LARGEST_PHYS 0x20000000 | 45 */ 46 47#ifndef _MACHINE_CPU_H_ 48#define _MACHINE_CPU_H_ 49 50#include <machine/psl.h> 51#include <machine/endian.h> 52 53#define MIPS_CACHED_MEMORY_ADDR 0x80000000 54#define MIPS_UNCACHED_MEMORY_ADDR 0xa0000000 55#define MIPS_MAX_MEM_ADDR 0xbe000000 56#define MIPS_RESERVED_ADDR 0xbfc80000 57 58#define MIPS_KSEG0_LARGEST_PHYS 0x20000000 |
59#define MIPS_CACHED_TO_PHYS(x) ((unsigned)(x) & 0x1fffffff) 60#define MIPS_PHYS_TO_CACHED(x) ((unsigned)(x) | MIPS_CACHED_MEMORY_ADDR) 61#define MIPS_UNCACHED_TO_PHYS(x) ((unsigned)(x) & 0x1fffffff) 62#define MIPS_PHYS_TO_UNCACHED(x) ((unsigned)(x) | MIPS_UNCACHED_MEMORY_ADDR) | 59#define MIPS_CACHED_TO_PHYS(x) ((uintptr_t)(x) & 0x1fffffff) 60#define MIPS_PHYS_TO_CACHED(x) ((uintptr_t)(x) | MIPS_CACHED_MEMORY_ADDR) 61#define MIPS_UNCACHED_TO_PHYS(x) ((uintptr_t)(x) & 0x1fffffff) 62#define MIPS_PHYS_TO_UNCACHED(x) ((uintptr_t)(x) | MIPS_UNCACHED_MEMORY_ADDR) |
63 64#define MIPS_PHYS_MASK (0x1fffffff) 65#define MIPS_PA_2_K1VA(x) (MIPS_KSEG1_START | ((x) & MIPS_PHYS_MASK)) 66 | 63 64#define MIPS_PHYS_MASK (0x1fffffff) 65#define MIPS_PA_2_K1VA(x) (MIPS_KSEG1_START | ((x) & MIPS_PHYS_MASK)) 66 |
67#define MIPS_VA_TO_CINDEX(x) ((unsigned)(x) & 0xffffff | MIPS_CACHED_MEMORY_ADDR) | 67#define MIPS_VA_TO_CINDEX(x) ((uintptr_t)(x) & 0xffffff | MIPS_CACHED_MEMORY_ADDR) |
68#define MIPS_CACHED_TO_UNCACHED(x) (MIPS_PHYS_TO_UNCACHED(MIPS_CACHED_TO_PHYS(x))) 69 | 68#define MIPS_CACHED_TO_UNCACHED(x) (MIPS_PHYS_TO_UNCACHED(MIPS_CACHED_TO_PHYS(x))) 69 |
70#define MIPS_PHYS_TO_KSEG0(x) ((unsigned)(x) | MIPS_KSEG0_START) 71#define MIPS_PHYS_TO_KSEG1(x) ((unsigned)(x) | MIPS_KSEG1_START) 72#define MIPS_KSEG0_TO_PHYS(x) ((unsigned)(x) & MIPS_PHYS_MASK) 73#define MIPS_KSEG1_TO_PHYS(x) ((unsigned)(x) & MIPS_PHYS_MASK) | 70#define MIPS_PHYS_TO_KSEG0(x) ((uintptr_t)(x) | MIPS_KSEG0_START) 71#define MIPS_PHYS_TO_KSEG1(x) ((uintptr_t)(x) | MIPS_KSEG1_START) 72#define MIPS_KSEG0_TO_PHYS(x) ((uintptr_t)(x) & MIPS_PHYS_MASK) 73#define MIPS_KSEG1_TO_PHYS(x) ((uintptr_t)(x) & MIPS_PHYS_MASK) |
74 | 74 |
75#define MIPS_IS_KSEG0_ADDR(x) \ 76 (((vm_offset_t)(x) >= MIPS_KSEG0_START) && \ 77 ((vm_offset_t)(x) <= MIPS_KSEG0_END)) 78#define MIPS_IS_KSEG1_ADDR(x) \ 79 (((vm_offset_t)(x) >= MIPS_KSEG1_START) && \ 80 ((vm_offset_t)(x) <= MIPS_KSEG1_END)) 81#define MIPS_IS_VALID_PTR(x) (MIPS_IS_KSEG0_ADDR(x) || \ 82 MIPS_IS_KSEG1_ADDR(x)) 83 |
|
75/* 76 * Status register. 77 */ 78#define SR_COP_USABILITY 0xf0000000 79#define SR_COP_0_BIT 0x10000000 80#define SR_COP_1_BIT 0x20000000 81#define SR_COP_2_BIT 0x40000000 82#define SR_RP 0x08000000 --- 66 unchanged lines hidden (view full) --- 149#define CR_INT_UART CR_INT_1 150#define CR_INT_IPI CR_INT_2 151#define CR_INT_CLOCK CR_INT_5 152 153/* 154 * The bits in the CONFIG register 155 */ 156#define CFG_K0_UNCACHED 2 | 84/* 85 * Status register. 86 */ 87#define SR_COP_USABILITY 0xf0000000 88#define SR_COP_0_BIT 0x10000000 89#define SR_COP_1_BIT 0x20000000 90#define SR_COP_2_BIT 0x40000000 91#define SR_RP 0x08000000 --- 66 unchanged lines hidden (view full) --- 158#define CR_INT_UART CR_INT_1 159#define CR_INT_IPI CR_INT_2 160#define CR_INT_CLOCK CR_INT_5 161 162/* 163 * The bits in the CONFIG register 164 */ 165#define CFG_K0_UNCACHED 2 |
166#if defined(CPU_SB1) 167#define CFG_K0_COHERENT 5 /* cacheable coherent */ 168#else |
|
157#define CFG_K0_CACHED 3 | 169#define CFG_K0_CACHED 3 |
170#endif |
|
158 159/* 160 * The bits in the context register. 161 */ 162#define CNTXT_PTE_BASE 0xff800000 163#define CNTXT_BAD_VPN2 0x007ffff0 164 165/* --- 399 unchanged lines hidden --- | 171 172/* 173 * The bits in the context register. 174 */ 175#define CNTXT_PTE_BASE 0xff800000 176#define CNTXT_BAD_VPN2 0x007ffff0 177 178/* --- 399 unchanged lines hidden --- |