1 /*        $NetBSD: pmap.h,v 1.11 2023/12/29 02:30:35 tsutsui Exp $    */
2 
3 #ifndef _LUNA68K_PMAP_H_
4 
5 #include <m68k/pmap_motorola.h>
6 #include <m68k/mmu_30.h>
7 
8 /*
9  * Transparent translation register values for IO space 0x40000000-0xffffffff
10  *
11  * map via TT0: 0x40000000-0x7fffffff
12  * map via TT1: 0x80000000-0xffffffff
13  *
14  * On 030 both use Function Codes 4-7 (to get SUPERD and SUPERP).
15  * XXX: they can probably just use SUPERD.
16  */
17 
18 #define   LUNA68K_TT30_IO0    (0x40000000 |                                     \
19                                          __SHIFTIN(0x3f,TT30_LAM) |             \
20                                          TT30_E | TT30_CI | TT30_RWM |          \
21                                         __SHIFTIN(4,TT30_FCBASE) |              \
22                                         __SHIFTIN(3,TT30_FCMASK))
23 #define   LUNA68K_TT30_IO1    (0x80000000 |                                     \
24                                          __SHIFTIN(0x7f,TT30_LAM) |             \
25                                          TT30_E | TT30_CI | TT30_RWM |          \
26                                         __SHIFTIN(4,TT30_FCBASE) |              \
27                                         __SHIFTIN(3,TT30_FCMASK))
28 
29 #define   LUNA68K_TT40_IO0    (0x40000000 |                                     \
30                                          __SHIFTIN(0x3f,TTR40_LAM) |            \
31                                          TTR40_E | TTR40_SUPER |                \
32                                          PTE40_CM_NC_SER)
33 #define   LUNA68K_TT40_IO1    (0x80000000 |                                     \
34                                          __SHIFTIN(0x7f,TTR40_LAM) |            \
35                                          TTR40_E | TTR40_SUPER |                \
36                                          PTE40_CM_NC_SER)
37 
38 #endif /* _LUNA68K_PMAP_H_ */
39