/* SPDX-License-Identifier: GPL-2.0 */ 
 | 
  
 | 
#ifndef _ASM_SN_KLDIR_H 
 | 
#define _ASM_SN_KLDIR_H 
 | 
  
 | 
#define KLDIR_MAGIC        0x434d5f53505f5357 
 | 
  
 | 
#define KLDIR_OFF_MAGIC            0x00 
 | 
#define KLDIR_OFF_OFFSET        0x08 
 | 
#define KLDIR_OFF_POINTER        0x10 
 | 
#define KLDIR_OFF_SIZE            0x18 
 | 
#define KLDIR_OFF_COUNT            0x20 
 | 
#define KLDIR_OFF_STRIDE        0x28 
 | 
  
 | 
#define KLDIR_ENT_SIZE            0x40 
 | 
#define KLDIR_MAX_ENTRIES        (0x400 / 0x40) 
 | 
  
 | 
#ifndef __ASSEMBLY__ 
 | 
typedef struct kldir_ent_s { 
 | 
    u64        magic;        /* Indicates validity of entry        */ 
 | 
    off_t        offset;        /* Offset from start of node space  */ 
 | 
    unsigned long    pointer;    /* Pointer to area in some cases    */ 
 | 
    size_t        size;        /* Size in bytes            */ 
 | 
    u64        count;        /* Repeat count if array, 1 if not  */ 
 | 
    size_t        stride;        /* Stride if array, 0 if not        */ 
 | 
    char        rsvd[16];    /* Pad entry to 0x40 bytes        */ 
 | 
    /* NOTE: These 16 bytes are used in the Partition KLDIR 
 | 
       entry to store partition info. Refer to klpart.h for this. */ 
 | 
} kldir_ent_t; 
 | 
#endif /* !__ASSEMBLY__ */ 
 | 
  
 | 
#ifdef CONFIG_SGI_IP27 
 | 
#include <asm/sn/sn0/kldir.h> 
 | 
#endif 
 | 
  
 | 
#endif /* _ASM_SN_KLDIR_H */ 
 |