108dbd0f8SThomas Gleixner/* SPDX-License-Identifier: GPL-2.0-only */
2e49ee290SRichard Kuo/*
3e49ee290SRichard Kuo * Initial page table for Linux kernel under Hexagon VM,
4e49ee290SRichard Kuo *
5e1858b2aSRichard Kuo * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved.
6e49ee290SRichard Kuo */
7e49ee290SRichard Kuo
8e49ee290SRichard Kuo/*
9e49ee290SRichard Kuo * These tables are pre-computed and linked into kernel.
10e49ee290SRichard Kuo */
11e49ee290SRichard Kuo
12e49ee290SRichard Kuo#include <asm/vm_mmu.h>
13e49ee290SRichard Kuo/*  #include <asm/iomap.h>  */
14e49ee290SRichard Kuo
15e49ee290SRichard Kuo/*
16e49ee290SRichard Kuo * Start with mapping PA=0 to both VA=0x0 and VA=0xc000000 as 16MB large pages.
17e49ee290SRichard Kuo * No user mode access, RWX, write-back cache.  The entry needs
18e49ee290SRichard Kuo * to be replicated for all 4 virtual segments mapping to the page.
19e49ee290SRichard Kuo */
20e49ee290SRichard Kuo
21e49ee290SRichard Kuo/* "Big Kernel Page"  */
22e49ee290SRichard Kuo#define BKP(pa) (((pa) & __HVM_PTE_PGMASK_4MB)		\
23e49ee290SRichard Kuo		| __HVM_PTE_R | __HVM_PTE_W | __HVM_PTE_X	\
24e49ee290SRichard Kuo		| __HEXAGON_C_WB_L2 << 6			\
25e49ee290SRichard Kuo		| __HVM_PDE_S_16MB)
26e49ee290SRichard Kuo
27e49ee290SRichard Kuo/*  No cache version  */
28e49ee290SRichard Kuo
29e49ee290SRichard Kuo#define BKPG_IO(pa) (((pa) & __HVM_PTE_PGMASK_16MB) \
30e49ee290SRichard Kuo			| __HVM_PTE_R | __HVM_PTE_W | __HVM_PTE_X \
31e49ee290SRichard Kuo			| __HVM_PDE_S_16MB | __HEXAGON_C_DEV << 6 )
32e49ee290SRichard Kuo
33e49ee290SRichard Kuo#define FOURK_IO(pa) (((pa) & __HVM_PTE_PGMASK_4KB) \
34e49ee290SRichard Kuo			| __HVM_PTE_R | __HVM_PTE_W | __HVM_PTE_X \
35e49ee290SRichard Kuo			| __HEXAGON_C_DEV << 6 )
36e49ee290SRichard Kuo
37e49ee290SRichard Kuo#define L2_PTR(pa) (((pa) & __HVM_PTE_PGMASK_4KB) \
38e49ee290SRichard Kuo			| __HVM_PDE_S_4KB  )
39e49ee290SRichard Kuo
40e49ee290SRichard Kuo#define X __HVM_PDE_S_INVALID
41e49ee290SRichard Kuo
42e49ee290SRichard Kuo	.p2align 12
43e49ee290SRichard Kuo	.globl swapper_pg_dir
44e49ee290SRichard Kuo	.globl _K_init_segtable
45e49ee290SRichard Kuoswapper_pg_dir:
46e49ee290SRichard Kuo/* VA 0x00000000 */
47e49ee290SRichard Kuo	.word X,X,X,X
48e49ee290SRichard Kuo	.word X,X,X,X
49e49ee290SRichard Kuo	.word X,X,X,X
50e49ee290SRichard Kuo	.word X,X,X,X
51e49ee290SRichard Kuo	.word X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X
52e49ee290SRichard Kuo	.word X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X
53e49ee290SRichard Kuo	.word X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X
54e49ee290SRichard Kuo	.word X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X
55e49ee290SRichard Kuo	.word X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X
56e49ee290SRichard Kuo	.word X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X
57e49ee290SRichard Kuo	.word X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X
58e49ee290SRichard Kuo	.word X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X
59e49ee290SRichard Kuo/* VA 0x40000000 */
60e49ee290SRichard Kuo	.word X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X
61e49ee290SRichard Kuo	.word X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X
62e49ee290SRichard Kuo	.word X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X
63e49ee290SRichard Kuo	.word X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X
64e49ee290SRichard Kuo	.word X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X
65e49ee290SRichard Kuo	.word X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X
66e49ee290SRichard Kuo	.word X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X
67e49ee290SRichard Kuo	.word X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X
68e49ee290SRichard Kuo/* VA 0x80000000 */
69e49ee290SRichard Kuo	.word X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X
70e49ee290SRichard Kuo	.word X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X
71e49ee290SRichard Kuo	.word X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X
72e49ee290SRichard Kuo	.word X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X
73e49ee290SRichard Kuo	.word X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X
74e49ee290SRichard Kuo/*0xa8*/.word X,X,X,X
75e49ee290SRichard Kuo#ifdef CONFIG_COMET_EARLY_UART_DEBUG
76e49ee290SRichard KuoUART_PTE_ENTRY:
77e49ee290SRichard Kuo/*0xa9*/.word BKPG_IO(0xa9000000),BKPG_IO(0xa9000000),BKPG_IO(0xa9000000),BKPG_IO(0xa9000000)
78e49ee290SRichard Kuo#else
79e49ee290SRichard Kuo/*0xa9*/.word X,X,X,X
80e49ee290SRichard Kuo#endif
81e49ee290SRichard Kuo/*0xaa*/.word X,X,X,X
82e49ee290SRichard Kuo/*0xab*/.word X,X,X,X
83e49ee290SRichard Kuo/*0xac*/.word X,X,X,X
84e49ee290SRichard Kuo/*0xad*/.word X,X,X,X
85e49ee290SRichard Kuo/*0xae*/.word X,X,X,X
86e49ee290SRichard Kuo/*0xaf*/.word X,X,X,X
87e49ee290SRichard Kuo/*0xb0*/.word X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X
88e49ee290SRichard Kuo	.word X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X
89e49ee290SRichard Kuo_K_init_segtable:
90e49ee290SRichard Kuo/* VA 0xC0000000 */
91e49ee290SRichard Kuo	.word BKP(0x00000000), BKP(0x00400000), BKP(0x00800000), BKP(0x00c00000)
92e49ee290SRichard Kuo	.word BKP(0x01000000), BKP(0x01400000), BKP(0x01800000), BKP(0x01c00000)
93e49ee290SRichard Kuo	.word BKP(0x02000000), BKP(0x02400000), BKP(0x02800000), BKP(0x02c00000)
94e49ee290SRichard Kuo	.word BKP(0x03000000), BKP(0x03400000), BKP(0x03800000), BKP(0x03c00000)
95e49ee290SRichard Kuo	.word BKP(0x04000000), BKP(0x04400000), BKP(0x04800000), BKP(0x04c00000)
96e49ee290SRichard Kuo	.word BKP(0x05000000), BKP(0x05400000), BKP(0x05800000), BKP(0x05c00000)
97e49ee290SRichard Kuo	.word BKP(0x06000000), BKP(0x06400000), BKP(0x06800000), BKP(0x06c00000)
98e49ee290SRichard Kuo	.word BKP(0x07000000), BKP(0x07400000), BKP(0x07800000), BKP(0x07c00000)
99e49ee290SRichard Kuo
100e49ee290SRichard Kuo	.word BKP(0x08000000), BKP(0x08400000), BKP(0x08800000), BKP(0x08c00000)
101e49ee290SRichard Kuo	.word BKP(0x09000000), BKP(0x09400000), BKP(0x09800000), BKP(0x09c00000)
102e49ee290SRichard Kuo	.word BKP(0x0a000000), BKP(0x0a400000), BKP(0x0a800000), BKP(0x0ac00000)
103e49ee290SRichard Kuo	.word BKP(0x0b000000), BKP(0x0b400000), BKP(0x0b800000), BKP(0x0bc00000)
104e49ee290SRichard Kuo	.word BKP(0x0c000000), BKP(0x0c400000), BKP(0x0c800000), BKP(0x0cc00000)
105e49ee290SRichard Kuo	.word BKP(0x0d000000), BKP(0x0d400000), BKP(0x0d800000), BKP(0x0dc00000)
106e49ee290SRichard Kuo	.word BKP(0x0e000000), BKP(0x0e400000), BKP(0x0e800000), BKP(0x0ec00000)
107e49ee290SRichard Kuo	.word BKP(0x0f000000), BKP(0x0f400000), BKP(0x0f800000), BKP(0x0fc00000)
108e49ee290SRichard Kuo
109e49ee290SRichard Kuo	.word BKP(0x10000000), BKP(0x10400000), BKP(0x10800000), BKP(0x10c00000)
110e49ee290SRichard Kuo	.word BKP(0x11000000), BKP(0x11400000), BKP(0x11800000), BKP(0x11c00000)
111e49ee290SRichard Kuo	.word BKP(0x12000000), BKP(0x12400000), BKP(0x12800000), BKP(0x12c00000)
112e49ee290SRichard Kuo	.word BKP(0x13000000), BKP(0x13400000), BKP(0x13800000), BKP(0x13c00000)
113e49ee290SRichard Kuo	.word BKP(0x14000000), BKP(0x14400000), BKP(0x14800000), BKP(0x14c00000)
114e49ee290SRichard Kuo	.word BKP(0x15000000), BKP(0x15400000), BKP(0x15800000), BKP(0x15c00000)
115e49ee290SRichard Kuo	.word BKP(0x16000000), BKP(0x16400000), BKP(0x16800000), BKP(0x16c00000)
116e49ee290SRichard Kuo	.word BKP(0x17000000), BKP(0x17400000), BKP(0x17800000), BKP(0x17c00000)
117e49ee290SRichard Kuo
118e49ee290SRichard Kuo	.word BKP(0x18000000), BKP(0x18400000), BKP(0x18800000), BKP(0x18c00000)
119e49ee290SRichard Kuo	.word BKP(0x19000000), BKP(0x19400000), BKP(0x19800000), BKP(0x19c00000)
120e49ee290SRichard Kuo	.word BKP(0x1a000000), BKP(0x1a400000), BKP(0x1a800000), BKP(0x1ac00000)
121e49ee290SRichard Kuo	.word BKP(0x1b000000), BKP(0x1b400000), BKP(0x1b800000), BKP(0x1bc00000)
122e49ee290SRichard Kuo	.word BKP(0x1c000000), BKP(0x1c400000), BKP(0x1c800000), BKP(0x1cc00000)
123e49ee290SRichard Kuo	.word BKP(0x1d000000), BKP(0x1d400000), BKP(0x1d800000), BKP(0x1dc00000)
124e49ee290SRichard Kuo	.word BKP(0x1e000000), BKP(0x1e400000), BKP(0x1e800000), BKP(0x1ec00000)
125e49ee290SRichard Kuo	.word BKP(0x1f000000), BKP(0x1f400000), BKP(0x1f800000), BKP(0x1fc00000)
126e49ee290SRichard Kuo
127e49ee290SRichard Kuo	.word BKP(0x20000000), BKP(0x20400000), BKP(0x20800000), BKP(0x20c00000)
128e49ee290SRichard Kuo	.word BKP(0x21000000), BKP(0x21400000), BKP(0x21800000), BKP(0x21c00000)
129e49ee290SRichard Kuo	.word BKP(0x22000000), BKP(0x22400000), BKP(0x22800000), BKP(0x22c00000)
130e49ee290SRichard Kuo	.word BKP(0x23000000), BKP(0x23400000), BKP(0x23800000), BKP(0x23c00000)
131e49ee290SRichard Kuo	.word BKP(0x24000000), BKP(0x24400000), BKP(0x24800000), BKP(0x24c00000)
132e49ee290SRichard Kuo	.word BKP(0x25000000), BKP(0x25400000), BKP(0x25800000), BKP(0x25c00000)
133e49ee290SRichard Kuo	.word BKP(0x26000000), BKP(0x26400000), BKP(0x26800000), BKP(0x26c00000)
134e49ee290SRichard Kuo	.word BKP(0x27000000), BKP(0x27400000), BKP(0x27800000), BKP(0x27c00000)
135e49ee290SRichard Kuo
136e49ee290SRichard Kuo	.word BKP(0x28000000), BKP(0x28400000), BKP(0x28800000), BKP(0x28c00000)
137e49ee290SRichard Kuo	.word BKP(0x29000000), BKP(0x29400000), BKP(0x29800000), BKP(0x29c00000)
138e49ee290SRichard Kuo	.word BKP(0x2a000000), BKP(0x2a400000), BKP(0x2a800000), BKP(0x2ac00000)
139e49ee290SRichard Kuo	.word BKP(0x2b000000), BKP(0x2b400000), BKP(0x2b800000), BKP(0x2bc00000)
140e49ee290SRichard Kuo	.word BKP(0x2c000000), BKP(0x2c400000), BKP(0x2c800000), BKP(0x2cc00000)
141e49ee290SRichard Kuo	.word BKP(0x2d000000), BKP(0x2d400000), BKP(0x2d800000), BKP(0x2dc00000)
142e49ee290SRichard Kuo	.word BKP(0x2e000000), BKP(0x2e400000), BKP(0x2e800000), BKP(0x2ec00000)
143e49ee290SRichard Kuo	.word BKP(0x2f000000), BKP(0x2f400000), BKP(0x2f800000), BKP(0x2fc00000)
144e49ee290SRichard Kuo
145e49ee290SRichard Kuo	.word BKP(0x30000000), BKP(0x30400000), BKP(0x30800000), BKP(0x30c00000)
146e49ee290SRichard Kuo	.word BKP(0x31000000), BKP(0x31400000), BKP(0x31800000), BKP(0x31c00000)
147e49ee290SRichard Kuo	.word BKP(0x32000000), BKP(0x32400000), BKP(0x32800000), BKP(0x32c00000)
148e49ee290SRichard Kuo	.word BKP(0x33000000), BKP(0x33400000), BKP(0x33800000), BKP(0x33c00000)
149e49ee290SRichard Kuo	.word BKP(0x34000000), BKP(0x34400000), BKP(0x34800000), BKP(0x34c00000)
150e49ee290SRichard Kuo	.word BKP(0x35000000), BKP(0x35400000), BKP(0x35800000), BKP(0x35c00000)
151e49ee290SRichard Kuo	.word BKP(0x36000000), BKP(0x36400000), BKP(0x36800000), BKP(0x36c00000)
152e49ee290SRichard Kuo	.word BKP(0x37000000), BKP(0x37400000), BKP(0x37800000), BKP(0x37c00000)
153e49ee290SRichard Kuo
154e49ee290SRichard Kuo	.word BKP(0x38000000), BKP(0x38400000), BKP(0x38800000), BKP(0x38c00000)
155e49ee290SRichard Kuo	.word BKP(0x39000000), BKP(0x39400000), BKP(0x39800000), BKP(0x39c00000)
156e49ee290SRichard Kuo	.word BKP(0x3a000000), BKP(0x3a400000), BKP(0x3a800000), BKP(0x3ac00000)
157e49ee290SRichard Kuo	.word BKP(0x3b000000), BKP(0x3b400000), BKP(0x3b800000), BKP(0x3bc00000)
158e49ee290SRichard Kuo	.word BKP(0x3c000000), BKP(0x3c400000), BKP(0x3c800000), BKP(0x3cc00000)
159e49ee290SRichard Kuo	.word BKP(0x3d000000), BKP(0x3d400000), BKP(0x3d800000), BKP(0x3dc00000)
160e49ee290SRichard Kuo_K_io_map:
161e49ee290SRichard Kuo	.word X,X,X,X /* 0x3e000000 - device IO early remap */
162e49ee290SRichard Kuo	.word X,X,X,X /* 0x3f000000 - hypervisor space*/
163e49ee290SRichard Kuo
164e49ee290SRichard Kuo#if 0
165e49ee290SRichard Kuo/*
166e49ee290SRichard Kuo * This is in here as an example for devices which need to be mapped really
167e49ee290SRichard Kuo * early.
168e49ee290SRichard Kuo */
169e49ee290SRichard Kuo	.p2align 12
170e49ee290SRichard Kuo	.globl _K_io_kmap
171e49ee290SRichard Kuo	.globl _K_init_devicetable
172e49ee290SRichard Kuo_K_init_devicetable:  /*  Should be 4MB worth of entries  */
173e49ee290SRichard Kuo	.word FOURK_IO(MSM_GPIO1_PHYS),FOURK_IO(MSM_GPIO2_PHYS),FOURK_IO(MSM_SIRC_PHYS),X
174e49ee290SRichard Kuo	.word FOURK_IO(TLMM_GPIO1_PHYS),X,X,X
175e49ee290SRichard Kuo	.word X,X,X,X
176e49ee290SRichard Kuo	.word X,X,X,X
177e49ee290SRichard Kuo	.word X,X,X,X
178e49ee290SRichard Kuo	.word X,X,X,X
179e49ee290SRichard Kuo	.word X,X,X,X
180e49ee290SRichard Kuo	.word X,X,X,X
181e49ee290SRichard Kuo	.word X,X,X,X
182e49ee290SRichard Kuo	.word X,X,X,X
183e49ee290SRichard Kuo	.word X,X,X,X
184e49ee290SRichard Kuo	.word X,X,X,X
185e49ee290SRichard Kuo	.word X,X,X,X
186e49ee290SRichard Kuo	.word X,X,X,X
187e49ee290SRichard Kuo	.word X,X,X,X
188e49ee290SRichard Kuo	.word X,X,X,X
189e49ee290SRichard Kuo	.word X,X,X,X
190e49ee290SRichard Kuo	.word X,X,X,X
191e49ee290SRichard Kuo	.word X,X,X,X
192e49ee290SRichard Kuo	.word X,X,X,X
193e49ee290SRichard Kuo	.word X,X,X,X
194e49ee290SRichard Kuo	.word X,X,X,X
195e49ee290SRichard Kuo	.word X,X,X,X
196e49ee290SRichard Kuo	.word X,X,X,X
197e49ee290SRichard Kuo	.word X,X,X,X
198e49ee290SRichard Kuo	.word X,X,X,X
199e49ee290SRichard Kuo	.word X,X,X,X
200e49ee290SRichard Kuo	.word X,X,X,X
201e49ee290SRichard Kuo	.word X,X,X,X
202e49ee290SRichard Kuo	.word X,X,X,X
203e49ee290SRichard Kuo	.word X,X,X,X
204e49ee290SRichard Kuo	.word X,X,X,X
205e49ee290SRichard Kuo	.word X,X,X,X
206e49ee290SRichard Kuo	.word X,X,X,X
207e49ee290SRichard Kuo	.word X,X,X,X
208e49ee290SRichard Kuo	.word X,X,X,X
209e49ee290SRichard Kuo	.word X,X,X,X
210e49ee290SRichard Kuo	.word X,X,X,X
211e49ee290SRichard Kuo	.word X,X,X,X
212e49ee290SRichard Kuo	.word X,X,X,X
213e49ee290SRichard Kuo	.word X,X,X,X
214e49ee290SRichard Kuo	.word X,X,X,X
215e49ee290SRichard Kuo	.word X,X,X,X
216e49ee290SRichard Kuo	.word X,X,X,X
217e49ee290SRichard Kuo	.word X,X,X,X
218e49ee290SRichard Kuo	.word X,X,X,X
219e49ee290SRichard Kuo	.word X,X,X,X
220e49ee290SRichard Kuo	.word X,X,X,X
221e49ee290SRichard Kuo	.word X,X,X,X
222e49ee290SRichard Kuo	.word X,X,X,X
223e49ee290SRichard Kuo	.word X,X,X,X
224e49ee290SRichard Kuo	.word X,X,X,X
225e49ee290SRichard Kuo	.word X,X,X,X
226e49ee290SRichard Kuo	.word X,X,X,X
227e49ee290SRichard Kuo	.word X,X,X,X
228e49ee290SRichard Kuo	.word X,X,X,X
229e49ee290SRichard Kuo	.word X,X,X,X
230e49ee290SRichard Kuo	.word X,X,X,X
231e49ee290SRichard Kuo	.word X,X,X,X
232e49ee290SRichard Kuo	.word X,X,X,X
233e49ee290SRichard Kuo	.word X,X,X,X
234e49ee290SRichard Kuo	.word X,X,X,X
235e49ee290SRichard Kuo	.word X,X,X,X
236e49ee290SRichard Kuo	.word X,X,X,X
237e49ee290SRichard Kuo	.word X,X,X,X
238e49ee290SRichard Kuo	.word X,X,X,X
239e49ee290SRichard Kuo	.word X,X,X,X
240e49ee290SRichard Kuo	.word X,X,X,X
241e49ee290SRichard Kuo	.word X,X,X,X
242e49ee290SRichard Kuo	.word X,X,X,X
243e49ee290SRichard Kuo	.word X,X,X,X
244e49ee290SRichard Kuo	.word X,X,X,X
245e49ee290SRichard Kuo	.word X,X,X,X
246e49ee290SRichard Kuo	.word X,X,X,X
247e49ee290SRichard Kuo	.word X,X,X,X
248e49ee290SRichard Kuo	.word X,X,X,X
249e49ee290SRichard Kuo	.word X,X,X,X
250e49ee290SRichard Kuo	.word X,X,X,X
251e49ee290SRichard Kuo	.word X,X,X,X
252e49ee290SRichard Kuo	.word X,X,X,X
253e49ee290SRichard Kuo	.word X,X,X,X
254e49ee290SRichard Kuo	.word X,X,X,X
255e49ee290SRichard Kuo	.word X,X,X,X
256e49ee290SRichard Kuo	.word X,X,X,X
257e49ee290SRichard Kuo	.word X,X,X,X
258e49ee290SRichard Kuo	.word X,X,X,X
259e49ee290SRichard Kuo	.word X,X,X,X
260e49ee290SRichard Kuo	.word X,X,X,X
261e49ee290SRichard Kuo	.word X,X,X,X
262e49ee290SRichard Kuo	.word X,X,X,X
263e49ee290SRichard Kuo	.word X,X,X,X
264e49ee290SRichard Kuo	.word X,X,X,X
265e49ee290SRichard Kuo	.word X,X,X,X
266e49ee290SRichard Kuo	.word X,X,X,X
267e49ee290SRichard Kuo	.word X,X,X,X
268e49ee290SRichard Kuo	.word X,X,X,X
269e49ee290SRichard Kuo	.word X,X,X,X
270e49ee290SRichard Kuo	.word X,X,X,X
271e49ee290SRichard Kuo	.word X,X,X,X
272e49ee290SRichard Kuo	.word X,X,X,X
273e49ee290SRichard Kuo	.word X,X,X,X
274e49ee290SRichard Kuo	.word X,X,X,X
275e49ee290SRichard Kuo	.word X,X,X,X
276e49ee290SRichard Kuo	.word X,X,X,X
277e49ee290SRichard Kuo	.word X,X,X,X
278e49ee290SRichard Kuo	.word X,X,X,X
279e49ee290SRichard Kuo	.word X,X,X,X
280e49ee290SRichard Kuo	.word X,X,X,X
281e49ee290SRichard Kuo	.word X,X,X,X
282e49ee290SRichard Kuo	.word X,X,X,X
283e49ee290SRichard Kuo	.word X,X,X,X
284e49ee290SRichard Kuo	.word X,X,X,X
285e49ee290SRichard Kuo	.word X,X,X,X
286e49ee290SRichard Kuo	.word X,X,X,X
287e49ee290SRichard Kuo	.word X,X,X,X
288e49ee290SRichard Kuo	.word X,X,X,X
289e49ee290SRichard Kuo	.word X,X,X,X
290e49ee290SRichard Kuo	.word X,X,X,X
291e49ee290SRichard Kuo	.word X,X,X,X
292e49ee290SRichard Kuo	.word X,X,X,X
293e49ee290SRichard Kuo	.word X,X,X,X
294e49ee290SRichard Kuo	.word X,X,X,X
295e49ee290SRichard Kuo	.word X,X,X,X
296e49ee290SRichard Kuo	.word X,X,X,X
297e49ee290SRichard Kuo	.word X,X,X,X
298e49ee290SRichard Kuo	.word X,X,X,X
299e49ee290SRichard Kuo	.word X,X,X,X
300e49ee290SRichard Kuo	.word X,X,X,X
301e49ee290SRichard Kuo	.word X,X,X,X
302e49ee290SRichard Kuo	.word X,X,X,X
303e49ee290SRichard Kuo	.word X,X,X,X
304e49ee290SRichard Kuo	.word X,X,X,X
305e49ee290SRichard Kuo	.word X,X,X,X
306e49ee290SRichard Kuo	.word X,X,X,X
307e49ee290SRichard Kuo	.word X,X,X,X
308e49ee290SRichard Kuo	.word X,X,X,X
309e49ee290SRichard Kuo	.word X,X,X,X
310e49ee290SRichard Kuo	.word X,X,X,X
311e49ee290SRichard Kuo	.word X,X,X,X
312e49ee290SRichard Kuo	.word X,X,X,X
313e49ee290SRichard Kuo	.word X,X,X,X
314e49ee290SRichard Kuo	.word X,X,X,X
315e49ee290SRichard Kuo	.word X,X,X,X
316e49ee290SRichard Kuo	.word X,X,X,X
317e49ee290SRichard Kuo	.word X,X,X,X
318e49ee290SRichard Kuo	.word X,X,X,X
319e49ee290SRichard Kuo	.word X,X,X,X
320e49ee290SRichard Kuo	.word X,X,X,X
321e49ee290SRichard Kuo	.word X,X,X,X
322e49ee290SRichard Kuo	.word X,X,X,X
323e49ee290SRichard Kuo	.word X,X,X,X
324e49ee290SRichard Kuo	.word X,X,X,X
325e49ee290SRichard Kuo	.word X,X,X,X
326e49ee290SRichard Kuo	.word X,X,X,X
327e49ee290SRichard Kuo	.word X,X,X,X
328e49ee290SRichard Kuo	.word X,X,X,X
329e49ee290SRichard Kuo	.word X,X,X,X
330e49ee290SRichard Kuo	.word X,X,X,X
331e49ee290SRichard Kuo	.word X,X,X,X
332e49ee290SRichard Kuo	.word X,X,X,X
333e49ee290SRichard Kuo	.word X,X,X,X
334e49ee290SRichard Kuo	.word X,X,X,X
335e49ee290SRichard Kuo	.word X,X,X,X
336e49ee290SRichard Kuo	.word X,X,X,X
337e49ee290SRichard Kuo	.word X,X,X,X
338e49ee290SRichard Kuo	.word X,X,X,X
339e49ee290SRichard Kuo	.word X,X,X,X
340e49ee290SRichard Kuo	.word X,X,X,X
341e49ee290SRichard Kuo	.word X,X,X,X
342e49ee290SRichard Kuo	.word X,X,X,X
343e49ee290SRichard Kuo	.word X,X,X,X
344e49ee290SRichard Kuo	.word X,X,X,X
345e49ee290SRichard Kuo	.word X,X,X,X
346e49ee290SRichard Kuo	.word X,X,X,X
347e49ee290SRichard Kuo	.word X,X,X,X
348e49ee290SRichard Kuo	.word X,X,X,X
349e49ee290SRichard Kuo	.word X,X,X,X
350e49ee290SRichard Kuo	.word X,X,X,X
351e49ee290SRichard Kuo	.word X,X,X,X
352e49ee290SRichard Kuo	.word X,X,X,X
353e49ee290SRichard Kuo	.word X,X,X,X
354e49ee290SRichard Kuo	.word X,X,X,X
355e49ee290SRichard Kuo	.word X,X,X,X
356e49ee290SRichard Kuo	.word X,X,X,X
357e49ee290SRichard Kuo	.word X,X,X,X
358e49ee290SRichard Kuo	.word X,X,X,X
359e49ee290SRichard Kuo	.word X,X,X,X
360e49ee290SRichard Kuo	.word X,X,X,X
361e49ee290SRichard Kuo	.word X,X,X,X
362e49ee290SRichard Kuo	.word X,X,X,X
363e49ee290SRichard Kuo	.word X,X,X,X
364e49ee290SRichard Kuo	.word X,X,X,X
365e49ee290SRichard Kuo	.word X,X,X,X
366e49ee290SRichard Kuo	.word X,X,X,X
367e49ee290SRichard Kuo	.word X,X,X,X
368e49ee290SRichard Kuo	.word X,X,X,X
369e49ee290SRichard Kuo	.word X,X,X,X
370e49ee290SRichard Kuo	.word X,X,X,X
371e49ee290SRichard Kuo	.word X,X,X,X
372e49ee290SRichard Kuo	.word X,X,X,X
373e49ee290SRichard Kuo	.word X,X,X,X
374e49ee290SRichard Kuo	.word X,X,X,X
375e49ee290SRichard Kuo	.word X,X,X,X
376e49ee290SRichard Kuo	.word X,X,X,X
377e49ee290SRichard Kuo	.word X,X,X,X
378e49ee290SRichard Kuo	.word X,X,X,X
379e49ee290SRichard Kuo	.word X,X,X,X
380e49ee290SRichard Kuo	.word X,X,X,X
381e49ee290SRichard Kuo	.word X,X,X,X
382e49ee290SRichard Kuo	.word X,X,X,X
383e49ee290SRichard Kuo	.word X,X,X,X
384e49ee290SRichard Kuo	.word X,X,X,X
385e49ee290SRichard Kuo	.word X,X,X,X
386e49ee290SRichard Kuo	.word X,X,X,X
387e49ee290SRichard Kuo	.word X,X,X,X
388e49ee290SRichard Kuo	.word X,X,X,X
389e49ee290SRichard Kuo	.word X,X,X,X
390e49ee290SRichard Kuo	.word X,X,X,X
391e49ee290SRichard Kuo	.word X,X,X,X
392e49ee290SRichard Kuo	.word X,X,X,X
393e49ee290SRichard Kuo	.word X,X,X,X
394e49ee290SRichard Kuo	.word X,X,X,X
395e49ee290SRichard Kuo	.word X,X,X,X
396e49ee290SRichard Kuo	.word X,X,X,X
397e49ee290SRichard Kuo	.word X,X,X,X
398e49ee290SRichard Kuo	.word X,X,X,X
399e49ee290SRichard Kuo	.word X,X,X,X
400e49ee290SRichard Kuo	.word X,X,X,X
401e49ee290SRichard Kuo	.word X,X,X,X
402e49ee290SRichard Kuo	.word X,X,X,X
403e49ee290SRichard Kuo	.word X,X,X,X
404e49ee290SRichard Kuo	.word X,X,X,X
405e49ee290SRichard Kuo	.word X,X,X,X
406e49ee290SRichard Kuo	.word X,X,X,X
407e49ee290SRichard Kuo	.word X,X,X,X
408e49ee290SRichard Kuo	.word X,X,X,X
409e49ee290SRichard Kuo	.word X,X,X,X
410e49ee290SRichard Kuo	.word X,X,X,X
411e49ee290SRichard Kuo	.word X,X,X,X
412e49ee290SRichard Kuo	.word X,X,X,X
413e49ee290SRichard Kuo	.word X,X,X,X
414e49ee290SRichard Kuo	.word X,X,X,X
415e49ee290SRichard Kuo	.word X,X,X,X
416e49ee290SRichard Kuo	.word X,X,X,X
417e49ee290SRichard Kuo	.word X,X,X,X
418e49ee290SRichard Kuo	.word X,X,X,X
419e49ee290SRichard Kuo	.word X,X,X,X
420e49ee290SRichard Kuo	.word X,X,X,X
421e49ee290SRichard Kuo	.word X,X,X,X
422e49ee290SRichard Kuo	.word X,X,X,X
423e49ee290SRichard Kuo	.word X,X,X,X
424e49ee290SRichard Kuo	.word X,X,X,X
425e49ee290SRichard Kuo	.word X,X,X,X
426e49ee290SRichard Kuo	.word X,X,X,X
427e49ee290SRichard Kuo	.word X,X,X,X
428e49ee290SRichard Kuo	.word X,X,X,X
429e49ee290SRichard Kuo#endif
430