/*
 * sound/oss/sound_timer.c
 */
/*
 * Copyright (C) by Hannu Savolainen 1993-1997
 *
 * OSS/Free for Linux is distributed under the GNU GENERAL PUBLIC LICENSE (GPL)
 * Version 2 (June 1991). See the "COPYING" file distributed with this software
 * for more info.
 */
/*
 * Thomas Sailer   : ioctl code reworked (vmalloc/vfree removed)
 */
#include <linux/string.h>
#include <linux/spinlock.h>

#include "sound_config.h"

static volatile int initialized, opened, tmr_running;
static volatile unsigned int tmr_offs, tmr_ctr;
static volatile unsigned long ticks_offs;
static volatile int curr_tempo, curr_timebase;
static volatile unsigned long curr_ticks;
static volatile unsigned long next_event_time;
static unsigned long prev_event_time;
static volatile unsigned long usecs_per_tmr;	/* Length of the current interval */

static struct sound_lowlev_timer *tmr;
static DEFINE_SPINLOCK(lock);

static unsigned long tmr2ticks(int tmr_value)
{
	/*
	 *    Convert timer ticks to MIDI ticks
	 */

	unsigned long tmp;
	unsigned long scale;

	tmp = tmr_value * usecs_per_tmr;	/* Convert to usecs */
	scale = (60 * 1000000) / (curr_tempo * curr_timebase);	/* usecs per MIDI tick */
	return (tmp + (scale / 2)) / scale;
}

void reprogram_timer(void)
{
	unsigned long   usecs_per_tick;

	/*
	 *	The user is changing the timer rate before setting a timer
	 *	slap, bad bad not allowed.
	 */
	 
	if(!tmr)
		return;
		
	usecs_per_tick = (60 * 1000000) / (curr_tempo * curr_timebase);

	/*
	 * Don't kill the system by setting too high timer rate
	 */
	if (usecs_per_tick < 2000)
		usecs_per_tick = 2000;

	usecs_per_tmr = tmr->tmr_start(tmr->dev, usecs_per_tick);
}

void sound_timer_syncinterval(unsigned int new_usecs)
{
	/*
	 *    This routine is called by the hardware level if
	 *      the clock frequency has changed for some reason.
	 */
	tmr_offs = tmr_ctr;
	ticks_offs += tmr2ticks(tmr_ctr);
	tmr_ctr = 0;
	usecs_per_tmr = new_usecs;
}
EXPORT_SYMBOL(sound_timer_syncinterval);

static void tmr_reset(void)
{
	unsigned long   flags;

	spin_lock_irqsave(&lock,flags);
	tmr_offs = 0;
	ticks_offs = 0;
	tmr_ctr = 0;
	next_event_time = (unsigned long) -1;
	prev_event_time = 0;
	curr_ticks = 0;
	spin_unlock_irqrestore(&lock,flags);
}

static int timer_open(int dev, int mode)
{
	if (opened)
		return -EBUSY;
	tmr_reset();
	curr_tempo = 60;
	curr_timebase = 100;
	opened = 1;
	reprogram_timer();
	return 0;
}

static void timer_close(int dev)
{
	opened = tmr_running = 0;
	tmr->tmr_disable(tmr->dev);
}

static int timer_event(int dev, unsigned char *event)
{
	unsigned char cmd = event[1];
	unsigned long parm = *(int *) &event[4];

	switch (cmd)
	{
		case TMR_WAIT_REL:
			parm += prev_event_time;
		case TMR_WAIT_ABS:
			if (parm > 0)
			{
				long time;

				if (parm <= curr_ticks)	/* It's the time */
					return TIMER_NOT_ARMED;
				time = parm;
				next_event_time = prev_event_time = time;
				return TIMER_ARMED;
			}
			break;

		case TMR_START:
			tmr_reset();
			tmr_running = 1;
			reprogram_timer();
			break;

		case TMR_STOP:
			tmr_running = 0;
			break;

		case TMR_CONTINUE:
			tmr_running = 1;
			reprogram_timer();
			break;

		case TMR_TEMPO:
			if (parm)
			{
				if (parm < 8)
					parm = 8;
				if (parm > 250)
					parm = 250;
				tmr_offs = tmr_ctr;
				ticks_offs += tmr2ticks(tmr_ctr);
				tmr_ctr = 0;
				curr_tempo = parm;
				reprogram_timer();
			}
			break;

		case TMR_ECHO:
			seq_copy_to_input(event, 8);
			break;

		default:;
	}
	return TIMER_NOT_ARMED;
}

