From: "Rod Whitby" <rod@whitby.id.au>
To: linux-mtd@lists.infradead.org
Subject: [PATCH]: Make JFFS2 endianness configurable
Date: Fri, 13 Jan 2006 06:48:07 +1030 [thread overview]
Message-ID: <1137097087.13427.251724548@webmail.messagingengine.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 665 bytes --]
This patch allows the endianness of the JFSS2 filesystem to be
specified by config options. It was discussed with dwmw2 on IRC.
It defaults to native-endian (the previously hard-coded option).
Some architectures (in particular, the NSLU2) benefit from having a
single known endianness of JFFS2 filesystem (for data, not
executables) independent of the endianness of the processor (ARM
processors can be switched to either endianness at run-time).
Signed-off-by: Rod Whitby <rod@whitby.id.au>
[Attached instead of inline due to mailer wrapping incorrectly.
Apologies in advance for any inconvenience caused by this.]
-- Rod Whitby
-- NSLU2-Linux project lead
[-- Attachment #2: 15-jffs2-endian-config.patch --]
[-- Type: application/octet-stream, Size: 2351 bytes --]
--- linux-2.6.15/fs/Kconfig~ 2006-01-03 13:51:10.000000000 +1030
+++ linux-2.6.15/fs/Kconfig 2006-01-05 01:35:36.000000000 +1030
@@ -1132,6 +1132,31 @@ config JFFS2_CMODE_SIZE
endchoice
+choice
+ prompt "JFFS2 endianness"
+ default JFFS2_NATIVE_ENDIAN
+ depends on JFFS2_FS
+ help
+ You can set here the default endianness of JFFS2 from
+ the available options. Don't touch if unsure.
+
+config JFFS2_NATIVE_ENDIAN
+ bool "native endian"
+ help
+ Uses a native endian bytestream.
+
+config JFFS2_BIG_ENDIAN
+ bool "big endian"
+ help
+ Uses a big endian bytestream.
+
+config JFFS2_LITTLE_ENDIAN
+ bool "little endian"
+ help
+ Uses a little endian bytestream.
+
+endchoice
+
config CRAMFS
tristate "Compressed ROM file system support (cramfs)"
select ZLIB_INFLATE
--- linux-2.6.15/fs/jffs2/nodelist.h~ 2006-01-05 01:37:06.000000000 +1030
+++ linux-2.6.15/fs/jffs2/nodelist.h 2006-01-05 01:37:54.000000000 +1030
@@ -29,12 +29,10 @@
#include "os-linux.h"
#endif
-#define JFFS2_NATIVE_ENDIAN
-
/* Note we handle mode bits conversion from JFFS2 (i.e. Linux) to/from
whatever OS we're actually running on here too. */
-#if defined(JFFS2_NATIVE_ENDIAN)
+#if defined(CONFIG_JFFS2_NATIVE_ENDIAN)
#define cpu_to_je16(x) ((jint16_t){x})
#define cpu_to_je32(x) ((jint32_t){x})
#define cpu_to_jemode(x) ((jmode_t){os_to_jffs2_mode(x)})
@@ -42,7 +40,7 @@
#define je16_to_cpu(x) ((x).v16)
#define je32_to_cpu(x) ((x).v32)
#define jemode_to_cpu(x) (jffs2_to_os_mode((x).m))
-#elif defined(JFFS2_BIG_ENDIAN)
+#elif defined(CONFIG_JFFS2_BIG_ENDIAN)
#define cpu_to_je16(x) ((jint16_t){cpu_to_be16(x)})
#define cpu_to_je32(x) ((jint32_t){cpu_to_be32(x)})
#define cpu_to_jemode(x) ((jmode_t){cpu_to_be32(os_to_jffs2_mode(x))})
@@ -50,7 +48,7 @@
#define je16_to_cpu(x) (be16_to_cpu(x.v16))
#define je32_to_cpu(x) (be32_to_cpu(x.v32))
#define jemode_to_cpu(x) (be32_to_cpu(jffs2_to_os_mode((x).m)))
-#elif defined(JFFS2_LITTLE_ENDIAN)
+#elif defined(CONFIG_JFFS2_LITTLE_ENDIAN)
#define cpu_to_je16(x) ((jint16_t){cpu_to_le16(x)})
#define cpu_to_je32(x) ((jint32_t){cpu_to_le32(x)})
#define cpu_to_jemode(x) ((jmode_t){cpu_to_le32(os_to_jffs2_mode(x))})
next reply other threads:[~2006-01-12 20:18 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-12 20:18 Rod Whitby [this message]
-- strict thread matches above, loose matches on Subject: below --
2018-11-01 22:56 [PATCH] Make JFFS2 endianness configurable Nikunj Kela
2018-11-02 0:02 ` Daniel Walker
2018-11-02 0:34 ` Al Viro
2018-11-02 14:04 ` Daniel Walker
2018-11-02 20:15 ` Richard Weinberger
2018-11-02 21:14 ` Daniel Walker
2018-11-02 21:22 ` Richard Weinberger
2018-11-07 1:09 ` Nikunj Kela (nkela)
2018-11-02 8:45 ` Joakim Tjernlund
2018-11-02 9:28 ` Richard Weinberger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1137097087.13427.251724548@webmail.messagingengine.com \
--to=rod@whitby.id.au \
--cc=linux-mtd@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.