drivers/misc/sgi-gru/gru.h

Source file repositories/reference/linux-study-clean/drivers/misc/sgi-gru/gru.h

File Facts

System
Linux kernel
Corpus path
drivers/misc/sgi-gru/gru.h
Extension
.h
Size
2190 bytes
Lines
77
Domain
Driver Families
Bucket
drivers/misc
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct gru_chiplet_info {
	int	node;
	int	chiplet;
	int	blade;
	int	total_dsr_bytes;
	int	total_cbr;
	int	total_user_dsr_bytes;
	int	total_user_cbr;
	int	free_user_dsr_bytes;
	int	free_user_cbr;
};

/*
 * Statictics kept for each context.
 */
struct gru_gseg_statistics {
	unsigned long	fmm_tlbmiss;
	unsigned long	upm_tlbmiss;
	unsigned long	tlbdropin;
	unsigned long	context_stolen;
	unsigned long	reserved[10];
};

/* Flags for GRU options on the gru_create_context() call */
/* Select one of the follow 4 options to specify how TLB misses are handled */
#define GRU_OPT_MISS_DEFAULT	0x0000	/* Use default mode */
#define GRU_OPT_MISS_USER_POLL	0x0001	/* User will poll CB for faults */
#define GRU_OPT_MISS_FMM_INTR	0x0002	/* Send interrupt to cpu to
					   handle fault */
#define GRU_OPT_MISS_FMM_POLL	0x0003	/* Use system polling thread */
#define GRU_OPT_MISS_MASK	0x0003	/* Mask for TLB MISS option */



#endif		/* __GRU_H__ */

Annotation

Implementation Notes