[PATCH 09/10] AXFS: axfs_uml.c

From: Jared Hulbert
Date: Thu Aug 21 2008 - 01:48:24 EST


UML specific code for working with iomem 'devices'. UML is handy for testing.

Signed-off-by: Jared Hulbert <jaredeh@xxxxxxxxx>
---
diff --git a/fs/axfs/axfs_uml.c b/fs/axfs/axfs_uml.c
new file mode 100644
index 0000000..7d479a0
--- /dev/null
+++ b/fs/axfs/axfs_uml.c
@@ -0,0 +1,47 @@
+/*
+ * Advanced XIP File System for Linux - AXFS
+ * Readonly, compressed, and XIP filesystem for Linux systems big and small
+ *
+ * Copyright(c) 2008 Numonyx
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * Authors:
+ * Jared Hulbert <jaredeh@xxxxxxxxx>
+ *
+ * Project url: http://axfs.sourceforge.net
+ *
+ * axfs_uml.c -
+ * Allows axfs to a UML kernels find_iomem() interface as an XIP device or
+ * dummy functions if this is not a UML build.
+ */
+
+#include <linux/axfs.h>
+#ifdef CONFIG_UML
+#include <mem_user.h>
+int axfs_get_uml_address(char *iomem, unsigned long *address,
+ unsigned long *length)
+{
+ *address = find_iomem(iomem, length);
+ if (!(*address)) {
+ printk(KERN_DEBUG "axfs: find_iomem() failed\n");
+ return -EINVAL;
+ }
+
+ if (*length < PAGE_SIZE) {
+ printk(KERN_DEBUG
+ "axfs: iomem() too small, must be at least %li Bytes\n",
+ PAGE_SIZE);
+ return -EINVAL;
+ }
+ return 0;
+}
+#else
+int axfs_get_uml_address(char *iomem, unsigned long *address,
+ unsigned long *length)
+{
+ return 0;
+}
+#endif /* CONFIG_UML */


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/