static unsigned long timer_get_time(int dev)
{
	if (!opened)
		return 0;
	return curr_ticks;
}

static int timer_ioctl(int dev, unsigned int cmd, void __user *arg)
{
	int __user *p = arg;
	int val;

	switch (cmd) 
	{
		case SNDCTL_TMR_SOURCE:
			val = TMR_INTERNAL;
			break;

		case SNDCTL_TMR_START:
			tmr_reset();
			tmr_running = 1;
			return 0;
		
		case SNDCTL_TMR_STOP:
			tmr_running = 0;
			return 0;

		case SNDCTL_TMR_CONTINUE:
			tmr_running = 1;
			return 0;

		case SNDCTL_TMR_TIMEBASE:
			if (get_user(val, p))
				return -EFAULT;
			if (val) 
			{
				if (val < 1)
					val = 1;
				if (val > 1000)
					val = 1000;
				curr_timebase = val;
			}
			val = curr_timebase;
			break;

		case SNDCTL_TMR_TEMPO:
			if (get_user(val, p))
				return -EFAULT;
			if (val) 
			{
				if (val < 8)
					val = 8;
				if (val > 250)
					val = 250;
				tmr_offs = tmr_ctr;
				ticks_offs += tmr2ticks(tmr_ctr);
				tmr_ctr = 0;
				curr_tempo = val;
				reprogram_timer();
			}
			val = curr_tempo;
			break;

		case SNDCTL_SEQ_CTRLRATE:
			if (get_user(val, p))
				return -EFAULT;
			if (val != 0)	/* Can't change */
				return -EINVAL;
			val = ((curr_tempo * curr_timebase) + 30) / 60;
			break;
		
		case SNDCTL_SEQ_GETTIME:
			val = curr_ticks;
			break;
		
		case SNDCTL_TMR_METRONOME:
		default:
			return -EINVAL;
	}
	return put_user(val, p);
}

static void timer_arm(int dev, long time)
{
	if (time < 0)
		time = curr_ticks + 1;
	else if (time <= curr_ticks)	/* It's the time */
		return;

	next_event_time = prev_event_time = time;
	return;
}

static struct sound_timer_operations sound_timer =
{
	.owner		= THIS_MODULE,
	.info		= {"Sound Timer", 0},
	.priority	= 1,	/* Priority */
	.devlink	= 0,	/* Local device link */
	.open		= timer_open,
	.close		= timer_close,
	.event		= timer_event,
	.get_time	= timer_get_time,
	.ioctl		= timer_ioctl,
	.arm_timer	= timer_arm
};

void sound_timer_interrupt(void)
{
	unsigned long flags;
	
	if (!opened)
		return;

	tmr->tmr_restart(tmr->dev);

	if (!tmr_running)
		return;

	spin_lock_irqsave(&lock,flags);
	tmr_ctr++;
	curr_ticks = ticks_offs + tmr2ticks(tmr_ctr);

	if (curr_ticks >= next_event_time)
	{
		next_event_time = (unsigned long) -1;
		sequencer_timer(0);
	}
	spin_unlock_irqrestore(&lock,flags);
}
EXPORT_SYMBOL(sound_timer_interrupt);

