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__
19typedef 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