|
@@ -56,13 +56,6 @@ struct remap_trace {
|
|
|
static DEFINE_PER_CPU(struct trap_reason, pf_reason);
|
|
|
static DEFINE_PER_CPU(struct mmiotrace_rw, cpu_trace);
|
|
|
|
|
|
-#if 0 /* XXX: no way gather this info anymore */
|
|
|
-/* Access to this is not per-cpu. */
|
|
|
-static DEFINE_PER_CPU(atomic_t, dropped);
|
|
|
-#endif
|
|
|
-
|
|
|
-static struct dentry *marker_file;
|
|
|
-
|
|
|
static DEFINE_MUTEX(mmiotrace_mutex);
|
|
|
static DEFINE_SPINLOCK(trace_lock);
|
|
|
static atomic_t mmiotrace_enabled;
|
|
@@ -97,44 +90,6 @@ static bool is_enabled(void)
|
|
|
return atomic_read(&mmiotrace_enabled);
|
|
|
}
|
|
|
|
|
|
-#if 0 /* XXX: needs rewrite */
|
|
|
-/*
|
|
|
- * Write callback for the debugfs entry:
|
|
|
- * Read a marker and write it to the mmio trace log
|
|
|
- */
|
|
|
-static ssize_t write_marker(struct file *file, const char __user *buffer,
|
|
|
- size_t count, loff_t *ppos)
|
|
|
-{
|
|
|
- char *event = NULL;
|
|
|
- struct mm_io_header *headp;
|
|
|
- ssize_t len = (count > 65535) ? 65535 : count;
|
|
|
-
|
|
|
- event = kzalloc(sizeof(*headp) + len, GFP_KERNEL);
|
|
|
- if (!event)
|
|
|
- return -ENOMEM;
|
|
|
-
|
|
|
- headp = (struct mm_io_header *)event;
|
|
|
- headp->type = MMIO_MAGIC | (MMIO_MARKER << MMIO_OPCODE_SHIFT);
|
|
|
- headp->data_len = len;
|
|
|
-
|
|
|
- if (copy_from_user(event + sizeof(*headp), buffer, len)) {
|
|
|
- kfree(event);
|
|
|
- return -EFAULT;
|
|
|
- }
|
|
|
-
|
|
|
- spin_lock_irq(&trace_lock);
|
|
|
-#if 0 /* XXX: convert this to use tracing */
|
|
|
- if (is_enabled())
|
|
|
- relay_write(chan, event, sizeof(*headp) + len);
|
|
|
- else
|
|
|
-#endif
|
|
|
- len = -EINVAL;
|
|
|
- spin_unlock_irq(&trace_lock);
|
|
|
- kfree(event);
|
|
|
- return len;
|
|
|
-}
|
|
|
-#endif
|
|
|
-
|
|
|
static void print_pte(unsigned long address)
|
|
|
{
|
|
|
unsigned int level;
|
|
@@ -481,26 +436,12 @@ static void leave_uniprocessor(void)
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
-#if 0 /* XXX: out of order */
|
|
|
-static struct file_operations fops_marker = {
|
|
|
- .owner = THIS_MODULE,
|
|
|
- .write = write_marker
|
|
|
-};
|
|
|
-#endif
|
|
|
-
|
|
|
void enable_mmiotrace(void)
|
|
|
{
|
|
|
mutex_lock(&mmiotrace_mutex);
|
|
|
if (is_enabled())
|
|
|
goto out;
|
|
|
|
|
|
-#if 0 /* XXX: tracing does not support text entries */
|
|
|
- marker_file = debugfs_create_file("marker", 0660, dir, NULL,
|
|
|
- &fops_marker);
|
|
|
- if (!marker_file)
|
|
|
- pr_err(NAME "marker file creation failed.\n");
|
|
|
-#endif
|
|
|
-
|
|
|
if (nommiotrace)
|
|
|
pr_info(NAME "MMIO tracing disabled.\n");
|
|
|
enter_uniprocessor();
|
|
@@ -525,11 +466,6 @@ void disable_mmiotrace(void)
|
|
|
|
|
|
clear_trace_list(); /* guarantees: no more kmmio callbacks */
|
|
|
leave_uniprocessor();
|
|
|
- if (marker_file) {
|
|
|
- debugfs_remove(marker_file);
|
|
|
- marker_file = NULL;
|
|
|
- }
|
|
|
-
|
|
|
pr_info(NAME "disabled.\n");
|
|
|
out:
|
|
|
mutex_unlock(&mmiotrace_mutex);
|