RTEMS
5.4-rc2
Loading...
Searching...
No Matches
bsps
sparc64
include
arch
mm
sun4u
frame.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2005 Jakub Jermar
3
* All rights reserved.
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
*
9
* - Redistributions of source code must retain the above copyright
10
* notice, this list of conditions and the following disclaimer.
11
* - Redistributions in binary form must reproduce the above copyright
12
* notice, this list of conditions and the following disclaimer in the
13
* documentation and/or other materials provided with the distribution.
14
* - The name of the author may not be used to endorse or promote products
15
* derived from this software without specific prior written permission.
16
*
17
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
*/
28
35
#ifndef KERN_sparc64_SUN4U_FRAME_H_
36
#define KERN_sparc64_SUN4U_FRAME_H_
37
38
/*
39
* Page size supported by the MMU.
40
* For 8K there is the nasty illegal virtual aliasing problem.
41
* Therefore, the kernel uses 8K only internally on the TLB and TSB levels.
42
*/
43
#define MMU_FRAME_WIDTH 13
/* 8K */
44
#define MMU_FRAME_SIZE (1 << MMU_FRAME_WIDTH)
45
46
/*
47
* Page size exported to the generic memory management subsystems.
48
* This page size is not directly supported by the MMU, but we can emulate
49
* each 16K page with a pair of adjacent 8K pages.
50
*/
51
#define FRAME_WIDTH 14
/* 16K */
52
#define FRAME_SIZE (1 << FRAME_WIDTH)
53
54
#ifdef KERNEL
55
#ifndef __ASM__
56
57
#include <arch/types.h>
58
59
union
frame_address {
60
uintptr_t address;
61
struct
{
62
#if defined (US)
63
unsigned : 23;
64
uint64_t pfn : 28;
65
#elif defined (US3)
66
unsigned : 21;
67
uint64_t pfn : 30;
68
#endif
69
unsigned
offset : 13;
70
}
__attribute__
((packed));
71
};
72
73
typedef
union
frame_address frame_address_t;
74
75
extern
uintptr_t last_frame;
76
extern
uintptr_t end_of_identity;
77
78
extern
void
frame_arch_init(
void
);
79
#define physmem_print()
80
81
#endif
82
#endif
83
84
#endif
85
__attribute__
Definition:
jffs2.h:92
Generated by
1.9.6