Deleted Added
full compact
ixp425_npereg.h (194322) ixp425_npereg.h (236987)
1/*-
2 * Copyright (c) 2006 Sam Leffler, Errno Consulting
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 * 1. Redistributions of source code must retain the above copyright

--- 12 unchanged lines hidden (view full) ---

21 * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
22 * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
25 * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
27 * THE POSSIBILITY OF SUCH DAMAGES.
28 *
1/*-
2 * Copyright (c) 2006 Sam Leffler, Errno Consulting
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 * 1. Redistributions of source code must retain the above copyright

--- 12 unchanged lines hidden (view full) ---

21 * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
22 * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
25 * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
27 * THE POSSIBILITY OF SUCH DAMAGES.
28 *
29 * $FreeBSD: head/sys/arm/xscale/ixp425/ixp425_npereg.h 194322 2009-06-17 02:55:53Z sam $
29 * $FreeBSD: head/sys/arm/xscale/ixp425/ixp425_npereg.h 236987 2012-06-13 04:38:09Z imp $
30 */
31
32/*-
33 * Copyright (c) 2001-2005, Intel Corporation.
34 * All rights reserved.
30 */
31
32/*-
33 * Copyright (c) 2001-2005, Intel Corporation.
34 * All rights reserved.
35 *
35 *
36 * Redistribution and use in source and binary forms, with or without
37 * modification, are permitted provided that the following conditions
38 * are met:
39 * 1. Redistributions of source code must retain the above copyright
40 * notice, this list of conditions and the following disclaimer.
41 * 2. Redistributions in binary form must reproduce the above copyright
42 * notice, this list of conditions and the following disclaimer in the
43 * documentation and/or other materials provided with the distribution.
44 * 3. Neither the name of the Intel Corporation nor the names of its contributors
45 * may be used to endorse or promote products derived from this software
46 * without specific prior written permission.
36 * Redistribution and use in source and binary forms, with or without
37 * modification, are permitted provided that the following conditions
38 * are met:
39 * 1. Redistributions of source code must retain the above copyright
40 * notice, this list of conditions and the following disclaimer.
41 * 2. Redistributions in binary form must reproduce the above copyright
42 * notice, this list of conditions and the following disclaimer in the
43 * documentation and/or other materials provided with the distribution.
44 * 3. Neither the name of the Intel Corporation nor the names of its contributors
45 * may be used to endorse or promote products derived from this software
46 * without specific prior written permission.
47 *
48 *
47 *
48 *
49 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
50 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
51 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
52 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
53 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
54 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
55 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
56 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT

--- 31 unchanged lines hidden (view full) ---

88#define IX_NPEDL_FUNCTIONID_FROM_IMAGEID_GET(imageId) \
89 (((imageId) >> 16) & 0xff)
90#define IX_NPEDL_MAJOR_FROM_IMAGEID_GET(imageId) \
91 (((imageId) >> 8) & 0xff)
92#define IX_NPEDL_MINOR_FROM_IMAGEID_GET(imageId) \
93 (((imageId) >> 0) & 0xff)
94
95/*
49 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
50 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
51 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
52 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
53 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
54 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
55 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
56 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT

--- 31 unchanged lines hidden (view full) ---

88#define IX_NPEDL_FUNCTIONID_FROM_IMAGEID_GET(imageId) \
89 (((imageId) >> 16) & 0xff)
90#define IX_NPEDL_MAJOR_FROM_IMAGEID_GET(imageId) \
91 (((imageId) >> 8) & 0xff)
92#define IX_NPEDL_MINOR_FROM_IMAGEID_GET(imageId) \
93 (((imageId) >> 0) & 0xff)
94
95/*
96 * Instruction and Data Memory Size (in words) for each NPE
96 * Instruction and Data Memory Size (in words) for each NPE
97 */
98#define IX_NPEDL_INS_MEMSIZE_WORDS_NPEA 4096
99#define IX_NPEDL_INS_MEMSIZE_WORDS_NPEB 2048
100#define IX_NPEDL_INS_MEMSIZE_WORDS_NPEC 2048
101
102#define IX_NPEDL_DATA_MEMSIZE_WORDS_NPEA 2048
103#define IX_NPEDL_DATA_MEMSIZE_WORDS_NPEB 2048
104#define IX_NPEDL_DATA_MEMSIZE_WORDS_NPEC 2048

--- 25 unchanged lines hidden (view full) ---

130 */
131#define IX_NPEDL_REG_RESET_MBST 0x0000F0F0
132
133#define IX_NPEDL_MASK_WFIFO_VALID 0x80000000 /* VALID bit */
134#define IX_NPEDL_MASK_STAT_OFNE 0x00010000 /* OFNE bit */
135#define IX_NPEDL_MASK_STAT_IFNE 0x00080000 /* IFNE bit */
136
137/*
97 */
98#define IX_NPEDL_INS_MEMSIZE_WORDS_NPEA 4096
99#define IX_NPEDL_INS_MEMSIZE_WORDS_NPEB 2048
100#define IX_NPEDL_INS_MEMSIZE_WORDS_NPEC 2048
101
102#define IX_NPEDL_DATA_MEMSIZE_WORDS_NPEA 2048
103#define IX_NPEDL_DATA_MEMSIZE_WORDS_NPEB 2048
104#define IX_NPEDL_DATA_MEMSIZE_WORDS_NPEC 2048

