1 /* SPDX-License-Identifier: GPL-2.0 */
2 
3 #ifndef _ASM_SN_KLDIR_H
4 #define _ASM_SN_KLDIR_H
5 
6 #define KLDIR_MAGIC		0x434d5f53505f5357
7 
8 #define KLDIR_OFF_MAGIC			0x00
9 #define KLDIR_OFF_OFFSET		0x08
10 #define KLDIR_OFF_POINTER		0x10
11 #define KLDIR_OFF_SIZE			0x18
12 #define KLDIR_OFF_COUNT			0x20
13 #define KLDIR_OFF_STRIDE		0x28
14 
15 #define KLDIR_ENT_SIZE			0x40
16 #define KLDIR_MAX_ENTRIES		(0x400 / 0x40)
17 
18 #ifndef __ASSEMBLY__
19 typedef struct kldir_ent_s {
20 	u64		magic;		/* Indicates validity of entry	    */
21 	off_t		offset;		/* Offset from start of node space  */
22 	unsigned long	pointer;	/* Pointer to area in some cases    */
23 	size_t		size;		/* Size in bytes		    */
24 	u64		count;		/* Repeat count if array, 1 if not  */
25 	size_t		stride;		/* Stride if array, 0 if not	    */
26 	char		rsvd[16];	/* Pad entry to 0x40 bytes	    */
27 	/* NOTE: These 16 bytes are used in the Partition KLDIR
28 	   entry to store partition info. Refer to klpart.h for this. */
29 } kldir_ent_t;
30 #endif /* !__ASSEMBLY__ */
31 
32 #ifdef CONFIG_SGI_IP27
33 #include <asm/sn/sn0/kldir.h>
34 #endif
35 
36 #endif /* _ASM_SN_KLDIR_H */
37