mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 07:12:09 +00:00
tools/lib/lockdep: Remove private kernel headers
Move to using tools/include/ instead. Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: acme@redhat.com Link: http://lkml.kernel.org/r/20170531003747.10557-2-alexander.levin@verizon.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
4ea4b3c257
commit
e58e871bec
49 changed files with 103 additions and 158 deletions
|
@ -45,6 +45,10 @@
|
|||
# define __maybe_unused __attribute__((unused))
|
||||
#endif
|
||||
|
||||
#ifndef __used
|
||||
# define __used __attribute__((__unused__))
|
||||
#endif
|
||||
|
||||
#ifndef __packed
|
||||
# define __packed __attribute__((__packed__))
|
||||
#endif
|
||||
|
@ -65,6 +69,14 @@
|
|||
# define unlikely(x) __builtin_expect(!!(x), 0)
|
||||
#endif
|
||||
|
||||
#ifndef __init
|
||||
# define __init
|
||||
#endif
|
||||
|
||||
#ifndef noinline
|
||||
# define noinline
|
||||
#endif
|
||||
|
||||
#define uninitialized_var(x) x = *(&(x))
|
||||
|
||||
#define ACCESS_ONCE(x) (*(volatile typeof(x) *)&(x))
|
||||
|
|
13
tools/include/linux/debug_locks.h
Normal file
13
tools/include/linux/debug_locks.h
Normal file
|
@ -0,0 +1,13 @@
|
|||
#ifndef _LIBLOCKDEP_DEBUG_LOCKS_H_
|
||||
#define _LIBLOCKDEP_DEBUG_LOCKS_H_
|
||||
|
||||
#include <stddef.h>
|
||||
#include <linux/compiler.h>
|
||||
#include <asm/bug.h>
|
||||
|
||||
#define DEBUG_LOCKS_WARN_ON(x) WARN_ON(x)
|
||||
|
||||
extern bool debug_locks;
|
||||
extern bool debug_locks_silent;
|
||||
|
||||
#endif
|
4
tools/include/linux/delay.h
Normal file
4
tools/include/linux/delay.h
Normal file
|
@ -0,0 +1,4 @@
|
|||
#ifndef _TOOLS_INCLUDE_LINUX_DELAY_H
|
||||
#define _TOOLS_INCLUDE_LINUX_DELAY_H
|
||||
|
||||
#endif /* _TOOLS_INCLUDE_LINUX_DELAY_H */
|
4
tools/include/linux/ftrace.h
Normal file
4
tools/include/linux/ftrace.h
Normal file
|
@ -0,0 +1,4 @@
|
|||
#ifndef _TOOLS_INCLUDE_LINUX_FTRACE_H
|
||||
#define _TOOLS_INCLUDE_LINUX_FTRACE_H
|
||||
|
||||
#endif /* _TOOLS_INCLUDE_LINUX_FTRACE_H */
|
4
tools/include/linux/gfp.h
Normal file
4
tools/include/linux/gfp.h
Normal file
|
@ -0,0 +1,4 @@
|
|||
#ifndef _TOOLS_INCLUDE_LINUX_GFP_H
|
||||
#define _TOOLS_INCLUDE_LINUX_GFP_H
|
||||
|
||||
#endif /* _TOOLS_INCLUDE_LINUX_GFP_H */
|
11
tools/include/linux/hardirq.h
Normal file
11
tools/include/linux/hardirq.h
Normal file
|
@ -0,0 +1,11 @@
|
|||
#ifndef _LIBLOCKDEP_LINUX_HARDIRQ_H_
|
||||
#define _LIBLOCKDEP_LINUX_HARDIRQ_H_
|
||||
|
||||
#define SOFTIRQ_BITS 0UL
|
||||
#define HARDIRQ_BITS 0UL
|
||||
#define SOFTIRQ_SHIFT 0UL
|
||||
#define HARDIRQ_SHIFT 0UL
|
||||
#define hardirq_count() 0UL
|
||||
#define softirq_count() 0UL
|
||||
|
||||
#endif
|
4
tools/include/linux/interrupt.h
Normal file
4
tools/include/linux/interrupt.h
Normal file
|
@ -0,0 +1,4 @@
|
|||
#ifndef _TOOLS_INCLUDE_LINUX_INTERRUPT_H
|
||||
#define _TOOLS_INCLUDE_LINUX_INTERRUPT_H
|
||||
|
||||
#endif /* _TOOLS_INCLUDE_LINUX_INTERRUPT_H */
|
38
tools/include/linux/irqflags.h
Normal file
38
tools/include/linux/irqflags.h
Normal file
|
@ -0,0 +1,38 @@
|
|||
#ifndef _LIBLOCKDEP_LINUX_TRACE_IRQFLAGS_H_
|
||||
#define _LIBLOCKDEP_LINUX_TRACE_IRQFLAGS_H_
|
||||
|
||||
# define trace_hardirq_context(p) 0
|
||||
# define trace_softirq_context(p) 0
|
||||
# define trace_hardirqs_enabled(p) 0
|
||||
# define trace_softirqs_enabled(p) 0
|
||||
# define trace_hardirq_enter() do { } while (0)
|
||||
# define trace_hardirq_exit() do { } while (0)
|
||||
# define lockdep_softirq_enter() do { } while (0)
|
||||
# define lockdep_softirq_exit() do { } while (0)
|
||||
# define INIT_TRACE_IRQFLAGS
|
||||
|
||||
# define stop_critical_timings() do { } while (0)
|
||||
# define start_critical_timings() do { } while (0)
|
||||
|
||||
#define raw_local_irq_disable() do { } while (0)
|
||||
#define raw_local_irq_enable() do { } while (0)
|
||||
#define raw_local_irq_save(flags) ((flags) = 0)
|
||||
#define raw_local_irq_restore(flags) ((void)(flags))
|
||||
#define raw_local_save_flags(flags) ((flags) = 0)
|
||||
#define raw_irqs_disabled_flags(flags) ((void)(flags))
|
||||
#define raw_irqs_disabled() 0
|
||||
#define raw_safe_halt()
|
||||
|
||||
#define local_irq_enable() do { } while (0)
|
||||
#define local_irq_disable() do { } while (0)
|
||||
#define local_irq_save(flags) ((flags) = 0)
|
||||
#define local_irq_restore(flags) ((void)(flags))
|
||||
#define local_save_flags(flags) ((flags) = 0)
|
||||
#define irqs_disabled() (1)
|
||||
#define irqs_disabled_flags(flags) ((void)(flags), 0)
|
||||
#define safe_halt() do { } while (0)
|
||||
|
||||
#define trace_lock_release(x, y)
|
||||
#define trace_lock_acquire(a, b, c, d, e, f, g)
|
||||
|
||||
#endif
|
33
tools/include/linux/kallsyms.h
Normal file
33
tools/include/linux/kallsyms.h
Normal file
|
@ -0,0 +1,33 @@
|
|||
#ifndef _LIBLOCKDEP_LINUX_KALLSYMS_H_
|
||||
#define _LIBLOCKDEP_LINUX_KALLSYMS_H_
|
||||
|
||||
#include <linux/kernel.h>
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#define KSYM_NAME_LEN 128
|
||||
|
||||
struct module;
|
||||
|
||||
static inline const char *kallsyms_lookup(unsigned long addr,
|
||||
unsigned long *symbolsize,
|
||||
unsigned long *offset,
|
||||
char **modname, char *namebuf)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#include <execinfo.h>
|
||||
#include <stdlib.h>
|
||||
static inline void print_ip_sym(unsigned long ip)
|
||||
{
|
||||
char **name;
|
||||
|
||||
name = backtrace_symbols((void **)&ip, 1);
|
||||
|
||||
dprintf(STDOUT_FILENO, "%s\n", *name);
|
||||
|
||||
free(name);
|
||||
}
|
||||
|
||||
#endif
|
25
tools/include/linux/kern_levels.h
Normal file
25
tools/include/linux/kern_levels.h
Normal file
|
@ -0,0 +1,25 @@
|
|||
#ifndef __KERN_LEVELS_H__
|
||||
#define __KERN_LEVELS_H__
|
||||
|
||||
#define KERN_SOH "" /* ASCII Start Of Header */
|
||||
#define KERN_SOH_ASCII ''
|
||||
|
||||
#define KERN_EMERG KERN_SOH "" /* system is unusable */
|
||||
#define KERN_ALERT KERN_SOH "" /* action must be taken immediately */
|
||||
#define KERN_CRIT KERN_SOH "" /* critical conditions */
|
||||
#define KERN_ERR KERN_SOH "" /* error conditions */
|
||||
#define KERN_WARNING KERN_SOH "" /* warning conditions */
|
||||
#define KERN_NOTICE KERN_SOH "" /* normal but significant condition */
|
||||
#define KERN_INFO KERN_SOH "" /* informational */
|
||||
#define KERN_DEBUG KERN_SOH "" /* debug-level messages */
|
||||
|
||||
#define KERN_DEFAULT KERN_SOH "" /* the default kernel loglevel */
|
||||
|
||||
/*
|
||||
* Annotation for a "continued" line of log printout (only done after a
|
||||
* line that had no enclosing \n). Only to be used by core/arch code
|
||||
* during early bootup (a continued line is not SMP-safe otherwise).
|
||||
*/
|
||||
#define KERN_CONT ""
|
||||
|
||||
#endif
|
|
@ -32,6 +32,7 @@
|
|||
(type *)((char *)__mptr - offsetof(type, member)); })
|
||||
#endif
|
||||
|
||||
#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
|
||||
#define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); }))
|
||||
|
||||
#ifndef max
|
||||
|
@ -89,4 +90,7 @@ int scnprintf(char * buf, size_t size, const char * fmt, ...);
|
|||
#define round_up(x, y) ((((x)-1) | __round_mask(x, y))+1)
|
||||
#define round_down(x, y) ((x) & ~__round_mask(x, y))
|
||||
|
||||
#define current_gfp_context(k) 0
|
||||
#define synchronize_sched()
|
||||
|
||||
#endif
|
||||
|
|
8
tools/include/linux/kmemcheck.h
Normal file
8
tools/include/linux/kmemcheck.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#ifndef _LIBLOCKDEP_LINUX_KMEMCHECK_H_
|
||||
#define _LIBLOCKDEP_LINUX_KMEMCHECK_H_
|
||||
|
||||
static inline void kmemcheck_mark_initialized(void *address, unsigned int n)
|
||||
{
|
||||
}
|
||||
|
||||
#endif
|
4
tools/include/linux/linkage.h
Normal file
4
tools/include/linux/linkage.h
Normal file
|
@ -0,0 +1,4 @@
|
|||
#ifndef _TOOLS_INCLUDE_LINUX_LINKAGE_H
|
||||
#define _TOOLS_INCLUDE_LINUX_LINKAGE_H
|
||||
|
||||
#endif /* _TOOLS_INCLUDE_LINUX_LINKAGE_H */
|
67
tools/include/linux/lockdep.h
Normal file
67
tools/include/linux/lockdep.h
Normal file
|
@ -0,0 +1,67 @@
|
|||
#ifndef _LIBLOCKDEP_LOCKDEP_H_
|
||||
#define _LIBLOCKDEP_LOCKDEP_H_
|
||||
|
||||
#include <sys/prctl.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <string.h>
|
||||
#include <limits.h>
|
||||
#include <linux/utsname.h>
|
||||
#include <linux/compiler.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/kern_levels.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/rcu.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/hardirq.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#define MAX_LOCK_DEPTH 63UL
|
||||
|
||||
#define asmlinkage
|
||||
#define __visible
|
||||
|
||||
#include "../../../include/linux/lockdep.h"
|
||||
|
||||
struct task_struct {
|
||||
u64 curr_chain_key;
|
||||
int lockdep_depth;
|
||||
unsigned int lockdep_recursion;
|
||||
struct held_lock held_locks[MAX_LOCK_DEPTH];
|
||||
gfp_t lockdep_reclaim_gfp;
|
||||
int pid;
|
||||
char comm[17];
|
||||
};
|
||||
|
||||
extern struct task_struct *__curr(void);
|
||||
|
||||
#define current (__curr())
|
||||
|
||||
static inline int debug_locks_off(void)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
#define task_pid_nr(tsk) ((tsk)->pid)
|
||||
|
||||
#define KSYM_NAME_LEN 128
|
||||
#define printk(...) dprintf(STDOUT_FILENO, __VA_ARGS__)
|
||||
#define pr_err(format, ...) fprintf (stderr, format, ## __VA_ARGS__)
|
||||
#define pr_warn pr_err
|
||||
|
||||
#define list_del_rcu list_del
|
||||
|
||||
#define atomic_t unsigned long
|
||||
#define atomic_inc(x) ((*(x))++)
|
||||
|
||||
#define print_tainted() ""
|
||||
#define static_obj(x) 1
|
||||
|
||||
#define debug_show_all_locks()
|
||||
extern void debug_check_no_locks_held(void);
|
||||
|
||||
static __used bool __is_kernel_percpu_address(unsigned long addr, void *can_addr)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif
|
11
tools/include/linux/module.h
Normal file
11
tools/include/linux/module.h
Normal file
|
@ -0,0 +1,11 @@
|
|||
#ifndef _LIBLOCKDEP_LINUX_MODULE_H_
|
||||
#define _LIBLOCKDEP_LINUX_MODULE_H_
|
||||
|
||||
#define module_param(name, type, perm)
|
||||
|
||||
static inline bool __is_module_percpu_address(unsigned long addr, unsigned long *can_addr)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif
|
4
tools/include/linux/mutex.h
Normal file
4
tools/include/linux/mutex.h
Normal file
|
@ -0,0 +1,4 @@
|
|||
#ifndef _TOOLS_INCLUDE_LINUX_MUTEX_H
|
||||
#define _TOOLS_INCLUDE_LINUX_MUTEX_H
|
||||
|
||||
#endif /* _TOOLS_INCLUDE_LINUX_MUTEX_H */
|
4
tools/include/linux/proc_fs.h
Normal file
4
tools/include/linux/proc_fs.h
Normal file
|
@ -0,0 +1,4 @@
|
|||
#ifndef _TOOLS_INCLUDE_LINUX_PROC_FS_H
|
||||
#define _TOOLS_INCLUDE_LINUX_PROC_FS_H
|
||||
|
||||
#endif /* _TOOLS_INCLUDE_LINUX_PROC_FS_H */
|
24
tools/include/linux/rcu.h
Normal file
24
tools/include/linux/rcu.h
Normal file
|
@ -0,0 +1,24 @@
|
|||
#ifndef _LIBLOCKDEP_RCU_H_
|
||||
#define _LIBLOCKDEP_RCU_H_
|
||||
|
||||
int rcu_scheduler_active;
|
||||
|
||||
static inline int rcu_lockdep_current_cpu_online(void)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
static inline int rcu_is_cpu_idle(void)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
static inline bool rcu_is_watching(void)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
#define rcu_assign_pointer(p, v) ((p) = (v))
|
||||
#define RCU_INIT_POINTER(p, v) p=(v)
|
||||
|
||||
#endif
|
4
tools/include/linux/sched/clock.h
Normal file
4
tools/include/linux/sched/clock.h
Normal file
|
@ -0,0 +1,4 @@
|
|||
#ifndef _TOOLS_PERF_LINUX_SCHED_CLOCK_H
|
||||
#define _TOOLS_PERF_LINUX_SCHED_CLOCK_H
|
||||
|
||||
#endif /* _TOOLS_PERF_LINUX_SCHED_CLOCK_H */
|
4
tools/include/linux/sched/task.h
Normal file
4
tools/include/linux/sched/task.h
Normal file
|
@ -0,0 +1,4 @@
|
|||
#ifndef _TOOLS_PERF_LINUX_SCHED_TASK_H
|
||||
#define _TOOLS_PERF_LINUX_SCHED_TASK_H
|
||||
|
||||
#endif /* _TOOLS_PERF_LINUX_SCHED_TASK_H */
|
4
tools/include/linux/seq_file.h
Normal file
4
tools/include/linux/seq_file.h
Normal file
|
@ -0,0 +1,4 @@
|
|||
#ifndef _TOOLS_INCLUDE_LINUX_SEQ_FILE_H
|
||||
#define _TOOLS_INCLUDE_LINUX_SEQ_FILE_H
|
||||
|
||||
#endif /* _TOOLS_INCLUDE_LINUX_SEQ_FILE_H */
|
|
@ -1,5 +1,31 @@
|
|||
#ifndef __LINUX_SPINLOCK_H_
|
||||
#define __LINUX_SPINLOCK_H_
|
||||
|
||||
#include <pthread.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#define spinlock_t pthread_mutex_t
|
||||
#define DEFINE_SPINLOCK(x) pthread_mutex_t x = PTHREAD_MUTEX_INITIALIZER;
|
||||
|
||||
#define spin_lock_irqsave(x, f) (void)f, pthread_mutex_lock(x)
|
||||
#define spin_unlock_irqrestore(x, f) (void)f, pthread_mutex_unlock(x)
|
||||
|
||||
#define arch_spinlock_t pthread_mutex_t
|
||||
#define __ARCH_SPIN_LOCK_UNLOCKED PTHREAD_MUTEX_INITIALIZER
|
||||
|
||||
static inline void arch_spin_lock(arch_spinlock_t *mutex)
|
||||
{
|
||||
pthread_mutex_lock(mutex);
|
||||
}
|
||||
|
||||
static inline void arch_spin_unlock(arch_spinlock_t *mutex)
|
||||
{
|
||||
pthread_mutex_unlock(mutex);
|
||||
}
|
||||
|
||||
static inline bool arch_spin_is_locked(arch_spinlock_t *mutex)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
32
tools/include/linux/stacktrace.h
Normal file
32
tools/include/linux/stacktrace.h
Normal file
|
@ -0,0 +1,32 @@
|
|||
#ifndef _LIBLOCKDEP_LINUX_STACKTRACE_H_
|
||||
#define _LIBLOCKDEP_LINUX_STACKTRACE_H_
|
||||
|
||||
#include <execinfo.h>
|
||||
|
||||
struct stack_trace {
|
||||
unsigned int nr_entries, max_entries;
|
||||
unsigned long *entries;
|
||||
int skip;
|
||||
};
|
||||
|
||||
static inline void print_stack_trace(struct stack_trace *trace, int spaces)
|
||||
{
|
||||
backtrace_symbols_fd((void **)trace->entries, trace->nr_entries, 1);
|
||||
}
|
||||
|
||||
#define save_stack_trace(trace) \
|
||||
((trace)->nr_entries = \
|
||||
backtrace((void **)(trace)->entries, (trace)->max_entries))
|
||||
|
||||
static inline int dump_stack(void)
|
||||
{
|
||||
void *array[64];
|
||||
size_t size;
|
||||
|
||||
size = backtrace(array, 64);
|
||||
backtrace_symbols_fd(array, size, 1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue