Blame types.h

Packit Service 2212bb
#ifndef _INCLUDE_GUARD_TYPES_H
Packit Service 2212bb
#define _INCLUDE_GUARD_TYPES_H
Packit Service 2212bb
Packit Service 2212bb
#include <glib.h>
Packit Service 2212bb
Packit Service 2212bb
#include "cpumask.h"
Packit Service 2212bb
Packit Service 2212bb
#define	BALANCE_NONE		0
Packit Service 2212bb
#define BALANCE_PACKAGE 	1
Packit Service 2212bb
#define BALANCE_CACHE		2
Packit Service 2212bb
#define BALANCE_CORE		3
Packit Service 2212bb
Packit Service 2212bb
/*
Packit Service 2212bb
 * IRQ Classes
Packit Service 2212bb
 */
Packit Service 2212bb
#define IRQ_NODEF	-1
Packit Service 2212bb
#define IRQ_OTHER       0
Packit Service 2212bb
#define IRQ_LEGACY      1
Packit Service 2212bb
#define IRQ_SCSI        2
Packit Service 2212bb
#define IRQ_VIDEO       3
Packit Service 2212bb
#define IRQ_ETH         4
Packit Service 2212bb
#define IRQ_GBETH       5
Packit Service 2212bb
#define IRQ_10GBETH     6
Packit Service 2212bb
#define IRQ_VIRT_EVENT  7
Packit Service 2212bb
Packit Service 2212bb
/*
Packit Service 2212bb
 * IRQ Types
Packit Service 2212bb
 */
Packit Service 2212bb
#define IRQ_TYPE_LEGACY     0
Packit Service 2212bb
#define IRQ_TYPE_MSI        1
Packit Service 2212bb
#define IRQ_TYPE_MSIX       2
Packit Service 2212bb
#define IRQ_TYPE_VIRT_EVENT 3
Packit Service 2212bb
Packit Service 2212bb
/*
Packit Service 2212bb
 * IRQ Internal tracking flags
Packit Service 2212bb
 */
Packit Service 2212bb
#define IRQ_FLAG_BANNED	1
Packit Service 2212bb
Packit Service 2212bb
enum obj_type_e {
Packit Service 2212bb
	OBJ_TYPE_CPU,
Packit Service 2212bb
	OBJ_TYPE_CACHE,
Packit Service 2212bb
	OBJ_TYPE_PACKAGE,
Packit Service 2212bb
	OBJ_TYPE_NODE
Packit Service 2212bb
};
Packit Service 2212bb
Packit Service 2212bb
struct topo_obj {
Packit Service 2212bb
	uint64_t load;
Packit Service 2212bb
	uint64_t last_load;
Packit Service 2212bb
	uint64_t irq_count;
Packit Service 2212bb
	enum obj_type_e obj_type;
Packit Service 2212bb
	int number;
Packit Service 2212bb
	int powersave_mode;
Packit Service 2212bb
	cpumask_t mask;
Packit Service 2212bb
	GList *interrupts;
Packit Service 2212bb
	struct topo_obj *parent;
Packit Service 2212bb
	GList *children;
Packit Service 2212bb
	GList *numa_nodes;
Packit Service 2212bb
	GList **obj_type_list;
Packit Service 2212bb
};
Packit Service 2212bb
Packit Service 2212bb
struct irq_info {
Packit Service 2212bb
	int irq;
Packit Service 2212bb
	int class;
Packit Service 2212bb
	int type;
Packit Service 2212bb
	int level;
Packit Service 2212bb
	int flags;
Packit Service 2212bb
	struct topo_obj *numa_node;
Packit Service 2212bb
	cpumask_t cpumask;
Packit Service 2212bb
	uint64_t irq_count;
Packit Service 2212bb
	uint64_t last_irq_count;
Packit Service 2212bb
	uint64_t load;
Packit Service 2212bb
	int moved;
Packit Service 2212bb
	struct topo_obj *assigned_obj;
Packit Service 2212bb
	char *name;
Packit Service 2212bb
};
Packit Service 2212bb
Packit Service 2212bb
#endif