--- 25 unchanged lines hidden (view full) ---

130 */
131#define IX_NPEDL_REG_RESET_MBST 0x0000F0F0
132
133#define IX_NPEDL_MASK_WFIFO_VALID 0x80000000 /* VALID bit */
134#define IX_NPEDL_MASK_STAT_OFNE 0x00010000 /* OFNE bit */
135#define IX_NPEDL_MASK_STAT_IFNE 0x00080000 /* IFNE bit */
136
137/*
138 * EXCTL (Execution Control) Register commands
138 * EXCTL (Execution Control) Register commands
139*/
140#define IX_NPEDL_EXCTL_CMD_NPE_STEP 0x01 /* Step 1 instruction */
141#define IX_NPEDL_EXCTL_CMD_NPE_START 0x02 /* Start execution */
142#define IX_NPEDL_EXCTL_CMD_NPE_STOP 0x03 /* Stop execution */
143#define IX_NPEDL_EXCTL_CMD_NPE_CLR_PIPE 0x04 /* Clear ins pipeline */
144
145/*
146 * Read/write operations use address in EXAD and data in EXDATA.

--- 12 unchanged lines hidden (view full) ---

159 * EXCTL (Execution Control) Register status bit masks
160 */
161#define IX_NPEDL_EXCTL_STATUS_RUN 0x80000000
162#define IX_NPEDL_EXCTL_STATUS_STOP 0x40000000
163#define IX_NPEDL_EXCTL_STATUS_CLEAR 0x20000000
164#define IX_NPEDL_EXCTL_STATUS_ECS_K 0x00800000 /* pipeline Klean */
165
166/*
139*/
140#define IX_NPEDL_EXCTL_CMD_NPE_STEP 0x01 /* Step 1 instruction */
141#define IX_NPEDL_EXCTL_CMD_NPE_START 0x02 /* Start execution */
142#define IX_NPEDL_EXCTL_CMD_NPE_STOP 0x03 /* Stop execution */
143#define IX_NPEDL_EXCTL_CMD_NPE_CLR_PIPE 0x04 /* Clear ins pipeline */
144
145/*
146 * Read/write operations use address in EXAD and data in EXDATA.

--- 12 unchanged lines hidden (view full) ---

159 * EXCTL (Execution Control) Register status bit masks
160 */
161#define IX_NPEDL_EXCTL_STATUS_RUN 0x80000000
162#define IX_NPEDL_EXCTL_STATUS_STOP 0x40000000
163#define IX_NPEDL_EXCTL_STATUS_CLEAR 0x20000000
164#define IX_NPEDL_EXCTL_STATUS_ECS_K 0x00800000 /* pipeline Klean */
165
166/*
167 * Executing Context Stack (ECS) level registers
167 * Executing Context Stack (ECS) level registers
168 */
169#define IX_NPEDL_ECS_BG_CTXT_REG_0 0x00 /* reg 0 @ bg ctx */
170#define IX_NPEDL_ECS_BG_CTXT_REG_1 0x01 /* reg 1 @ bg ctx */
171#define IX_NPEDL_ECS_BG_CTXT_REG_2 0x02 /* reg 2 @ bg ctx */
172
173#define IX_NPEDL_ECS_PRI_1_CTXT_REG_0 0x04 /* reg 0 @ pri 1 ctx */
174#define IX_NPEDL_ECS_PRI_1_CTXT_REG_1 0x05 /* reg 1 @ pri 1 ctx */
175#define IX_NPEDL_ECS_PRI_1_CTXT_REG_2 0x06 /* reg 2 @ pri 1 ctx */

--- 39 unchanged lines hidden (view full) ---

215#define IX_NPEDL_MASK_ECS_DBG_REG_2_IF 0x00100000 /* IF bit */
216#define IX_NPEDL_MASK_ECS_DBG_REG_2_IE 0x00080000 /* IE bit */
217
218
219/*
220 * Bit-Offsets from LSB of particular bit-fields in Execution Access registers.
221 */
222
168 */
169#define IX_NPEDL_ECS_BG_CTXT_REG_0 0x00 /* reg 0 @ bg ctx */
170#define IX_NPEDL_ECS_BG_CTXT_REG_1 0x01 /* reg 1 @ bg ctx */
171#define IX_NPEDL_ECS_BG_CTXT_REG_2 0x02 /* reg 2 @ bg ctx */
172
173#define IX_NPEDL_ECS_PRI_1_CTXT_REG_0 0x04 /* reg 0 @ pri 1 ctx */
174#define IX_NPEDL_ECS_PRI_1_CTXT_REG_1 0x05 /* reg 1 @ pri 1 ctx */
175#define IX_NPEDL_ECS_PRI_1_CTXT_REG_2 0x06 /* reg 2 @ pri 1 ctx */

