Commit d944c4ee authored by Borislav Petkov's avatar Borislav Petkov Committed by Jiri Olsa

tools: Consolidate types.h

Combine all definitions into a common tools/include/linux/types.h and
kill the wild growth elsewhere. Move DECLARE_BITMAP to its proper
bitmap.h header.
Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
Acked-by: default avatarRusty Russell <rusty@rustcorp.com.au>
Link: http://lkml.kernel.org/n/tip-azczs7qcv6h9xek9od10hiv2@git.kernel.orgSigned-off-by: default avatarJiri Olsa <jolsa@kernel.org>
parent 5ac3e4b6
#ifndef _LIBLOCKDEP_LINUX_TYPES_H_ #ifndef _TOOLS_LINUX_TYPES_H_
#define _LIBLOCKDEP_LINUX_TYPES_H_ #define _TOOLS_LINUX_TYPES_H_
#include <stdbool.h> #include <stdbool.h>
#include <stddef.h> #include <stddef.h>
#include <stdint.h>
#define __SANE_USERSPACE_TYPES__ /* For PPC64, to get LL64 types */ #define __SANE_USERSPACE_TYPES__ /* For PPC64, to get LL64 types */
#include <asm/types.h> #include <asm/types.h>
...@@ -10,10 +11,22 @@ ...@@ -10,10 +11,22 @@
struct page; struct page;
struct kmem_cache; struct kmem_cache;
typedef unsigned gfp_t; typedef enum {
GFP_KERNEL,
GFP_ATOMIC,
__GFP_HIGHMEM,
__GFP_HIGH
} gfp_t;
typedef __u64 u64; /*
typedef __s64 s64; * We define u64 as uint64_t for every architecture
* so that we can print it with "%"PRIx64 without getting warnings.
*
* typedef __u64 u64;
* typedef __s64 s64;
*/
typedef uint64_t u64;
typedef int64_t s64;
typedef __u32 u32; typedef __u32 u32;
typedef __s32 s32; typedef __s32 s32;
...@@ -35,6 +48,10 @@ typedef __s8 s8; ...@@ -35,6 +48,10 @@ typedef __s8 s8;
#define __bitwise #define __bitwise
#endif #endif
#define __force
#define __user
#define __must_check
#define __cold
typedef __u16 __bitwise __le16; typedef __u16 __bitwise __le16;
typedef __u16 __bitwise __be16; typedef __u16 __bitwise __be16;
...@@ -55,4 +72,4 @@ struct hlist_node { ...@@ -55,4 +72,4 @@ struct hlist_node {
struct hlist_node *next, **pprev; struct hlist_node *next, **pprev;
}; };
#endif #endif /* _TOOLS_LINUX_TYPES_H_ */
...@@ -8,6 +8,7 @@ tools/include/asm/bug.h ...@@ -8,6 +8,7 @@ tools/include/asm/bug.h
tools/include/linux/compiler.h tools/include/linux/compiler.h
tools/include/linux/hash.h tools/include/linux/hash.h
tools/include/linux/export.h tools/include/linux/export.h
tools/include/linux/types.h
include/linux/const.h include/linux/const.h
include/linux/perf_event.h include/linux/perf_event.h
include/linux/rbtree.h include/linux/rbtree.h
......
...@@ -227,7 +227,7 @@ LIB_H += util/include/linux/poison.h ...@@ -227,7 +227,7 @@ LIB_H += util/include/linux/poison.h
LIB_H += util/include/linux/rbtree.h LIB_H += util/include/linux/rbtree.h
LIB_H += util/include/linux/rbtree_augmented.h LIB_H += util/include/linux/rbtree_augmented.h
LIB_H += util/include/linux/string.h LIB_H += util/include/linux/string.h
LIB_H += util/include/linux/types.h LIB_H += ../include/linux/types.h
LIB_H += util/include/linux/linkage.h LIB_H += util/include/linux/linkage.h
LIB_H += util/include/asm/asm-offsets.h LIB_H += util/include/asm/asm-offsets.h
LIB_H += ../include/asm/bug.h LIB_H += ../include/asm/bug.h
...@@ -252,7 +252,6 @@ LIB_H += util/event.h ...@@ -252,7 +252,6 @@ LIB_H += util/event.h
LIB_H += util/evsel.h LIB_H += util/evsel.h
LIB_H += util/evlist.h LIB_H += util/evlist.h
LIB_H += util/exec_cmd.h LIB_H += util/exec_cmd.h
LIB_H += util/types.h
LIB_H += util/levenshtein.h LIB_H += util/levenshtein.h
LIB_H += util/machine.h LIB_H += util/machine.h
LIB_H += util/map.h LIB_H += util/map.h
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
#define ARCH_PERF_REGS_H #define ARCH_PERF_REGS_H
#include <stdlib.h> #include <stdlib.h>
#include "../../util/types.h" #include <linux/types.h>
#include <asm/perf_regs.h> #include <asm/perf_regs.h>
void perf_regs_load(u64 *regs); void perf_regs_load(u64 *regs);
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#include <linux/perf_event.h> #include <linux/perf_event.h>
#include "../../perf.h" #include "../../perf.h"
#include "../../util/types.h" #include <linux/types.h>
#include "../../util/debug.h" #include "../../util/debug.h"
#include "tsc.h" #include "tsc.h"
......
#ifndef TOOLS_PERF_ARCH_X86_UTIL_TSC_H__ #ifndef TOOLS_PERF_ARCH_X86_UTIL_TSC_H__
#define TOOLS_PERF_ARCH_X86_UTIL_TSC_H__ #define TOOLS_PERF_ARCH_X86_UTIL_TSC_H__
#include "../../util/types.h" #include <linux/types.h>
struct perf_tsc_conversion { struct perf_tsc_conversion {
u16 time_shift; u16 time_shift;
......
...@@ -173,9 +173,8 @@ ...@@ -173,9 +173,8 @@
#include <sys/types.h> #include <sys/types.h>
#include <sys/syscall.h> #include <sys/syscall.h>
#include <linux/types.h>
#include <linux/perf_event.h> #include <linux/perf_event.h>
#include "util/types.h"
#include <stdbool.h>
/* /*
* prctl(PR_TASK_PERF_EVENTS_DISABLE) will (cheaply) disable all * prctl(PR_TASK_PERF_EVENTS_DISABLE) will (cheaply) disable all
...@@ -202,7 +201,6 @@ static inline unsigned long long rdclock(void) ...@@ -202,7 +201,6 @@ static inline unsigned long long rdclock(void)
/* /*
* Pick up some kernel type conventions: * Pick up some kernel type conventions:
*/ */
#define __user
#define asmlinkage #define asmlinkage
#define unlikely(x) __builtin_expect(!!(x), 0) #define unlikely(x) __builtin_expect(!!(x), 0)
......
/* /*
* The struct perf_event_attr test support. * The struct perf_event_attr test support.
* *
...@@ -19,14 +18,8 @@ ...@@ -19,14 +18,8 @@
* permissions. All the event text files are stored there. * permissions. All the event text files are stored there.
*/ */
/*
* Powerpc needs __SANE_USERSPACE_TYPES__ before <linux/types.h> to select
* 'int-ll64.h' and avoid compile warnings when printing __u64 with %llu.
*/
#define __SANE_USERSPACE_TYPES__
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#include <inttypes.h>
#include <linux/types.h> #include <linux/types.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include "../perf.h" #include "../perf.h"
......
#include <sys/types.h> #include <linux/types.h>
#include <stdlib.h> #include <stdlib.h>
#include <unistd.h> #include <unistd.h>
#include <stdio.h> #include <stdio.h>
#include <inttypes.h>
#include <ctype.h> #include <ctype.h>
#include <string.h> #include <string.h>
......
#include "util.h" #include "util.h"
#include <stdlib.h> #include <stdlib.h>
#include <sys/types.h> #include <linux/types.h>
#include <sys/stat.h> #include <sys/stat.h>
#include <fcntl.h> #include <fcntl.h>
#include <string.h> #include <string.h>
......
#include <linux/compiler.h> #include <linux/compiler.h>
#include <sys/types.h> #include <linux/types.h>
#include <unistd.h> #include <unistd.h>
#include "tests.h" #include "tests.h"
#include "debug.h" #include "debug.h"
......
#include <sys/types.h> #include <linux/types.h>
#include <unistd.h> #include <unistd.h>
#include <sys/prctl.h> #include <sys/prctl.h>
......
#include <sys/types.h> #include <linux/types.h>
#include <stddef.h> #include <stddef.h>
#include "tests.h" #include "tests.h"
......
#include <stdio.h> #include <stdio.h>
#include <sys/types.h>
#include <unistd.h> #include <unistd.h>
#include <inttypes.h> #include <linux/types.h>
#include <sys/prctl.h> #include <sys/prctl.h>
#include "parse-events.h" #include "parse-events.h"
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <signal.h> #include <signal.h>
#include <sys/mman.h> #include <sys/mman.h>
#include "types.h" #include <linux/types.h>
#include "perf.h" #include "perf.h"
#include "debug.h" #include "debug.h"
#include "tests.h" #include "tests.h"
......
#include <stdbool.h> #include <stdbool.h>
#include <inttypes.h> #include <linux/types.h>
#include "util.h" #include "util.h"
#include "event.h" #include "event.h"
......
#ifndef _PERF_UI_BROWSER_H_ #ifndef _PERF_UI_BROWSER_H_
#define _PERF_UI_BROWSER_H_ 1 #define _PERF_UI_BROWSER_H_ 1
#include <stdbool.h> #include <linux/types.h>
#include <sys/types.h>
#include "../types.h"
#define HE_COLORSET_TOP 50 #define HE_COLORSET_TOP 50
#define HE_COLORSET_MEDIUM 51 #define HE_COLORSET_MEDIUM 51
......
#ifndef _PERF_UI_PROGRESS_H_ #ifndef _PERF_UI_PROGRESS_H_
#define _PERF_UI_PROGRESS_H_ 1 #define _PERF_UI_PROGRESS_H_ 1
#include <../types.h> #include <linux/types.h>
void ui_progress__finish(void); void ui_progress__finish(void);
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
#include <stdbool.h> #include <stdbool.h>
#include <stdint.h> #include <stdint.h>
#include "types.h" #include <linux/types.h>
#include "symbol.h" #include "symbol.h"
#include "hist.h" #include "hist.h"
#include "sort.h" #include "sort.h"
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#define BUILD_ID_SIZE 20 #define BUILD_ID_SIZE 20
#include "tool.h" #include "tool.h"
#include "types.h" #include <linux/types.h>
extern struct perf_tool build_id__mark_dso_hit_ops; extern struct perf_tool build_id__mark_dso_hit_ops;
struct dso; struct dso;
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#include <linux/types.h> #include <linux/types.h>
#include <linux/rbtree.h> #include <linux/rbtree.h>
#include <stdbool.h> #include <stdbool.h>
#include "types.h" #include <linux/types.h>
#include "map.h" #include "map.h"
#include "build-id.h" #include "build-id.h"
......
...@@ -5,12 +5,12 @@ ...@@ -5,12 +5,12 @@
#include <stdbool.h> #include <stdbool.h>
#include <stddef.h> #include <stddef.h>
#include <linux/perf_event.h> #include <linux/perf_event.h>
#include "types.h" #include <linux/types.h>
#include "xyarray.h" #include "xyarray.h"
#include "cgroup.h" #include "cgroup.h"
#include "hist.h" #include "hist.h"
#include "symbol.h" #include "symbol.h"
struct perf_counts_values { struct perf_counts_values {
union { union {
struct { struct {
......
...@@ -4,10 +4,10 @@ ...@@ -4,10 +4,10 @@
#include <linux/perf_event.h> #include <linux/perf_event.h>
#include <sys/types.h> #include <sys/types.h>
#include <stdbool.h> #include <stdbool.h>
#include "types.h" #include <linux/bitmap.h>
#include <linux/types.h>
#include "event.h" #include "event.h"
#include <linux/bitmap.h>
enum { enum {
HEADER_RESERVED = 0, /* always cleared */ HEADER_RESERVED = 0, /* always cleared */
......
...@@ -4,6 +4,9 @@ ...@@ -4,6 +4,9 @@
#include <string.h> #include <string.h>
#include <linux/bitops.h> #include <linux/bitops.h>
#define DECLARE_BITMAP(name,bits) \
unsigned long name[BITS_TO_LONGS(bits)]
int __bitmap_weight(const unsigned long *bitmap, int bits); int __bitmap_weight(const unsigned long *bitmap, int bits);
void __bitmap_or(unsigned long *dst, const unsigned long *bitmap1, void __bitmap_or(unsigned long *dst, const unsigned long *bitmap1,
const unsigned long *bitmap2, int bits); const unsigned long *bitmap2, int bits);
......
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/types.h>
#include "../../../../include/linux/list.h" #include "../../../../include/linux/list.h"
......
#ifndef _PERF_LINUX_TYPES_H_
#define _PERF_LINUX_TYPES_H_
#include <asm/types.h>
#ifndef __bitwise
#define __bitwise
#endif
#ifndef __le32
typedef __u32 __bitwise __le32;
#endif
#define DECLARE_BITMAP(name,bits) \
unsigned long name[BITS_TO_LONGS(bits)]
struct list_head {
struct list_head *next, *prev;
};
struct hlist_head {
struct hlist_node *first;
};
struct hlist_node {
struct hlist_node *next, **pprev;
};
#endif
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#include <linux/rbtree.h> #include <linux/rbtree.h>
#include <stdio.h> #include <stdio.h>
#include <stdbool.h> #include <stdbool.h>
#include "types.h" #include <linux/types.h>
enum map_type { enum map_type {
MAP__FUNCTION = 0, MAP__FUNCTION = 0,
......
...@@ -6,9 +6,8 @@ ...@@ -6,9 +6,8 @@
#include <linux/list.h> #include <linux/list.h>
#include <stdbool.h> #include <stdbool.h>
#include "types.h" #include <linux/types.h>
#include <linux/perf_event.h> #include <linux/perf_event.h>
#include "types.h"
struct list_head; struct list_head;
struct perf_evsel; struct perf_evsel;
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
#include <linux/compiler.h> #include <linux/compiler.h>
#include <linux/list.h> #include <linux/list.h>
#include "types.h" #include <linux/types.h>
#include "util.h" #include "util.h"
#include "parse-events.h" #include "parse-events.h"
#include "parse-events-bison.h" #include "parse-events-bison.h"
......
#ifndef __PERF_REGS_H #ifndef __PERF_REGS_H
#define __PERF_REGS_H #define __PERF_REGS_H
#include "types.h" #include <linux/types.h>
#include "event.h" #include "event.h"
#ifdef HAVE_PERF_REGS_SUPPORT #ifdef HAVE_PERF_REGS_SUPPORT
......
#ifndef __PMU_H #ifndef __PMU_H
#define __PMU_H #define __PMU_H
#include <linux/bitops.h> #include <linux/bitmap.h>
#include <linux/perf_event.h> #include <linux/perf_event.h>
#include <stdbool.h> #include <stdbool.h>
......
#ifndef __PERF_STATS_H #ifndef __PERF_STATS_H
#define __PERF_STATS_H #define __PERF_STATS_H
#include "types.h" #include <linux/types.h>
struct stats struct stats
{ {
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <unistd.h> #include <unistd.h>
#include <string.h> #include <string.h>
#include <linux/bitops.h> #include <linux/bitmap.h>
#include "perf.h" #include "perf.h"
#include "svghelper.h" #include "svghelper.h"
......
#ifndef __PERF_SVGHELPER_H #ifndef __PERF_SVGHELPER_H
#define __PERF_SVGHELPER_H #define __PERF_SVGHELPER_H
#include "types.h" #include <linux/types.h>
extern void open_svg(const char *filename, int cpus, int rows, u64 start, u64 end); extern void open_svg(const char *filename, int cpus, int rows, u64 start, u64 end);
extern void svg_box(int Yslot, u64 start, u64 end, const char *type); extern void svg_box(int Yslot, u64 start, u64 end, const char *type);
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
#define __PERF_TOP_H 1 #define __PERF_TOP_H 1
#include "tool.h" #include "tool.h"
#include "types.h" #include <linux/types.h>
#include <stddef.h> #include <stddef.h>
#include <stdbool.h> #include <stdbool.h>
#include <termios.h> #include <termios.h>
......
#ifndef __PERF_TYPES_H
#define __PERF_TYPES_H
#include <stdint.h>
/*
* We define u64 as uint64_t for every architecture
* so that we can print it with "%"PRIx64 without getting warnings.
*/
typedef uint64_t u64;
typedef int64_t s64;
typedef unsigned int u32;
typedef signed int s32;
typedef unsigned short u16;
typedef signed short s16;
typedef unsigned char u8;
typedef signed char s8;
#endif /* __PERF_TYPES_H */
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
#include "unwind-libdw.h" #include "unwind-libdw.h"
#include "machine.h" #include "machine.h"
#include "thread.h" #include "thread.h"
#include "types.h" #include <linux/types.h>
#include "event.h" #include "event.h"
#include "perf_regs.h" #include "perf_regs.h"
......
#ifndef __UNWIND_H #ifndef __UNWIND_H
#define __UNWIND_H #define __UNWIND_H
#include "types.h" #include <linux/types.h>
#include "event.h" #include "event.h"
#include "symbol.h" #include "symbol.h"
......
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
#include <sys/ioctl.h> #include <sys/ioctl.h>
#include <inttypes.h> #include <inttypes.h>
#include <linux/magic.h> #include <linux/magic.h>
#include "types.h" #include <linux/types.h>
#include <sys/ttydefaults.h> #include <sys/ttydefaults.h>
#include <api/fs/debugfs.h> #include <api/fs/debugfs.h>
#include <termios.h> #include <termios.h>
......
#ifndef __PERF_VALUES_H #ifndef __PERF_VALUES_H
#define __PERF_VALUES_H #define __PERF_VALUES_H
#include "types.h" #include <linux/types.h>
struct perf_read_values { struct perf_read_values {
int threads; int threads;
......
...@@ -38,13 +38,6 @@ struct page { ...@@ -38,13 +38,6 @@ struct page {
#define __printf(a,b) __attribute__((format(printf,a,b))) #define __printf(a,b) __attribute__((format(printf,a,b)))
typedef enum {
GFP_KERNEL,
GFP_ATOMIC,
__GFP_HIGHMEM,
__GFP_HIGH
} gfp_t;
#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0])) #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
extern void *__kmalloc_fake, *__kfree_ignore_start, *__kfree_ignore_end; extern void *__kmalloc_fake, *__kfree_ignore_start, *__kfree_ignore_end;
......
#ifndef TYPES_H
#define TYPES_H
#include <stdint.h>
#define __force
#define __user
#define __must_check
#define __cold
typedef uint64_t u64;
typedef int64_t s64;
typedef uint32_t u32;
typedef int32_t s32;
typedef uint16_t u16;
typedef int16_t s16;
typedef uint8_t u8;
typedef int8_t s8;
typedef uint64_t __u64;
typedef int64_t __s64;
typedef uint32_t __u32;
typedef int32_t __s32;
typedef uint16_t __u16;
typedef int16_t __s16;
typedef uint8_t __u8;
typedef int8_t __s8;
#endif /* TYPES_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment