Subversion Repositories HelenOS-historic

Rev

Rev 617 | Rev 658 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 617 Rev 619
Line 28... Line 28...
28
 
28
 
29
#ifndef __sparc64_TLB_H__
29
#ifndef __sparc64_TLB_H__
30
#define __sparc64_TLB_H__
30
#define __sparc64_TLB_H__
31
 
31
 
32
#include <arch/mm/tte.h>
32
#include <arch/mm/tte.h>
-
 
33
#include <arch/mm/mmu.h>
33
#include <arch/mm/page.h>
34
#include <arch/mm/page.h>
34
#include <arch/asm.h>
35
#include <arch/asm.h>
35
#include <arch/barrier.h>
36
#include <arch/barrier.h>
36
#include <arch/types.h>
37
#include <arch/types.h>
37
#include <typedefs.h>
38
#include <typedefs.h>
38
 
39
 
39
#define ITLB_ENTRY_COUNT        64
40
#define ITLB_ENTRY_COUNT        64
40
#define DTLB_ENTRY_COUNT        64
41
#define DTLB_ENTRY_COUNT        64
41
 
42
 
42
/** I-MMU ASIs. */
43
/** Page sizes. */
43
#define ASI_IMMU            0x50
44
#define PAGESIZE_8K 0
44
#define ASI_IMMU_TSB_8KB_PTR_REG    0x51    
-
 
45
#define ASI_IMMU_TSB_64KB_PTR_REG   0x52
-
 
46
#define ASI_ITLB_DATA_IN_REG        0x54
-
 
47
#define ASI_ITLB_DATA_ACCESS_REG    0x55
-
 
48
#define ASI_ITLB_TAG_READ_REG       0x56
-
 
49
#define ASI_IMMU_DEMAP          0x57
45
#define PAGESIZE_64K    1
50
 
-
 
51
/** Virtual Addresses within ASI_IMMU. */
-
 
52
#define VA_IMMU_TAG_TARGET      0x0 /**< IMMU tag target register. */
-
 
53
#define VA_IMMU_SFSR            0x18    /**< IMMU sync fault status register. */
-
 
54
#define VA_IMMU_TSB_BASE        0x28    /**< IMMU TSB base register. */
-
 
55
#define VA_IMMU_TAG_ACCESS      0x30    /**< IMMU TLB tag access register. */
-
 
56
 
-
 
57
/** D-MMU ASIs. */
-
 
58
#define ASI_DMMU            0x58
46
#define PAGESIZE_512K   2
59
#define ASI_DMMU_TSB_8KB_PTR_REG    0x59    
-
 
60
#define ASI_DMMU_TSB_64KB_PTR_REG   0x5a
-
 
61
#define ASI_DMMU_TSB_DIRECT_PTR_REG 0x5b
-
 
62
#define ASI_DTLB_DATA_IN_REG        0x5c
-
 
63
#define ASI_DTLB_DATA_ACCESS_REG    0x5d
-
 
64
#define ASI_DTLB_TAG_READ_REG       0x5e
-
 
65
#define ASI_DMMU_DEMAP          0x5f
47
#define PAGESIZE_4M 3
66
 
-
 
67
/** Virtual Addresses within ASI_DMMU. */
-
 
68
#define VA_DMMU_TAG_TARGET      0x0 /**< DMMU tag target register. */
-
 
69
#define VA_PRIMARY_CONTEXT_REG      0x8 /**< DMMU primary context register. */
-
 
70
#define VA_SECONDARY_CONTEXT_REG    0x10    /**< DMMU secondary context register. */
-
 
71
#define VA_DMMU_SFSR            0x18    /**< DMMU sync fault status register. */
-
 
72
#define VA_DMMU_SFAR            0x20    /**< DMMU sync fault address register. */
-
 
73
#define VA_DMMU_TSB_BASE        0x28    /**< DMMU TSB base register. */
-
 
74
#define VA_DMMU_TAG_ACCESS      0x30    /**< DMMU TLB tag access register. */
-
 
75
#define VA_DMMU_VA_WATCHPOINT_REG   0x38    /**< DMMU VA data watchpoint register. */
-
 
76
#define VA_DMMU_PA_WATCHPOINT_REG   0x40    /**< DMMU PA data watchpoint register. */
-
 
77
 
48
 
78
/** I-/D-TLB Data In/Access Register type. */
49
/** I-/D-TLB Data In/Access Register type. */
79
typedef tte_data_t tlb_data_t;
50
typedef tte_data_t tlb_data_t;
80
 
51
 
81
/** I-/D-TLB Data Access Address in Alternate Space. */
52
/** I-/D-TLB Data Access Address in Alternate Space. */