--- 39 unchanged lines hidden (view full) ---

215#define IX_NPEDL_MASK_ECS_DBG_REG_2_IF 0x00100000 /* IF bit */
216#define IX_NPEDL_MASK_ECS_DBG_REG_2_IE 0x00080000 /* IE bit */
217
218
219/*
220 * Bit-Offsets from LSB of particular bit-fields in Execution Access registers.
221 */
222
223#define IX_NPEDL_OFFSET_ECS_REG_0_NEXTPC 16
223#define IX_NPEDL_OFFSET_ECS_REG_0_NEXTPC 16
224#define IX_NPEDL_OFFSET_ECS_REG_0_LDUR 8
225
226#define IX_NPEDL_OFFSET_ECS_REG_1_CCTXT 16
227#define IX_NPEDL_OFFSET_ECS_REG_1_SELCTXT 0
228
229/*
224#define IX_NPEDL_OFFSET_ECS_REG_0_LDUR 8
225
226#define IX_NPEDL_OFFSET_ECS_REG_1_CCTXT 16
227#define IX_NPEDL_OFFSET_ECS_REG_1_SELCTXT 0
228
229/*
230 * NPE core & co-processor instruction templates to load into NPE Instruction
230 * NPE core & co-processor instruction templates to load into NPE Instruction
231 * Register, for read/write of NPE register file registers.
232 */
233
234/*
235 * Read an 8-bit NPE internal logical register
236 * and return the value in the EXDATA register (aligned to MSB).
237 * NPE Assembler instruction: "mov8 d0, d0 &&& DBG_WrExec"
238 */

--- 24 unchanged lines hidden (view full) ---

263 * NPE Assembler instruction: "mov16 d0, #0"
264 */
265#define IX_NPEDL_INSTR_WR_REG_SHORT 0x0000C000
266
267/*
268 * Write a 16-bit NPE internal logical register.
269 * NPE Assembler instruction: "cprd32 d0 &&& DBG_RdInFIFO"
270 */
231 * Register, for read/write of NPE register file registers.
232 */
233
234/*
235 * Read an 8-bit NPE internal logical register
236 * and return the value in the EXDATA register (aligned to MSB).
237 * NPE Assembler instruction: "mov8 d0, d0 &&& DBG_WrExec"
238 */

--- 24 unchanged lines hidden (view full) ---

263 * NPE Assembler instruction: "mov16 d0, #0"
264 */
265#define IX_NPEDL_INSTR_WR_REG_SHORT 0x0000C000
266
267/*
268 * Write a 16-bit NPE internal logical register.
269 * NPE Assembler instruction: "cprd32 d0 &&& DBG_RdInFIFO"
270 */
271#define IX_NPEDL_INSTR_RD_FIFO 0x0F888220
271#define IX_NPEDL_INSTR_RD_FIFO 0x0F888220
272
273/*
274 * Reset Mailbox (MBST) register
275 * NPE Assembler instruction: "mov32 d0, d0 &&& DBG_ClearM"
276 */
277#define IX_NPEDL_INSTR_RESET_MBOX 0x0FAC8210
278
279

--- 7 unchanged lines hidden (view full) ---

287/*
288 * Masks used to read/write particular bits of an NPE Instruction
289 */
290
291/**
292 * Mask the bits of 16-bit data value (least-sig 5 bits) to be used in
293 * SRC field of immediate-mode NPE instruction
294 */
272
273/*
274 * Reset Mailbox (MBST) register
275 * NPE Assembler instruction: "mov32 d0, d0 &&& DBG_ClearM"
276 */
277#define IX_NPEDL_INSTR_RESET_MBOX 0x0FAC8210
278
279

--- 7 unchanged lines hidden (view full) ---

287/*
288 * Masks used to read/write particular bits of an NPE Instruction
289 */
290
291/**
292 * Mask the bits of 16-bit data value (least-sig 5 bits) to be used in
293 * SRC field of immediate-mode NPE instruction
294 */
295#define IX_NPEDL_MASK_IMMED_INSTR_SRC_DATA 0x1F
295#define IX_NPEDL_MASK_IMMED_INSTR_SRC_DATA 0x1F
296
297/**
298 * Mask the bits of 16-bit data value (most-sig 11 bits) to be used in
299 * COPROC field of immediate-mode NPE instruction
300 */
301#define IX_NPEDL_MASK_IMMED_INSTR_COPROC_DATA 0xFFE0
302
303/**

--- 124 unchanged lines hidden ---
296
297/**
298 * Mask the bits of 16-bit data value (most-sig 11 bits) to be used in
299 * COPROC field of immediate-mode NPE instruction
300 */
301#define IX_NPEDL_MASK_IMMED_INSTR_COPROC_DATA 0xFFE0
302
303/**

--- 124 unchanged lines hidden ---