void  sound_timer_init(struct sound_lowlev_timer *t, char *name)
{
	int n;

	if (initialized)
	{
		if (t->priority <= tmr->priority)
			return;	/* There is already a similar or better timer */
		tmr = t;
		return;
	}
	initialized = 1;
	tmr = t;

	n = sound_alloc_timerdev();
	if (n == -1)
		n = 0;		/* Overwrite the system timer */
	strlcpy(sound_timer.info.name, name, sizeof(sound_timer.info.name));
	sound_timer_devs[n] = &sound_timer;
}
EXPORT_SYMBOL(sound_timer_init);

ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/annotate.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/auxtrace.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>auxtrace.c</a></td><td class='ls-size'>47774</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/auxtrace.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/auxtrace.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/auxtrace.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>auxtrace.h</a></td><td class='ls-size'>22142</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/auxtrace.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/auxtrace.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/block-range.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>block-range.c</a></td><td class='ls-size'>6948</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/block-range.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/block-range.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/block-range.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>block-range.h</a></td><td class='ls-size'>1607</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/block-range.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/block-range.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/bpf-loader.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>bpf-loader.c</a></td><td class='ls-size'>40787</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/bpf-loader.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/bpf-loader.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/bpf-loader.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>bpf-loader.h</a></td><td class='ls-size'>6215</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/bpf-loader.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/bpf-loader.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/bpf-prologue.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>bpf-prologue.c</a></td><td class='ls-size'>11226</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/bpf-prologue.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/bpf-prologue.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/bpf-prologue.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>bpf-prologue.h</a></td><td class='ls-size'>847</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/bpf-prologue.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/bpf-prologue.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/build-id.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>build-id.c</a></td><td class='ls-size'>19054</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/build-id.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/build-id.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/build-id.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>build-id.h</a></td><td class='ls-size'>1859</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/build-id.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/build-id.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>d---------</td><td><a class='ls-dir' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/c++?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>c++</a></td><td class='ls-size'>184</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/c++?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/c++?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/cache.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>cache.h</a></td><td class='ls-size'>733</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/cache.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/cache.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/call-path.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>call-path.c</a></td><td class='ls-size'>2893</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/call-path.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/call-path.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/call-path.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>call-path.h</a></td><td class='ls-size'>2203</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/call-path.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/call-path.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/callchain.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>callchain.c</a></td><td class='ls-size'>29332</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/callchain.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/callchain.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/callchain.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>callchain.h</a></td><td class='ls-size'>7881</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/callchain.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/callchain.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/cgroup.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>cgroup.c</a></td><td class='ls-size'>3195</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/cgroup.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/cgroup.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/cgroup.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>cgroup.h</a></td><td class='ls-size'>359</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/cgroup.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/cgroup.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/cloexec.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>cloexec.c</a></td><td class='ls-size'>1950</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/cloexec.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/cloexec.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/cloexec.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>cloexec.h</a></td><td class='ls-size'>251</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/cloexec.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/cloexec.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/color.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>color.c</a></td><td class='ls-size'>4787</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/color.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/color.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/color.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>color.h</a></td><td class='ls-size'>1647</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/color.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/color.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/comm.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>comm.c</a></td><td class='ls-size'>2239</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/comm.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/comm.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/comm.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>comm.h</a></td><td class='ls-size'>561</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/comm.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/comm.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/config.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>config.c</a></td><td class='ls-size'>16262</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/config.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/config.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/config.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>config.h</a></td><td class='ls-size'>2113</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/config.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/config.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/counts.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>counts.c</a></td><td class='ls-size'>1026</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/counts.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/counts.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/counts.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>counts.h</a></td><td class='ls-size'>790</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/counts.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/counts.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/cpumap.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>cpumap.c</a></td><td class='ls-size'>12627</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/cpumap.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/cpumap.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/cpumap.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>cpumap.h</a></td><td class='ls-size'>1954</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/cpumap.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/cpumap.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/cs-etm.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>cs-etm.h</a></td><td class='ls-size'>2061</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/cs-etm.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/cs-etm.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/ctype.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>ctype.c</a></td><td class='ls-size'>2018</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/ctype.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/ctype.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/data-convert-bt.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>data-convert-bt.c</a></td><td class='ls-size'>36671</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/data-convert-bt.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/data-convert-bt.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/data-convert-bt.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>data-convert-bt.h</a></td><td class='ls-size'>302</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/data-convert-bt.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/data-convert-bt.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/data-convert.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>data-convert.h</a></td><td class='ls-size'>141</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/data-convert.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/data-convert.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/data.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>data.c</a></td><td class='ls-size'>3459</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/data.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/data.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/data.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>data.h</a></td><td class='ls-size'>1369</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/data.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/data.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/db-export.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>db-export.c</a></td><td class='ls-size'>11434</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/db-export.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/db-export.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/db-export.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>db-export.h</a></td><td class='ls-size'>3816</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/db-export.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/db-export.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/debug.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>debug.c</a></td><td class='ls-size'>4417</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/debug.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/debug.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/debug.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>debug.h</a></td><td class='ls-size'>2023</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/debug.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/debug.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/demangle-java.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>demangle-java.c</a></td><td class='ls-size'>4219</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/demangle-java.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/demangle-java.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/demangle-java.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>demangle-java.h</a></td><td class='ls-size'>249</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/demangle-java.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/demangle-java.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/demangle-rust.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>demangle-rust.c</a></td><td class='ls-size'>6602</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/demangle-rust.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/demangle-rust.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/demangle-rust.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>demangle-rust.h</a></td><td class='ls-size'>170</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/demangle-rust.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/demangle-rust.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/drv_configs.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>drv_configs.c</a></td><td class='ls-size'>1834</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/drv_configs.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/drv_configs.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/drv_configs.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>drv_configs.h</a></td><td class='ls-size'>844</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/drv_configs.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/drv_configs.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/dso.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>dso.c</a></td><td class='ls-size'>31994</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/dso.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/dso.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/dso.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>dso.h</a></td><td class='ls-size'>10399</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/dso.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/dso.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/dwarf-aux.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>dwarf-aux.c</a></td><td class='ls-size'>33828</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/dwarf-aux.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/dwarf-aux.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/dwarf-aux.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>dwarf-aux.h</a></td><td class='ls-size'>5101</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/dwarf-aux.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/dwarf-aux.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/dwarf-regs.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>dwarf-regs.c</a></td><td class='ls-size'>1816</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/dwarf-regs.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/dwarf-regs.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/env.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>env.c</a></td><td class='ls-size'>1884</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/env.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/env.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/env.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>env.h</a></td><td class='ls-size'>1268</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/env.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/env.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/event.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>event.c</a></td><td class='ls-size'>36670</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/event.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/event.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/event.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>event.h</a></td><td class='ls-size'>15997</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/event.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/event.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/evlist.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>evlist.c</a></td><td class='ls-size'>47104</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/evlist.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/evlist.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/evlist.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>evlist.h</a></td><td class='ls-size'>12584</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/evlist.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/evlist.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/evsel.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>evsel.c</a></td><td class='ls-size'>63917</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/evsel.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/evsel.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/evsel.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>evsel.h</a></td><td class='ls-size'>13041</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/evsel.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/evsel.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/evsel_fprintf.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>evsel_fprintf.c</a></td><td class='ls-size'>5831</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/evsel_fprintf.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/evsel_fprintf.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/find-vdso-map.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>find-vdso-map.c</a></td><td class='ls-size'>581</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/find-vdso-map.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/find-vdso-map.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/genelf.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>genelf.c</a></td><td class='ls-size'>11653</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/genelf.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/genelf.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/genelf.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>genelf.h</a></td><td class='ls-size'>1814</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/genelf.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/genelf.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/genelf_debug.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>genelf_debug.c</a></td><td class='ls-size'>14374</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/genelf_debug.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/genelf_debug.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rwxr-xr-x</td><td><a class='ls-blob sh' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/generate-cmdlist.sh?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>generate-cmdlist.sh</a></td><td class='ls-size'>1141</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/generate-cmdlist.sh?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/generate-cmdlist.sh?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/group.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>group.h</a></td><td class='ls-size'>122</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/group.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/group.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/header.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>header.c</a></td><td class='ls-size'>73410</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/header.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/header.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob h' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/header.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>header.h</a></td><td class='ls-size'>4365</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/header.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/header.h?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob c' href='/cgit.cgi/linux/net-next.git/tree/tools/perf/util/help-unknown-cmd.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>help-unknown-cmd.c</a></td><td class='ls-size'>3221</td><td><a class='button' href='/cgit.cgi/linux/net-next.git/log/tools/perf/util/help-unknown-cmd.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>log</a><a class='button' href='/cgit.cgi/linux/net-next.git/plain/tools/perf/util/help-unknown-cmd.c?h=nds-private-remove&amp;id=62e13097c46c69dbd7544ab2cd585ccf48f360a4'>plain</a></td></tr>