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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox