162306a36Sopenharmony_ci#ifndef __MEM2NODE_H 262306a36Sopenharmony_ci#define __MEM2NODE_H 362306a36Sopenharmony_ci 462306a36Sopenharmony_ci#include <linux/rbtree.h> 562306a36Sopenharmony_ci#include <linux/types.h> 662306a36Sopenharmony_ci 762306a36Sopenharmony_cistruct perf_env; 862306a36Sopenharmony_cistruct phys_entry; 962306a36Sopenharmony_ci 1062306a36Sopenharmony_cistruct mem2node { 1162306a36Sopenharmony_ci struct rb_root root; 1262306a36Sopenharmony_ci struct phys_entry *entries; 1362306a36Sopenharmony_ci int cnt; 1462306a36Sopenharmony_ci}; 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciint mem2node__init(struct mem2node *map, struct perf_env *env); 1762306a36Sopenharmony_civoid mem2node__exit(struct mem2node *map); 1862306a36Sopenharmony_ciint mem2node__node(struct mem2node *map, u64 addr); 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci#endif /* __MEM2NODE_H */ 21