* [PATCH/RFC 2/7] i18n: mark merge "Could not read from" message for translation
From: Ævar Arnfjörð Bjarmason @ 2011-04-10 19:34 UTC (permalink / raw)
To: git; +Cc: Junio C Hamano, Ævar Arnfjörð Bjarmason
In-Reply-To: <1302464048-21806-1-git-send-email-avarab@gmail.com>
Mark the "Could not read from '%s'" message that was added to
builtin/merge.c in v1.7.4.2~25^2 (merge: honor prepare-commit-msg
hook) by Jay Soffian for translation.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
builtin/merge.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/builtin/merge.c b/builtin/merge.c
index d54e7dd..7eda05d 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c
@@ -822,7 +822,7 @@ static void read_merge_msg(void)
{
strbuf_reset(&merge_msg);
if (strbuf_read_file(&merge_msg, git_path("MERGE_MSG"), 0) < 0)
- die_errno("Could not read from '%s'", git_path("MERGE_MSG"));
+ die_errno(_("Could not read from '%s'"), git_path("MERGE_MSG"));
}
static void run_prepare_commit_msg(void)
--
1.7.4.1
^ permalink raw reply related
* [PATCH/RFC 1/7] i18n: mark init-db messages for translation
From: Ævar Arnfjörð Bjarmason @ 2011-04-10 19:34 UTC (permalink / raw)
To: git; +Cc: Junio C Hamano, Ævar Arnfjörð Bjarmason
In-Reply-To: <1302464048-21806-1-git-send-email-avarab@gmail.com>
Mark the init-db messages that were added in v1.7.5-rc1~16^2 (init,
clone: support --separate-git-dir for .git file) by Nguyễn Thái Ngọc
Duy for translation.
This requires splitting up the tests that the patch added so that
certain parts of them can be skipped unless the C_LOCALE_OUTPUT
prerequisite is satisfied.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
builtin/init-db.c | 12 ++++++------
t/t0001-init.sh | 28 ++++++++++++++++++++--------
t/t5601-clone.sh | 7 +++++--
3 files changed, 31 insertions(+), 16 deletions(-)
diff --git a/builtin/init-db.c b/builtin/init-db.c
index b7370d9..6d0a856 100644
--- a/builtin/init-db.c
+++ b/builtin/init-db.c
@@ -319,10 +319,10 @@ int set_git_dir_init(const char *git_dir, const char *real_git_dir,
struct stat st;
if (!exist_ok && !stat(git_dir, &st))
- die("%s already exists", git_dir);
+ die(_("%s already exists"), git_dir);
if (!exist_ok && !stat(real_git_dir, &st))
- die("%s already exists", real_git_dir);
+ die(_("%s already exists"), real_git_dir);
/*
* make sure symlinks are resolved because we'll be
@@ -351,16 +351,16 @@ static void separate_git_dir(const char *git_dir)
else if (S_ISDIR(st.st_mode))
src = git_link;
else
- die("unable to handle file type %d", st.st_mode);
+ die(_("unable to handle file type %d"), st.st_mode);
if (rename(src, git_dir))
- die_errno("unable to move %s to %s", src, git_dir);
+ die_errno(_("unable to move %s to %s"), src, git_dir);
}
fp = fopen(git_link, "w");
if (!fp)
- die("Could not create git link %s", git_link);
- fprintf(fp, "gitdir: %s\n", git_dir);
+ die(_("Could not create git link %s"), git_link);
+ fprintf(fp, _("gitdir: %s\n"), git_dir);
fclose(fp);
}
diff --git a/t/t0001-init.sh b/t/t0001-init.sh
index a5816d0..fa31cbd 100755
--- a/t/t0001-init.sh
+++ b/t/t0001-init.sh
@@ -374,22 +374,28 @@ test_expect_success 'init prefers command line to GIT_DIR' '
test_expect_success 'init with separate gitdir' '
rm -rf newdir &&
git init --separate-git-dir realgitdir newdir &&
- echo "gitdir: `pwd`/realgitdir" >expected &&
- test_cmp expected newdir/.git &&
test -d realgitdir/refs
'
+test_expect_success C_LOCALE_OUTPUT 'init with separate gitdir: output' '
+ echo "gitdir: `pwd`/realgitdir" >expected &&
+ test_cmp expected newdir/.git
+'
+
test_expect_success 're-init to update git link' '
(
cd newdir &&
git init --separate-git-dir ../surrealgitdir
) &&
- echo "gitdir: `pwd`/surrealgitdir" >expected &&
- test_cmp expected newdir/.git &&
test -d surrealgitdir/refs &&
! test -d realgitdir/refs
'
+test_expect_success C_LOCALE_OUTPUT 're-init to update git link: output' '
+ echo "gitdir: `pwd`/surrealgitdir" >expected &&
+ test_cmp expected newdir/.git
+'
+
test_expect_success 're-init to move gitdir' '
rm -rf newdir realgitdir surrealgitdir &&
git init newdir &&
@@ -397,11 +403,14 @@ test_expect_success 're-init to move gitdir' '
cd newdir &&
git init --separate-git-dir ../realgitdir
) &&
- echo "gitdir: `pwd`/realgitdir" >expected &&
- test_cmp expected newdir/.git &&
test -d realgitdir/refs
'
+test_expect_success C_LOCALE_OUTPUT 're-init to move gitdir: output' '
+ echo "gitdir: `pwd`/realgitdir" >expected &&
+ test_cmp expected newdir/.git
+'
+
test_expect_success 're-init to move gitdir symlink' '
rm -rf newdir realgitdir &&
git init newdir &&
@@ -411,10 +420,13 @@ test_expect_success 're-init to move gitdir symlink' '
ln -s here .git &&
git init -L ../realgitdir
) &&
- echo "gitdir: `pwd`/realgitdir" >expected &&
- test_cmp expected newdir/.git &&
test -d realgitdir/refs &&
! test -d newdir/here
'
+test_expect_success C_LOCALE_OUTPUT 're-init to move gitdir symlink: output' '
+ echo "gitdir: `pwd`/realgitdir" >expected &&
+ test_cmp expected newdir/.git
+'
+
test_done
diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh
index 5a068b2..a50e36e 100755
--- a/t/t5601-clone.sh
+++ b/t/t5601-clone.sh
@@ -194,11 +194,14 @@ test_expect_success 'do not respect url-encoding of non-url path' '
test_expect_success 'clone separate gitdir' '
rm -rf dst &&
git clone --separate-git-dir realgitdir src dst &&
- echo "gitdir: `pwd`/realgitdir" >expected &&
- test_cmp expected dst/.git &&
test -d realgitdir/refs
'
+test_expect_success C_LOCALE_OUTPUT 'clone separate gitdir: output' '
+ echo "gitdir: `pwd`/realgitdir" >expected &&
+ test_cmp expected dst/.git
+'
+
test_expect_success 'clone separate gitdir where target already exists' '
rm -rf dst &&
test_must_fail git clone --separate-git-dir realgitdir src dst
--
1.7.4.1
^ permalink raw reply related
* [PATCH/RFC 3/7] i18n: mark merge "upstream" messages for translation
From: Ævar Arnfjörð Bjarmason @ 2011-04-10 19:34 UTC (permalink / raw)
To: git; +Cc: Junio C Hamano, Ævar Arnfjörð Bjarmason
In-Reply-To: <1302464048-21806-1-git-send-email-avarab@gmail.com>
Mark the merge messages that were added in v1.7.5-rc1~17^2 (merge:
merge with the default upstream branch without argument) by Junio C
Hamano for translation.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
builtin/merge.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/builtin/merge.c b/builtin/merge.c
index 7eda05d..6e63c08 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c
@@ -962,16 +962,16 @@ static int setup_with_upstream(const char ***argv)
const char **args;
if (!branch)
- die("No current branch.");
+ die(_("No current branch."));
if (!branch->remote)
- die("No remote for the current branch.");
+ die(_("No remote for the current branch."));
if (!branch->merge_nr)
- die("No default upstream defined for the current branch.");
+ die(_("No default upstream defined for the current branch."));
args = xcalloc(branch->merge_nr + 1, sizeof(char *));
for (i = 0; i < branch->merge_nr; i++) {
if (!branch->merge[i]->dst)
- die("No remote tracking branch for %s from %s",
+ die(_("No remote tracking branch for %s from %s"),
branch->merge[i]->src, branch->remote_name);
args[i] = branch->merge[i]->dst;
}
--
1.7.4.1
^ permalink raw reply related
* [PATCH/RFC 4/7] i18n: mark merge CHERRY_PICK_HEAD messages for translation
From: Ævar Arnfjörð Bjarmason @ 2011-04-10 19:34 UTC (permalink / raw)
To: git; +Cc: Junio C Hamano, Ævar Arnfjörð Bjarmason
In-Reply-To: <1302464048-21806-1-git-send-email-avarab@gmail.com>
Mark CHERRY_PICK_HEAD related messages in builtin/merge.c that were
added in v1.7.5-rc0~88^2~2 (Introduce CHERRY_PICK_HEAD) by Jay Soffian
for translation.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
builtin/merge.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/builtin/merge.c b/builtin/merge.c
index 6e63c08..08245b6 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c
@@ -1043,10 +1043,10 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
}
if (file_exists(git_path("CHERRY_PICK_HEAD"))) {
if (advice_resolve_conflict)
- die("You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
- "Please, commit your changes before you can merge.");
+ die(_("You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
+ "Please, commit your changes before you can merge."));
else
- die("You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).");
+ die(_("You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."));
}
resolve_undo_clear();
--
1.7.4.1
^ permalink raw reply related
* [PATCH/RFC 5/7] i18n: mark clone nonexistent repository message for translation
From: Ævar Arnfjörð Bjarmason @ 2011-04-10 19:34 UTC (permalink / raw)
To: git; +Cc: Junio C Hamano, Ævar Arnfjörð Bjarmason
In-Reply-To: <1302464048-21806-1-git-send-email-avarab@gmail.com>
Mark the "repository '%s' does not exist" message added in
v1.7.4.2~21^2 (clone: die when trying to clone missing local path) by
Jeff King for translation.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
builtin/clone.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/builtin/clone.c b/builtin/clone.c
index 4144bcf..49c838f 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -417,7 +417,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
if (path)
repo = xstrdup(absolute_path(repo_name));
else if (!strchr(repo_name, ':'))
- die("repository '%s' does not exist", repo_name);
+ die(_("repository '%s' does not exist"), repo_name);
else
repo = repo_name;
is_local = path && !is_bundle;
--
1.7.4.1
^ permalink raw reply related
* [PATCH/RFC 6/7] i18n: mark checkout --detach messages for translation
From: Ævar Arnfjörð Bjarmason @ 2011-04-10 19:34 UTC (permalink / raw)
To: git; +Cc: Junio C Hamano, Ævar Arnfjörð Bjarmason
In-Reply-To: <1302464048-21806-1-git-send-email-avarab@gmail.com>
Mark messages added in v1.7.5-rc0~117^2~2 (checkout: introduce
--detach synonym for "git checkout foo^{commit}") by Junio C Hamano
for translation.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
builtin/checkout.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/builtin/checkout.c b/builtin/checkout.c
index eece5d6..0b65edd 100644
--- a/builtin/checkout.c
+++ b/builtin/checkout.c
@@ -961,9 +961,9 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)
die (_("--patch is incompatible with all other options"));
if (opts.force_detach && (opts.new_branch || opts.new_orphan_branch))
- die("--detach cannot be used with -b/-B/--orphan");
+ die(_("--detach cannot be used with -b/-B/--orphan"));
if (opts.force_detach && 0 < opts.track)
- die("--detach cannot be used with -t");
+ die(_("--detach cannot be used with -t"));
/* --track without -b should DWIM */
if (0 < opts.track && !opts.new_branch) {
@@ -1043,7 +1043,7 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)
}
if (opts.force_detach)
- die("git checkout: --detach does not take a path argument");
+ die(_("git checkout: --detach does not take a path argument"));
if (1 < !!opts.writeout_stage + !!opts.force + !!opts.merge)
die(_("git checkout: --ours/--theirs, --force and --merge are incompatible when\nchecking out of the index."));
--
1.7.4.1
^ permalink raw reply related
* [PATCH/RFC 7/7] i18n: mark checkout plural warning for translation
From: Ævar Arnfjörð Bjarmason @ 2011-04-10 19:34 UTC (permalink / raw)
To: git; +Cc: Junio C Hamano, Ævar Arnfjörð Bjarmason
In-Reply-To: <1302464048-21806-1-git-send-email-avarab@gmail.com>
Mark the "Warning: you are leaving %d commit(s) behind" message added
in v1.7.5-rc0~74^2 (commit: give final warning when reattaching HEAD
to leave commits behind) by Junio C Hamano for translation.
This message requires the use of ngettext() features, and is the first
message to use the Q_() wrapper around ngettext().
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
builtin/checkout.c | 18 +++++++++++++++---
t/t2020-checkout-detach.sh | 15 ++++++++++++---
2 files changed, 27 insertions(+), 6 deletions(-)
diff --git a/builtin/checkout.c b/builtin/checkout.c
index 0b65edd..5e94720 100644
--- a/builtin/checkout.c
+++ b/builtin/checkout.c
@@ -648,18 +648,30 @@ static void suggest_reattach(struct commit *commit, struct rev_info *revs)
if (more == 1)
describe_one_orphan(&sb, last);
else
- strbuf_addf(&sb, " ... and %d more.\n", more);
+ strbuf_addf(&sb, _(" ... and %d more.\n"), more);
}
fprintf(stderr,
- "Warning: you are leaving %d commit%s behind, "
+ Q_(
+ /* The singular version */
+ "Warning: you are leaving %d commit behind, "
"not connected to\n"
"any of your branches:\n\n"
"%s\n"
"If you want to keep them by creating a new branch, "
"this may be a good time\nto do so with:\n\n"
" git branch new_branch_name %s\n\n",
- lost, ((1 < lost) ? "s" : ""),
+ /* The plural version */
+ "Warning: you are leaving %d commits behind, "
+ "not connected to\n"
+ "any of your branches:\n\n"
+ "%s\n"
+ "If you want to keep them by creating a new branch, "
+ "this may be a good time\nto do so with:\n\n"
+ " git branch new_branch_name %s\n\n",
+ /* Give ngettext() the count */
+ lost),
+ lost,
sb.buf,
sha1_to_hex(commit->object.sha1));
strbuf_release(&sb);
diff --git a/t/t2020-checkout-detach.sh b/t/t2020-checkout-detach.sh
index 569b27f..ab782e2 100755
--- a/t/t2020-checkout-detach.sh
+++ b/t/t2020-checkout-detach.sh
@@ -108,21 +108,30 @@ test_expect_success 'checkout warns on orphan commits' '
echo content >orphan &&
git add orphan &&
git commit -a -m orphan &&
- git checkout master 2>stderr &&
+ git checkout master 2>stderr
+'
+
+test_expect_success C_LOCALE_OUTPUT 'checkout warns on orphan commits: output' '
check_orphan_warning stderr
'
test_expect_success 'checkout does not warn leaving ref tip' '
reset &&
git checkout --detach two &&
- git checkout master 2>stderr &&
+ git checkout master 2>stderr
+'
+
+test_expect_success C_LOCALE_OUTPUT 'checkout does not warn leaving ref tip' '
check_no_orphan_warning stderr
'
test_expect_success 'checkout does not warn leaving reachable commit' '
reset &&
git checkout --detach HEAD^ &&
- git checkout master 2>stderr &&
+ git checkout master 2>stderr
+'
+
+test_expect_success C_LOCALE_OUTPUT 'checkout does not warn leaving reachable commit' '
check_no_orphan_warning stderr
'
--
1.7.4.1
^ permalink raw reply related
* [PATCH] Makefile: extract Q_() source strings as ngettext()
From: Ævar Arnfjörð Bjarmason @ 2011-04-10 19:37 UTC (permalink / raw)
To: git; +Cc: Junio C Hamano, Jonathan Nieder,
Ævar Arnfjörð Bjarmason
The patch adding the Q_() wrapper function around ngettext[1] didn't
contain a corresponding update to the "pot" target in the Makefile. As
a result "make pot" wouldn't extract gettext messages using the plural
form.
1. added by Jonathan Nieder in v1.7.5-rc0~54^2~2 (i18n: add stub Q_()
wrapper for ngettext).
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
Makefile | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/Makefile b/Makefile
index 92c1c5e..2441d56 100644
--- a/Makefile
+++ b/Makefile
@@ -2051,7 +2051,7 @@ XGETTEXT_FLAGS = \
--add-comments \
--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
--from-code=UTF-8
-XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --keyword=_ --keyword=N_ --language=C
+XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --keyword=_ --keyword=N_ --keyword="Q_:1,2" --language=C
LOCALIZED_C := $(C_OBJ:o=c)
po/git.pot: $(LOCALIZED_C)
--
1.7.4.1
^ permalink raw reply related
* Re: [Qemu-devel] tcg/tcg.c:1892: tcg fatal error
From: Artyom Tarasenko @ 2011-04-10 19:37 UTC (permalink / raw)
To: Igor Kovalenko; +Cc: Blue Swirl, peter.maydell, qemu-devel, Aurelien Jarno
In-Reply-To: <BANLkTim4fH31rQQ+-tF6bLNAMOwtcdnrQQ@mail.gmail.com>
On Sun, Apr 10, 2011 at 8:52 PM, Igor Kovalenko
<igor.v.kovalenko@gmail.com> wrote:
> On Sun, Apr 10, 2011 at 10:35 PM, Artyom Tarasenko <atar4qemu@gmail.com> wrote:
>> On Sun, Apr 10, 2011 at 7:57 PM, Blue Swirl <blauwirbel@gmail.com> wrote:
>>> On Sun, Apr 10, 2011 at 8:48 PM, Artyom Tarasenko <atar4qemu@gmail.com> wrote:
>>>> On Sun, Apr 10, 2011 at 4:44 PM, Blue Swirl <blauwirbel@gmail.com> wrote:
>>>>> On Sun, Apr 10, 2011 at 5:09 PM, Artyom Tarasenko <atar4qemu@gmail.com> wrote:
>>>>>> On Sun, Apr 10, 2011 at 3:24 PM, Aurelien Jarno <aurelien@aurel32.net> wrote:
>>>>>>> On Sun, Apr 10, 2011 at 02:29:59PM +0200, Artyom Tarasenko wrote:
>>>>>>>> Trying to boot some proprietary OS I get qemu-system-sparc64 crash with a
>>>>>>>>
>>>>>>>> tcg/tcg.c:1892: tcg fatal error
>>>>>>>>
>>>>>>>> error message.
>>>>>>>>
>>>>>>>> It looks like it can be a platform independent bug though, because
>>>>>>>> when a '-singlestep' option IS present, qemu doesn't crash and seems
>>>>>>>> to translate the code properly.
>>>>>>>>
>>>>>>>> (gdb) bt
>>>>>>>> #0 0x00000032c2e327f5 in raise () from /lib64/libc.so.6
>>>>>>>> #1 0x00000032c2e33fd5 in abort () from /lib64/libc.so.6
>>>>>>>> #2 0x000000000051933d in tcg_reg_alloc_call (s=<value optimized out>,
>>>>>>>> def=0x89d340, opc=INDEX_op_call, args=0x10acc98, dead_iargs=3) at
>>>>>>>> qemu/tcg/tcg.c:1892
>>>>>>>> #3 0x000000000051a557 in tcg_gen_code_common (s=0x10b8940,
>>>>>>>> gen_code_buf=0x40338b60 "I\213n@H\213] 3\355I\211\256\220") at
>>>>>>>> qemu/tcg/tcg.c:2099
>>>>>>>> #4 tcg_gen_code (s=0x10b8940, gen_code_buf=0x40338b60 "I\213n@H\213]
>>>>>>>> 3\355I\211\256\220") at qemu/tcg/tcg.c:2142
>>>>>>>> #5 0x00000000004d38f1 in cpu_sparc_gen_code (env=0x10cce10,
>>>>>>>> tb=0x7fffe91bc218, gen_code_size_ptr=0x7fffffffd9b4) at
>>>>>>>> qemu/translate-all.c:93
>>>>>>>> #6 0x00000000004d1fd7 in tb_gen_code (env=0x10cce10, pc=18868776,
>>>>>>>> cs_base=18868780, flags=15, cflags=0) at qemu/exec.c:989
>>>>>>>> #7 0x00000000004d4029 in tb_find_slow (env1=<value optimized out>) at
>>>>>>>> qemu/cpu-exec.c:167
>>>>>>>> #8 tb_find_fast (env1=<value optimized out>) at cpu-exec.c:194
>>>>>>>> #9 cpu_sparc_exec (env1=<value optimized out>) at qemu/cpu-exec.c:556
>>>>>>>> #10 0x0000000000408868 in tcg_cpu_exec () at qemu/cpus.c:1066
>>>>>>>> #11 cpu_exec_all () at qemu/cpus.c:1102
>>>>>>>> #12 0x000000000053c756 in main_loop (argc=<value optimized out>,
>>>>>>>> argv=<value optimized out>, envp=<value optimized out>) at
>>>>>>>> qemu/vl.c:1430
>>>>>>>>
>>>>>>>> I inspected ts->val_type causing the abort() case and it turned out to be 0.
>>>>>>>>
>>>>>>>> The last lines of qemu.log (without -singlestep)
>>>>>>>> IN:
>>>>>>>> 0x00000000011fe9f0: rdpr %pstate, %g1
>>>>>>>> 0x00000000011fe9f4: wrpr %g1, 2, %pstate
>>>>>>>> --------------
>>>>>>>> IN:
>>>>>>>> 0x00000000011fe9f8: ldub [ %o0 ], %o1
>>>>>>>> 0x00000000011fe9fc: mov %o1, %o2
>>>>>>>> 0x00000000011fea00: rdpr %tick, %o3
>>>>>>>> 0x00000000011fea04: cmp %o1, %o2
>>>>>>>> 0x00000000011fea08: be %icc, 0x11fea00
>>>>>>>> 0x00000000011fea0c: ldub [ %o0 ], %o2
>>>>>>>>
>>>>>>>> Search PC...
>>>>>>>> Search PC...
>>>>>>>> Search PC...
>>>>>>>> Search PC...
>>>>>>>> Search PC...
>>>>>>>> Search PC...
>>>>>>>> --------------
>>>>>>>> IN:
>>>>>>>> 0x00000000011fe9f8: ldub [ %o0 ], %o1
>>>>>>>> 0x00000000011fe9fc: mov %o1, %o2
>>>>>>>> 0x00000000011fea00: rdpr %tick, %o3
>>>>>>>> 0x00000000011fea04: cmp %o1, %o2
>>>>>>>> 0x00000000011fea08: be %icc, 0x11fea00
>>>>>>>> 0x00000000011fea0c: ldub [ %o0 ], %o2
>>>>>>>>
>>>>>>>> 110521: Data Access MMU Miss (v=0068) pc=00000000011fe9f8
>>>>>>>> npc=00000000011fe9fc SP=000000000180ae41
>>>>>>>> pc: 00000000011fe9f8 npc: 00000000011fe9fc
>>>>>>>>
>>>>>>>> IN:
>>>>>>>> 0x00000000011fea00: rdpr %tick, %o3
>>>>>>>> 0x00000000011fea04: cmp %o1, %o2
>>>>>>>> 0x00000000011fea08: be %icc, 0x11fea00
>>>>>>>> 0x00000000011fea0c: ldub [ %o0 ], %o2
>>>>>>>> --------------
>>>>>>>> IN:
>>>>>>>> 0x00000000011fea10: brz,pn %o2, 0x11fe9f8
>>>>>>>> 0x00000000011fea14: mov %o2, %o4
>>>>>>>> --------------
>>>>>>>> IN:
>>>>>>>> 0x00000000011fea18: rdpr %tick, %o5
>>>>>>>> 0x00000000011fea1c: cmp %o2, %o4
>>>>>>>> 0x00000000011fea20: be %icc, 0x11fea18
>>>>>>>> 0x00000000011fea24: ldub [ %o0 ], %o4
>>>>>>>> --------------
>>>>>>>> IN:
>>>>>>>> 0x00000000011fea28: brz,pn %o4, 0x11fe9f4
>>>>>>>> 0x00000000011fea2c: wrpr %g0, %g1, %pstate
>>>>>>>> <EOF>
>>>>>>>>
>>>>>>>> The crash is 100% reproducible and happens always on the same place,
>>>>>>>> so it's probably a pure TCG issue, not related on getting the
>>>>>>>> external/timer interrupts.
>>>>>>>>
>>>>>>>> Do you need any additional info?
>>>>>>>>
>>>>>>>
>>>>>>> What would be interesting would be to get the corresponding TCG code
>>>>>>> from qemu.log (-d op,op_opt).
>>>>>>
>>>>>>
>>>>>> OP:
>>>>>> ---- 0x11fea28
>>>>>> ld_i64 tmp6,regwptr,$0x20
>>>>>> movi_i64 cond,$0x0
>>>>>> movi_i64 tmp8,$0x0
>>>>>> brcond_i64 tmp6,tmp8,ne,$0x0
>>>>>> movi_i64 cond,$0x1
>>>>>> set_label $0x0
>>>>>>
>>>>>> ---- 0x11fea2c
>>>>>> movi_i64 tmp7,$0x0
>>>>>> xor_i64 tmp0,tmp7,g1
>>>>>> movi_i64 pc,$0x11fea2c
>>>>>> movi_i64 tmp8,$compute_psr
>>>>>> call tmp8,$0x0,$0
>>>>>> movi_i64 tmp8,$0x0
>>>>>> brcond_i64 cond,tmp8,eq,$0x1
>>>>>> movi_i64 npc,$0x11fe9f4
>>>>>> br $0x2
>>>>>> set_label $0x1
>>>>>> movi_i64 npc,$0x11fea30
>>>>>> set_label $0x2
>>>>>> movi_i64 tmp8,$wrpstate
>>>>>> call tmp8,$0x0,$0,tmp0
>>>>>> mov_i64 pc,npc
>>>>>> movi_i64 tmp8,$0x4
>>>>>> add_i64 npc,npc,tmp8
>>>>>> exit_tb $0x0
>>>>>>
>>>>>> OP after liveness analysis:
>>>>>> ---- 0x11fea28
>>>>>> ld_i64 tmp6,regwptr,$0x20
>>>>>> movi_i64 cond,$0x0
>>>>>> movi_i64 tmp8,$0x0
>>>>>> brcond_i64 tmp6,tmp8,ne,$0x0
>>>>>> movi_i64 cond,$0x1
>>>>>> set_label $0x0
>>>>>>
>>>>>> ---- 0x11fea2c
>>>>>> nopn $0x2,$0x2
>>>>>> nopn $0x3,$0x68,$0x3
>>>>>> movi_i64 pc,$0x11fea2c
>>>>>> movi_i64 tmp8,$compute_psr
>>>>>> call tmp8,$0x0,$0
>>>>>> movi_i64 tmp8,$0x0
>>>>>> brcond_i64 cond,tmp8,eq,$0x1
>>>>>> movi_i64 npc,$0x11fe9f4
>>>>>> br $0x2
>>>>>> set_label $0x1
>>>>>> movi_i64 npc,$0x11fea30
>>>>>> set_label $0x2
>>>>>> movi_i64 tmp8,$wrpstate
>>>>>> call tmp8,$0x0,$0,tmp0
>>>>>> mov_i64 pc,npc
>>>>>> movi_i64 tmp8,$0x4
>>>>>> add_i64 npc,npc,tmp8
>>>>>> exit_tb $0x0
>>>>>> end
>>>>>>
>>>>>> Does it mean the last block is processed correctly and the crash
>>>>>> happens on the next instruction which doesn't make it to the log?
>>>>>> The next instruction would be a
>>>>>>
>>>>>> 0x00000000011fea30: retl
>>>>>>
>>>>>> Since it's a branch instruction I guess this would also be a tcg block boundary.
>>>>>
>>>>> Because abort() was called from tcg_reg_alloc_call, I'd say 'retl'
>>>>> (synthetic op for 'jmpl %o8 + 8, %g0') was the problem.
>>>>
>>>> Any idea why? retl is not a rare instruction...
>>>
>>> Sorry, calls are generated for helpers, so it's not 'jmpl' but the
>>> call to wrpstate helper.
>>
>> And why it doesn't happen in a singlestep mode?
>> I tried to comment out
>> cpu_check_irqs(env);
>> in the helper_wrpstate but it made no difference. The only suspicious
>> thing left is register bank switching. Is it safe to switch register
>> banks in the helper function? Shouldn't we end the translation block
>> before?
>
> Not sure if I have seen write to pstate in delay slot, but switching
> globals with PS_AG appears to be safe.
> Do you know which bits are changed in the pstate?
Hard to say. With a breakpoint set qemu doesn't crash.
The breakpoint shows the change from 0x14->0x16.
So the only difference is that interrupts are getting enabled. No
register bank change.
(And now also no cpu_check_irqs(env) call, because I commented it out.)
But given there was a Data Access MMU Miss, I would expect there must
have beeb a PS_MG switch.
Also the breakpoint makes tcg to cut the translation block before the wrpr:
IN:
0x00000000011fea18: rdpr %tick, %o5
0x00000000011fea1c: cmp %o2, %o4
0x00000000011fea20: be %icc, 0x11fea18
0x00000000011fea24: ldub [ %o0 ], %o4
--------------
IN:
0x00000000011fea28: brz,pn %o4, 0x11fe9f4
--------------
IN:
0x00000000011fea2c: wrpr %g0, %g1, %pstate
--------------
IN:
0x00000000011fea30: retl
--------------
IN:
0x00000000011fea30: retl
0x00000000011fea34: sub %o5, %o3, %o0
--
Regards,
Artyom Tarasenko
solaris/sparc under qemu blog: http://tyom.blogspot.com/
^ permalink raw reply
* You Have A Recommendation, CONTACT DR WU: philip.wuo@live.hk
From: Adam Unsworth @ 2011-04-10 19:35 UTC (permalink / raw)
Director of Wing Lung Bank with business proposal of $48.5m
USD,Contact Dr.Philp po-him Wu for full details Email:
philip.wuo@live.hk
^ permalink raw reply
* [PATCH] RDMA/cxgb4: missing parentheses
From: roel @ 2011-04-10 19:47 UTC (permalink / raw)
To: Steve Wise, linux-rdma-u79uwXL29TY76Z2rM5mHXA, Andrew Morton,
LKML
Parens are missing: '|' has a higher presedence than '?'.
Signed-off-by: Roel Kluin <roel.kluin-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
drivers/infiniband/hw/cxgb4/qp.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/infiniband/hw/cxgb4/qp.c b/drivers/infiniband/hw/cxgb4/qp.c
index 70a5a3c..80cab20 100644
--- a/drivers/infiniband/hw/cxgb4/qp.c
+++ b/drivers/infiniband/hw/cxgb4/qp.c
@@ -214,7 +214,7 @@ static int create_qp(struct c4iw_rdev *rdev, struct t4_wq *wq,
V_FW_RI_RES_WR_HOSTFCMODE(0) | /* no host cidx updates */
V_FW_RI_RES_WR_CPRIO(0) | /* don't keep in chip cache */
V_FW_RI_RES_WR_PCIECHN(0) | /* set by uP at ri_init time */
- t4_sq_onchip(&wq->sq) ? F_FW_RI_RES_WR_ONCHIP : 0 |
+ (t4_sq_onchip(&wq->sq) ? F_FW_RI_RES_WR_ONCHIP : 0) |
V_FW_RI_RES_WR_IQID(scq->cqid));
res->u.sqrq.dcaen_to_eqsize = cpu_to_be32(
V_FW_RI_RES_WR_DCAEN(0) |
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related
* [PATCH] RDMA/cxgb4: missing parentheses
From: roel @ 2011-04-10 19:47 UTC (permalink / raw)
To: Steve Wise, linux-rdma, Andrew Morton, LKML
Parens are missing: '|' has a higher presedence than '?'.
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
---
drivers/infiniband/hw/cxgb4/qp.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/infiniband/hw/cxgb4/qp.c b/drivers/infiniband/hw/cxgb4/qp.c
index 70a5a3c..80cab20 100644
--- a/drivers/infiniband/hw/cxgb4/qp.c
+++ b/drivers/infiniband/hw/cxgb4/qp.c
@@ -214,7 +214,7 @@ static int create_qp(struct c4iw_rdev *rdev, struct t4_wq *wq,
V_FW_RI_RES_WR_HOSTFCMODE(0) | /* no host cidx updates */
V_FW_RI_RES_WR_CPRIO(0) | /* don't keep in chip cache */
V_FW_RI_RES_WR_PCIECHN(0) | /* set by uP at ri_init time */
- t4_sq_onchip(&wq->sq) ? F_FW_RI_RES_WR_ONCHIP : 0 |
+ (t4_sq_onchip(&wq->sq) ? F_FW_RI_RES_WR_ONCHIP : 0) |
V_FW_RI_RES_WR_IQID(scq->cqid));
res->u.sqrq.dcaen_to_eqsize = cpu_to_be32(
V_FW_RI_RES_WR_DCAEN(0) |
^ permalink raw reply related
* Re: [RFC PATCH 00/11] Sequencer Foundations
From: Jonathan Nieder @ 2011-04-10 19:47 UTC (permalink / raw)
To: Ramkumar Ramachandra; +Cc: Git List, Christian Couder, Daniel Barkalow
In-Reply-To: <1302448317-32387-1-git-send-email-artagnon@gmail.com>
Hi again,
Ramkumar Ramachandra wrote:
> I've started working on building a sequencer for Git.
Happy to see.
> 0. Is the general flow alright?
Not sure --- I don't have the big picture. Could you give a quick
summary of the flow in the cover letter ("patch 1 does such-and-such,
so patch 2 can do such-and-such, leading to...") to the next revision,
and quick explanations of the purpose (i.e., why we should want each
change) in the individual change descriptions?
> 1. Is it okay to use this kind of adaptive error handling (calling
> 'die' in some places and returning error in other places), or should
> it be more uniform?
'die' gets used in two ways (well, one way really):
- to say "there is no sane way to recover from this failure". For
example, xmalloc dies if even after trying to free up memory,
malloc still could not satisfy the request.
- to say "so far we've been too lazy to implement recovery from
this failure". Or "while we *could* recover from this failure, no
one has needed it, so let's not --- that code would just bitrot."
Therefore a mixture of 'die' and 'return error' seems inevitable. The
dangerous mixtures to avoid are those likely to trip up callers (e.g.,
if all code paths 'return error' except one edge case).
> 2. In 11/11, I've used cmd_revert and cmd_rerere. This is highly
> inelegant, mainly because of the command-line argument parsing
> overhead. Re-implementing it using more low-level functions doesn't
> seem to be the way to go either: for example, 'reset --hard' has some
> additional logic of writing HEAD and ORIG_HEAD, which I don't want to
> duplicate. Should I work on reworking parts of 'rerere.c' and
> 'revert.c', or is there some other way?
See "git log --grep=libify" for examples. Isn't rerere already
libified? Ah, you need "rerere clear" --- I think a rerere_clear
function alongside rerere_forget et al would make sense.
More generally, it should be feasible to expose a nice, simple API for
any functionality you need (with params struct if necessary, etc).
That's how many of the current APIs (revision walking, diffcore, ...)
came about.
> 3. From the format of the TODO and DONE files, one more thing should
> be clear- I'm trying to stick to a slight variation of the 'rebase -i'
> format. This part will go into the sequencer. Then I'll use a
> cherry-pick specific file to keep the command-line options. Yes, I'm
> trying to work on Daniel's idea [3] from the very start. Is this a
> good idea?
This is still bouncing in my head. I think I like it --- is the idea
that some day you could put commands like
am topic.mbox
in your insn sheet, or do nested rebases with a --force-nested option?
That does sound useful. How would one request "skip to the next
operation in the outer rebase" on the command line? This is starting
to feel like a debugger.
> 4. I have a feeling that I've broken translation strings. Is there a
> README, plus a bunch of tests I can run to make sure that I've not
> broken anything?
If you put "GETTEXT_POISON = YesPlease" in your config.mak, the
translations will be translated to gibberish when the GIT_GETTEXT_POISON
envvar is set, so you can use the test suite as a sanity check.
"make pot" can be used to get the translation template that
translators will see.
As for a readme explaining how to use _, N_, and Q_, yes, I think that
would be useful. I think Ævar's series has something like that (but
targetted at translators) later on; it might make sense to prod him or
me for a simpler explanation can be merged immediately. Until then,
there is "git log gettext.h".
Regards,
Jonathan
^ permalink raw reply
* python-numpy prone to use host libraries
From: Patrik Dahlström (student) @ 2011-04-10 19:45 UTC (permalink / raw)
To: openembedded-devel
I have been resolving issues regarding python-numpy this whole day and I would
like to share my findings. python-numpy is a package required by opencv_2.2,
which is a dependency of gst-plugins-bad making it essential to quite a lot of
images.
First of all, python-numpy requires a fortran compiler and gcc-4.5 specifically
disables the fortran language per default. From gcc-4.5.inc
# Language Overrides
FORTRAN = ""
I am unsure what the best approach is, but I resolved this by changing to
FORTRAN = ",fortran"
Looking at the compile log of python-numpy there were several instances of the
following:
blas_info:
libraries blas not found in
/home/bitbake/build/tmp_beagleboard/sysroots/x86_64-linux/usr/lib
libraries blas not found in /usr/local/lib64
libraries blas not found in /usr/local/lib
FOUND:
libraries = ['blas']
library_dirs = ['/usr/lib64']
language = f77
FOUND:
libraries = ['blas']
library_dirs = ['/usr/lib64']
define_macros = [('NO_ATLAS_INFO', 1)]
language = f77
It clearly tries to link against my host libraries and fails. My resort was
simply to remove my host libraries (not needed at the moment). However, there
are other ways to counter this problem.
Looking at the python-numpy sources, there is a file called site.cfg.example.
In it, there is descriptions on how to supply python-numpy with configuration
information about non-Python dependencies. It shouldn't be any problem
generating site.cfg files for relevant parts of the python-numpy source.
I am however uncertain on how to proceed with this and could use some
assistance.
--
MvH / with best regards
Patrik Dahlström
Ordförande/president - http://www.studentfiket.com/
Penga-Mas (Kassör)/cashier - Dalarnas Nation
"Alla djur, utom människan, vet att livets huvudsakliga mening är att njuta av
det! --Samuel Butler
"Every animal, except man, knows that the fundamental meaning of life is to
enjoy it" --Samuel Butler
() ascii ribbon campaign - against html e-mail
/\ www.asciiribbon.org - against proprietary attachments
^ permalink raw reply
* [PATCH 1/6] ARM: mxc: update defconfigs
From: Uwe Kleine-König @ 2011-04-10 19:48 UTC (permalink / raw)
To: linux-arm-kernel
- enable new machines:
- IMX27IPCAM (mx27)
- VPR200 (mx3)
- EUKREA_CPUIMX51SD (mx51)
- MX51_EFIKAMX (mx51)
- MX51_EFIKASB (mx51)
- disable SYSFS_DEPRECATED_V2 (mx1, mx21, mx3)
- enable CPU_IDLE (mx27)
- enable MXC_PWM (mx1, mx51)
- drop PM=y, defaults to y since
1eb208a (PM: Make CONFIG_PM depend on (CONFIG_PM_SLEEP || CONFIG_PM_RUNTIME))
(mx1, mx27, mx3, mx51)
- enable CAN_MCP251X (mx27, mx51) and CAN_SJA1000 (mx27)
- enable MTD_NAND_MXC and UBI (mx51)
- add MISC_DEVICES=y, defaults to n since
5f2365d (misc devices: do not enable by default)
(EEPROM_AT24 depends on MISC_DEVICES) (mx27, mx3)
or drop MISC_DEVICES=n (mx1, mx51)
- enable EEPROM_AT25 (mx27)
- drop INOTIFY; is gone since
2dfc1ca (inotify: remove inotify in kernel interface)
(mx1)
- drop VGA_CONSOLE; isn't selectable on imx any more since
fb78b51 (ARM: Disable VGA console for ARM in most cases)
(mx21)
- drop FEC=y, defaults to y since
085e79e (net/fec: consolidate all i.MX options to CONFIG_ARM)
(mx27, mx3, mx51)
- drop CRYPTO_ANSI_CPRNG=n; depends on CRYPTO which is unset (mx1)
- drop VIDEO_ALLOW_V4L1=n; gone since
58c66df ([media] Remove VIDEO_V4L1 Kconfig option)
(mx3)
- enable mc13xxx including regulator, rtc, touch and led (mx27, mx3, mx51)
- enable KEYBOARD_GPIO (mx27, mx3) and KEYBOARD_IMX (mx27, mx3, mx51)
- drop SERIO=n as KEYBOARD_ATKBD (default y since INPUT=y) selects SERIO
(mx27, mx3)
- enable I2C_IMX and SPI_IMX (mx51)
- enable SND_IMX_SOC including platfrom glue (mx27, mx3, mx51)
- enable SOC_CAMERA_MT9{T031,V022} (mx27)
- enable VIDEO_MX2 (mx27)
- enable LEDS_GPIO and LEDS_PWM (mx27, mx3, mx51)
- enable USB_EHCI_MXC (mx27)
- enable IMX_DMA (mx1, mx21, mx27)
- enable IMX_SDMA (mx3, mx51)
- RCU_CPU_STALL_DETECTOR isn't selectable any more since
687d7a9 (rcu: restrict TREE_RCU to SMP builds with !PREEMPT)
(mx51)
- MMC_MXC isn't selectable any more since
170cba8 (mmc: mmc_mxc: Allow selection only for the correct platforms)
(mx1)
- drop MTD_CONCAT; gone since
f53fdeb (mtd: drop MTD_CONCAT from Kconfig entirely)
(mx51)
- drop AUTOFS_FS=y; is in staging since
db7bee2 (autofs3: move to drivers/staging)
(mx51)
- change CRYPTO_DEFLATE and CRYPTO_LZO to =m as they depend on
CRYPTO since
cce9e06 ([CRYPTO] api: Split out low-level API)
and CRYPTO is only =m. (mx51)
Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>
---
arch/arm/configs/mx1_defconfig | 11 +++-----
arch/arm/configs/mx21_defconfig | 8 +++---
arch/arm/configs/mx27_defconfig | 45 ++++++++++++++++++++++++++++----
arch/arm/configs/mx3_defconfig | 40 +++++++++++++++++++++--------
arch/arm/configs/mx51_defconfig | 53 +++++++++++++++++++++++++++++++-------
5 files changed, 119 insertions(+), 38 deletions(-)
diff --git a/arch/arm/configs/mx1_defconfig b/arch/arm/configs/mx1_defconfig
index b39b5ce..ff96e8f 100644
--- a/arch/arm/configs/mx1_defconfig
+++ b/arch/arm/configs/mx1_defconfig
@@ -3,7 +3,6 @@ CONFIG_SYSVIPC=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=14
-CONFIG_SYSFS_DEPRECATED_V2=y
CONFIG_EXPERT=y
CONFIG_SLAB=y
CONFIG_MODULES=y
@@ -16,6 +15,7 @@ CONFIG_ARCH_MX1=y
CONFIG_ARCH_MX1ADS=y
CONFIG_MACH_SCB9328=y
CONFIG_MXC_IRQ_PRIOR=y
+CONFIG_MXC_PWM=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_PREEMPT=y
@@ -23,7 +23,6 @@ CONFIG_AEABI=y
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/mtdblock2 rw ip=off"
-CONFIG_PM=y
CONFIG_PM_DEBUG=y
CONFIG_NET=y
CONFIG_PACKET=y
@@ -47,7 +46,6 @@ CONFIG_MTD_BLOCK=y
CONFIG_MTD_CFI=y
CONFIG_MTD_PHYSMAP=y
# CONFIG_BLK_DEV is not set
-# CONFIG_MISC_DEVICES is not set
CONFIG_NETDEVICES=y
CONFIG_PHYLIB=y
CONFIG_SMSC_PHY=y
@@ -58,9 +56,9 @@ CONFIG_DM9000=y
# CONFIG_INPUT is not set
# CONFIG_SERIO is not set
# CONFIG_VT is not set
+# CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_IMX=y
CONFIG_SERIAL_IMX_CONSOLE=y
-# CONFIG_LEGACY_PTYS is not set
# CONFIG_HW_RANDOM is not set
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
@@ -74,9 +72,9 @@ CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_IMX=y
CONFIG_USB_ETH=m
CONFIG_MMC=y
-CONFIG_MMC_MXC=y
+CONFIG_DMADEVICES=y
+CONFIG_IMX_DMA=y
# CONFIG_DNOTIFY is not set
-CONFIG_INOTIFY=y
CONFIG_TMPFS=y
CONFIG_JFFS2_FS=y
CONFIG_NFS_FS=y
@@ -87,4 +85,3 @@ CONFIG_ROOT_NFS=y
# CONFIG_ENABLE_MUST_CHECK is not set
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
CONFIG_SYSCTL_SYSCALL_CHECK=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
diff --git a/arch/arm/configs/mx21_defconfig b/arch/arm/configs/mx21_defconfig
index 411f88d..27261f6 100644
--- a/arch/arm/configs/mx21_defconfig
+++ b/arch/arm/configs/mx21_defconfig
@@ -2,7 +2,6 @@ CONFIG_EXPERIMENTAL=y
# CONFIG_SWAP is not set
CONFIG_SYSVIPC=y
CONFIG_LOG_BUF_SHIFT=14
-CONFIG_SYSFS_DEPRECATED_V2=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_EXPERT=y
CONFIG_KALLSYMS_EXTRA_PASS=y
@@ -51,8 +50,8 @@ CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_MXC=y
CONFIG_NETDEVICES=y
-CONFIG_NET_ETHERNET=y
CONFIG_MII=y
+CONFIG_NET_ETHERNET=y
# CONFIG_NETDEV_1000 is not set
# CONFIG_NETDEV_10000 is not set
# CONFIG_INPUT_MOUSEDEV is not set
@@ -62,12 +61,12 @@ CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_TOUCHSCREEN=y
# CONFIG_SERIO is not set
# CONFIG_CONSOLE_TRANSLATIONS is not set
+# CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=1
CONFIG_SERIAL_IMX=y
CONFIG_SERIAL_IMX_CONSOLE=y
-# CONFIG_LEGACY_PTYS is not set
# CONFIG_HW_RANDOM is not set
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
@@ -76,7 +75,6 @@ CONFIG_SPI=y
# CONFIG_HWMON is not set
CONFIG_FB=y
CONFIG_FB_IMX=y
-# CONFIG_VGA_CONSOLE is not set
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FONTS=y
CONFIG_FONT_8x8=y
@@ -85,6 +83,8 @@ CONFIG_LOGO=y
# CONFIG_USB_SUPPORT is not set
CONFIG_MMC=y
CONFIG_MMC_MXC=y
+CONFIG_DMADEVICES=y
+CONFIG_IMX_DMA=y
# CONFIG_DNOTIFY is not set
CONFIG_MSDOS_FS=y
CONFIG_TMPFS=y
diff --git a/arch/arm/configs/mx27_defconfig b/arch/arm/configs/mx27_defconfig
index 9ad4c656..220e84f 100644
--- a/arch/arm/configs/mx27_defconfig
+++ b/arch/arm/configs/mx27_defconfig
@@ -29,6 +29,7 @@ CONFIG_MACH_IMX27_VISSTRIM_M10=y
CONFIG_MACH_IMX27LITE=y
CONFIG_MACH_PCA100=y
CONFIG_MACH_MXT_TD60=y
+CONFIG_MACH_IMX27IPCAM=y
CONFIG_MXC_IRQ_PRIOR=y
CONFIG_MXC_PWM=y
CONFIG_NO_HZ=y
@@ -37,9 +38,9 @@ CONFIG_PREEMPT=y
CONFIG_AEABI=y
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CPU_IDLE=y
CONFIG_FPE_NWFPE=y
CONFIG_FPE_NWFPE_XP=y
-CONFIG_PM=y
CONFIG_PM_DEBUG=y
CONFIG_NET=y
CONFIG_PACKET=y
@@ -54,6 +55,11 @@ CONFIG_IP_PNP_DHCP=y
# CONFIG_INET_LRO is not set
# CONFIG_INET_DIAG is not set
# CONFIG_IPV6 is not set
+CONFIG_CAN=y
+CONFIG_CAN_DEV=y
+CONFIG_CAN_MCP251X=y
+CONFIG_CAN_SJA1000=y
+CONFIG_CAN_SJA1000_PLATFORM=y
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_MTD=y
CONFIG_MTD_PARTITIONS=y
@@ -71,23 +77,24 @@ CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_MXC=y
CONFIG_MTD_UBI=y
+CONFIG_MISC_DEVICES=y
CONFIG_EEPROM_AT24=y
+CONFIG_EEPROM_AT25=y
CONFIG_NETDEVICES=y
CONFIG_NET_ETHERNET=y
-CONFIG_FEC=y
# CONFIG_NETDEV_1000 is not set
# CONFIG_NETDEV_10000 is not set
# CONFIG_INPUT_MOUSEDEV is not set
CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_IMX=y
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_ADS7846=m
-# CONFIG_SERIO is not set
+CONFIG_TOUCHSCREEN_MC13783=y
+# CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_8250=m
CONFIG_SERIAL_IMX=y
CONFIG_SERIAL_IMX_CONSOLE=y
-# CONFIG_LEGACY_PTYS is not set
# CONFIG_HW_RANDOM is not set
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
@@ -98,19 +105,45 @@ CONFIG_W1=y
CONFIG_W1_MASTER_MXC=y
CONFIG_W1_SLAVE_THERM=y
# CONFIG_HWMON is not set
+CONFIG_MFD_MC13XXX=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_MC13783=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_VIDEO_DEV=y
+CONFIG_SOC_CAMERA=y
+CONFIG_SOC_CAMERA_MT9T031=y
+CONFIG_SOC_CAMERA_MT9V022=y
+CONFIG_VIDEO_MX2=y
CONFIG_FB=y
CONFIG_FB_IMX=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FONTS=y
CONFIG_FONT_8x8=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_SOC=y
+CONFIG_SND_IMX_SOC=y
+CONFIG_SND_SOC_MX27VIS_AIC32X4=y
+CONFIG_SND_SOC_PHYCORE_AC97=y
+CONFIG_SND_SOC_EUKREA_TLV320=y
# CONFIG_HID_SUPPORT is not set
CONFIG_USB=m
# CONFIG_USB_DEVICE_CLASS is not set
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_MXC=y
CONFIG_USB_ULPI=y
CONFIG_MMC=y
CONFIG_MMC_MXC=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_PWM=y
+CONFIG_LEDS_MC13783=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_DRV_PCF8563=y
+CONFIG_RTC_DRV_MC13XXX=y
+CONFIG_DMADEVICES=y
+CONFIG_IMX_DMA=y
# CONFIG_DNOTIFY is not set
# CONFIG_PROC_PAGE_MONITOR is not set
CONFIG_TMPFS=y
diff --git a/arch/arm/configs/mx3_defconfig b/arch/arm/configs/mx3_defconfig
index 7c4b30b..3f45331 100644
--- a/arch/arm/configs/mx3_defconfig
+++ b/arch/arm/configs/mx3_defconfig
@@ -3,7 +3,6 @@ CONFIG_SYSVIPC=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=14
-CONFIG_SYSFS_DEPRECATED_V2=y
CONFIG_EXPERT=y
CONFIG_SLAB=y
CONFIG_MODULES=y
@@ -13,18 +12,19 @@ CONFIG_MODVERSIONS=y
# CONFIG_BLK_DEV_BSG is not set
CONFIG_ARCH_MXC=y
CONFIG_MACH_MX31ADS_WM1133_EV1=y
+CONFIG_MACH_MX31LILLY=y
+CONFIG_MACH_MX31LITE=y
CONFIG_MACH_PCM037=y
CONFIG_MACH_PCM037_EET=y
-CONFIG_MACH_MX31LITE=y
CONFIG_MACH_MX31_3DS=y
CONFIG_MACH_MX31MOBOARD=y
-CONFIG_MACH_MX31LILLY=y
CONFIG_MACH_QONG=y
-CONFIG_MACH_PCM043=y
CONFIG_MACH_ARMADILLO5X0=y
-CONFIG_MACH_MX35_3DS=y
CONFIG_MACH_KZM_ARM11_01=y
+CONFIG_MACH_PCM043=y
+CONFIG_MACH_MX35_3DS=y
CONFIG_MACH_EUKREA_CPUIMX35=y
+CONFIG_MACH_VPR200=y
CONFIG_MXC_IRQ_PRIOR=y
CONFIG_MXC_PWM=y
CONFIG_NO_HZ=y
@@ -35,7 +35,6 @@ CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/mtdblock2 rw ip=off"
CONFIG_VFP=y
-CONFIG_PM=y
CONFIG_PM_DEBUG=y
CONFIG_NET=y
CONFIG_PACKET=y
@@ -62,24 +61,26 @@ CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_MXC=y
CONFIG_MTD_UBI=y
# CONFIG_BLK_DEV is not set
+CONFIG_MISC_DEVICES=y
CONFIG_EEPROM_AT24=y
CONFIG_NETDEVICES=y
CONFIG_SMSC_PHY=y
CONFIG_NET_ETHERNET=y
CONFIG_SMSC911X=y
CONFIG_DNET=y
-CONFIG_FEC=y
# CONFIG_NETDEV_1000 is not set
# CONFIG_NETDEV_10000 is not set
-# CONFIG_INPUT is not set
-# CONFIG_SERIO is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_IMX=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_MC13783=y
# CONFIG_VT is not set
+# CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_8250=m
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_IMX=y
CONFIG_SERIAL_IMX_CONSOLE=y
-# CONFIG_LEGACY_PTYS is not set
# CONFIG_HW_RANDOM is not set
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
@@ -90,11 +91,12 @@ CONFIG_W1_MASTER_MXC=y
CONFIG_W1_SLAVE_THERM=y
# CONFIG_HWMON is not set
CONFIG_MFD_WM8350_I2C=y
+CONFIG_MFD_MC13XXX=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_WM8350=y
+CONFIG_REGULATOR_MC13783=y
CONFIG_MEDIA_SUPPORT=y
CONFIG_VIDEO_DEV=y
-# CONFIG_VIDEO_ALLOW_V4L1 is not set
CONFIG_SOC_CAMERA=y
CONFIG_SOC_CAMERA_MT9M001=y
CONFIG_SOC_CAMERA_MT9M111=y
@@ -105,10 +107,26 @@ CONFIG_SOC_CAMERA_OV772X=y
CONFIG_VIDEO_MX3=y
# CONFIG_RADIO_ADAPTERS is not set
CONFIG_FB=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_IMX_SOC=y
+CONFIG_SND_MXC_SOC_WM1133_EV1=y
+CONFIG_SND_SOC_PHYCORE_AC97=y
+CONFIG_SND_SOC_EUKREA_TLV320=y
# CONFIG_USB_SUPPORT is not set
CONFIG_MMC=y
CONFIG_MMC_MXC=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_PWM=y
+CONFIG_LEDS_MC13783=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_MC13XXX=y
CONFIG_DMADEVICES=y
+CONFIG_IMX_SDMA=y
# CONFIG_DNOTIFY is not set
CONFIG_TMPFS=y
CONFIG_JFFS2_FS=y
diff --git a/arch/arm/configs/mx51_defconfig b/arch/arm/configs/mx51_defconfig
index e3c9032..d193e76 100644
--- a/arch/arm/configs/mx51_defconfig
+++ b/arch/arm/configs/mx51_defconfig
@@ -17,6 +17,10 @@ CONFIG_ARCH_MX5=y
CONFIG_MACH_MX51_BABBAGE=y
CONFIG_MACH_MX51_3DS=y
CONFIG_MACH_EUKREA_CPUIMX51=y
+CONFIG_MACH_EUKREA_CPUIMX51SD=y
+CONFIG_MACH_MX51_EFIKAMX=y
+CONFIG_MACH_MX51_EFIKASB=y
+CONFIG_MXC_PWM=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_PREEMPT_VOLUNTARY=y
@@ -27,7 +31,6 @@ CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.0.
CONFIG_VFP=y
CONFIG_NEON=y
CONFIG_BINFMT_MISC=m
-CONFIG_PM=y
CONFIG_PM_DEBUG=y
CONFIG_PM_TEST_SUSPEND=y
CONFIG_NET=y
@@ -41,13 +44,25 @@ CONFIG_IP_PNP_DHCP=y
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_INET_LRO is not set
# CONFIG_IPV6 is not set
+CONFIG_CAN=y
+CONFIG_CAN_RAW=y
+CONFIG_CAN_DEV=y
+CONFIG_CAN_CALC_BITTIMING=y
+CONFIG_CAN_MCP251X=y
# CONFIG_WIRELESS is not set
# CONFIG_STANDALONE is not set
CONFIG_CONNECTOR=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_MXC=y
+CONFIG_MTD_UBI=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=65536
-# CONFIG_MISC_DEVICES is not set
CONFIG_SCSI=y
# CONFIG_SCSI_PROC_FS is not set
CONFIG_BLK_DEV_SD=y
@@ -58,6 +73,7 @@ CONFIG_SCSI_SCAN_ASYNC=y
# CONFIG_SCSI_LOWLEVEL is not set
CONFIG_ATA=m
CONFIG_NETDEVICES=y
+CONFIG_MII=m
CONFIG_MARVELL_PHY=y
CONFIG_DAVICOM_PHY=y
CONFIG_QSEMI_PHY=y
@@ -74,24 +90,25 @@ CONFIG_LSI_ET1011C_PHY=y
CONFIG_MDIO_BITBANG=y
CONFIG_MDIO_GPIO=y
CONFIG_NET_ETHERNET=y
-CONFIG_MII=m
-CONFIG_FEC=y
# CONFIG_NETDEV_1000 is not set
# CONFIG_NETDEV_10000 is not set
# CONFIG_WLAN is not set
CONFIG_INPUT_FF_MEMLESS=m
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_EVDEV=y
-CONFIG_KEYBOARD_GPIO=y
CONFIG_INPUT_EVBUG=m
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_IMX=y
CONFIG_MOUSE_PS2=m
CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_MC13783=y
CONFIG_SERIO_SERPORT=m
CONFIG_VT_HW_CONSOLE_BINDING=y
+# CONFIG_LEGACY_PTYS is not set
# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_IMX=y
CONFIG_SERIAL_IMX_CONSOLE=y
-# CONFIG_LEGACY_PTYS is not set
CONFIG_HW_RANDOM=y
CONFIG_I2C=y
# CONFIG_I2C_COMPAT is not set
@@ -100,8 +117,21 @@ CONFIG_I2C_CHARDEV=m
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_ALGOPCA=m
+CONFIG_I2C_IMX=y
+CONFIG_SPI=y
+CONFIG_SPI_IMX=y
+CONFIG_SPI_SPIDEV=y
CONFIG_GPIO_SYSFS=y
# CONFIG_HWMON is not set
+CONFIG_MFD_MC13XXX=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_MC13783=y
+CONFIG_REGULATOR_MC13892=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_IMX_SOC=y
# CONFIG_HID_SUPPORT is not set
CONFIG_USB=y
CONFIG_USB_EHCI_HCD=y
@@ -111,8 +141,13 @@ CONFIG_MMC_BLOCK=m
CONFIG_MMC_SDHCI=m
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_PWM=y
+CONFIG_LEDS_MC13783=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_MC13XXX=y
+CONFIG_DMADEVICES=y
+CONFIG_IMX_SDMA=y
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
@@ -126,7 +161,6 @@ CONFIG_EXT4_FS_SECURITY=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_PRINT_QUOTA_WARNING is not set
-CONFIG_AUTOFS_FS=y
CONFIG_AUTOFS4_FS=y
CONFIG_FUSE_FS=y
CONFIG_ISO9660_FS=m
@@ -153,14 +187,13 @@ CONFIG_DEBUG_FS=y
CONFIG_DEBUG_KERNEL=y
# CONFIG_SCHED_DEBUG is not set
# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_RCU_CPU_STALL_DETECTOR is not set
# CONFIG_FTRACE is not set
# CONFIG_ARM_UNWIND is not set
CONFIG_DEBUG_LL=y
CONFIG_EARLY_PRINTK=y
CONFIG_SECURITYFS=y
-CONFIG_CRYPTO_DEFLATE=y
-CONFIG_CRYPTO_LZO=y
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_LZO=m
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_HW is not set
CONFIG_CRC_CCITT=m
--
1.7.2.3
^ permalink raw reply related
* [PATCH 2/6] ARM: mxc: don't use the symbols in the CPU family choice to select others
From: Uwe Kleine-König @ 2011-04-10 19:48 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1302464943-20721-1-git-send-email-u.kleine-koenig@pengutronix.de>
The symbols in this choice should only be used to select between the
available machines that can be built into a single kernel. As these sets
(will) differ e.g. depending on ARM_PATCH_PHYS_VIRT and AUTO_ZRELADDR
letting them select other symbols makes the logic more complex and needs
to duplicate some things. So let the machines select the corresponding
symbols (indirectly via SOC_XYZ).
Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>
---
arch/arm/mach-imx/Kconfig | 3 +++
arch/arm/mach-mx5/Kconfig | 6 ++++++
arch/arm/plat-mxc/Kconfig | 4 ----
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
index 13e6f81..7914283 100644
--- a/arch/arm/mach-imx/Kconfig
+++ b/arch/arm/mach-imx/Kconfig
@@ -43,6 +43,7 @@ config SOC_IMX27
config SOC_IMX31
bool
+ select CPU_V6
select IMX_HAVE_PLATFORM_MXC_RNGA
select ARCH_MXC_AUDMUX_V2
select ARCH_MX31
@@ -50,6 +51,7 @@ config SOC_IMX31
config SOC_IMX35
bool
+ select CPU_V6
select ARCH_MXC_IOMUX_V3
select ARCH_MXC_AUDMUX_V2
select HAVE_EPIT
@@ -66,6 +68,7 @@ config MACH_MXLADS
config ARCH_MX1ADS
bool "MX1ADS platform"
select MACH_MXLADS
+ select SOC_IMX1
select IMX_HAVE_PLATFORM_IMX_I2C
select IMX_HAVE_PLATFORM_IMX_UART
help
diff --git a/arch/arm/mach-mx5/Kconfig b/arch/arm/mach-mx5/Kconfig
index 49b5661..b3570e6 100644
--- a/arch/arm/mach-mx5/Kconfig
+++ b/arch/arm/mach-mx5/Kconfig
@@ -13,6 +13,8 @@ config ARCH_MX53
config SOC_IMX50
bool
+ select CPU_V7
+ select ARM_L1_CACHE_SHIFT_6
select MXC_TZIC
select ARCH_MXC_IOMUX_V3
select ARCH_MXC_AUDMUX_V2
@@ -21,6 +23,8 @@ config SOC_IMX50
config SOC_IMX51
bool
+ select CPU_V7
+ select ARM_L1_CACHE_SHIFT_6
select MXC_TZIC
select ARCH_MXC_IOMUX_V3
select ARCH_MXC_AUDMUX_V2
@@ -29,6 +33,8 @@ config SOC_IMX51
config SOC_IMX53
bool
+ select CPU_V7
+ select ARM_L1_CACHE_SHIFT_6
select MXC_TZIC
select ARCH_MXC_IOMUX_V3
select ARCH_MX53
diff --git a/arch/arm/plat-mxc/Kconfig b/arch/arm/plat-mxc/Kconfig
index 97f12a4..b9cf1c5 100644
--- a/arch/arm/plat-mxc/Kconfig
+++ b/arch/arm/plat-mxc/Kconfig
@@ -10,7 +10,6 @@ choice
config ARCH_MX1
bool "MX1-based"
- select SOC_IMX1
help
This enables support for systems based on the Freescale i.MX1 family
@@ -26,14 +25,11 @@ config ARCH_MX25
config ARCH_MX3
bool "MX3-based"
- select CPU_V6
help
This enables support for systems based on the Freescale i.MX3 family
config ARCH_MX5
bool "MX5-based"
- select CPU_V7
- select ARM_L1_CACHE_SHIFT_6
help
This enables support for systems based on the Freescale i.MX51 family
--
1.7.2.3
^ permalink raw reply related
* [PATCH 3/6] ARM: mxc: simplify platform selection for i.MX21 and i.MX27
From: Uwe Kleine-König @ 2011-04-10 19:49 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1302464943-20721-1-git-send-email-u.kleine-koenig@pengutronix.de>
This moves the choice between i.MX21 and i.MX27 (that appeared when
choosing "MX2-based" in the mxc-global CPU family choice) to the global
choice.
Now this global choice isn't about "CPU families" anymore but this isn't
currently possible anyhow (e.g. because i.MX25 doesn't match many
expectations that are called MX2 and we cannot compile i.MX51 and i.MX53
into a single (runnable) kernel) and will change further in the future.
Note that reduced .config files for i.MX21 need some care not to switch
so a i.MX31/35 config which is the default in the global choice.
mx21_defconfig is adapted accordingly.
Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>
---
Hello,
this is a more complete version of
http://mid.gmane.org/1299086585-22707-1-git-send-email-u.kleine-koenig at pengutronix.de
. Back then Sascha suggested to do a more complete switch to a structure
that allows to take ARM_PATCH_PHYS_VIRT into account. But as we're not
yet there to support this on i.MX and because I think this justifies a
seperate patch I this up again.
Best regards
Uwe
arch/arm/configs/mx21_defconfig | 2 +-
arch/arm/configs/mx27_defconfig | 1 -
arch/arm/mach-imx/Kconfig | 30 ++++++++----------------------
arch/arm/plat-mxc/Kconfig | 26 +++++++++++++++++---------
4 files changed, 26 insertions(+), 33 deletions(-)
diff --git a/arch/arm/configs/mx21_defconfig b/arch/arm/configs/mx21_defconfig
index 27261f6..4590a12 100644
--- a/arch/arm/configs/mx21_defconfig
+++ b/arch/arm/configs/mx21_defconfig
@@ -12,7 +12,7 @@ CONFIG_MODULE_UNLOAD=y
# CONFIG_IOSCHED_DEADLINE is not set
# CONFIG_IOSCHED_CFQ is not set
CONFIG_ARCH_MXC=y
-CONFIG_ARCH_MX2=y
+CONFIG_MACH_MX21=y
CONFIG_MACH_MX21ADS=y
CONFIG_MXC_PWM=y
CONFIG_NO_HZ=y
diff --git a/arch/arm/configs/mx27_defconfig b/arch/arm/configs/mx27_defconfig
index 220e84f..11f1283 100644
--- a/arch/arm/configs/mx27_defconfig
+++ b/arch/arm/configs/mx27_defconfig
@@ -17,7 +17,6 @@ CONFIG_MODULE_UNLOAD=y
# CONFIG_IOSCHED_DEADLINE is not set
# CONFIG_IOSCHED_CFQ is not set
CONFIG_ARCH_MXC=y
-CONFIG_ARCH_MX2=y
CONFIG_MACH_MX27=y
CONFIG_MACH_MX27ADS=y
CONFIG_MACH_PCM038=y
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
index 7914283..0382301 100644
--- a/arch/arm/mach-imx/Kconfig
+++ b/arch/arm/mach-imx/Kconfig
@@ -1,10 +1,14 @@
config IMX_HAVE_DMA_V1
bool
#
-# ARCH_MX31 and ARCH_MX35 are left for compatibility
+# ARCH_MX2, ARCH_MX31 and ARCH_MX35 are left for compatibility
# Some usages assume that having one of them implies not having (e.g.) ARCH_MX2.
# To easily distinguish good and reviewed from unreviewed usages new (and IMHO
-# more sensible) names are used: SOC_IMX31 and SOC_IMX35
+# more sensible) names are used: SOC_IMX21, SOC_IMX27, SOC_IMX31 and SOC_IMX35
+config ARCH_MX2
+ # note that i.MX25 doesn't select this
+ bool
+
config ARCH_MX31
bool
@@ -20,6 +24,7 @@ config SOC_IMX1
config SOC_IMX21
bool
+ select ARCH_MX2
select CPU_ARM926T
select ARCH_MXC_AUDMUX_V1
select IMX_HAVE_DMA_V1
@@ -35,6 +40,7 @@ config SOC_IMX25
config SOC_IMX27
bool
+ select ARCH_MX2
select CPU_ARM926T
select ARCH_MXC_AUDMUX_V1
select IMX_HAVE_DMA_V1
@@ -82,26 +88,6 @@ config MACH_SCB9328
endif
-if ARCH_MX2
-
-choice
- prompt "CPUs:"
- default MACH_MX21
-
-config MACH_MX21
- bool "i.MX21 support"
- help
- This enables support for Freescale's MX2 based i.MX21 processor.
-
-config MACH_MX27
- bool "i.MX27 support"
- help
- This enables support for Freescale's MX2 based i.MX27 processor.
-
-endchoice
-
-endif
-
if MACH_MX21
comment "MX21 platforms:"
diff --git a/arch/arm/plat-mxc/Kconfig b/arch/arm/plat-mxc/Kconfig
index b9cf1c5..ce6ed5e 100644
--- a/arch/arm/plat-mxc/Kconfig
+++ b/arch/arm/plat-mxc/Kconfig
@@ -5,28 +5,36 @@ source "arch/arm/plat-mxc/devices/Kconfig"
menu "Freescale MXC Implementations"
choice
- prompt "Freescale CPU family:"
+ prompt "Set of supported SoCs:"
default ARCH_MX3
+# don't use the symbols available in this choice in code. They should only be
+# used to select the machines that can be compiled into a single kernel.
config ARCH_MX1
- bool "MX1-based"
+ bool "MX1"
help
This enables support for systems based on the Freescale i.MX1 family
-config ARCH_MX2
- bool "MX2-based"
+config MACH_MX21
+ bool "i.MX21"
help
- This enables support for systems based on the Freescale i.MX2 family
+ This enables support for machines using Freescale's i.MX21 processor.
config ARCH_MX25
- bool "MX25-based"
+ bool "i.MX25"
help
- This enables support for systems based on the Freescale i.MX25 family
+ This enables support for machines using Freescale's i.MX25 processor.
+
+config MACH_MX27
+ bool "i.MX27"
+ help
+ This enables support for machines using Freescale's i.MX27 processor.
config ARCH_MX3
- bool "MX3-based"
+ bool "i.MX31 + i.MX35"
help
- This enables support for systems based on the Freescale i.MX3 family
+ This enables support for machines using Freescale's i.MX31 and i.MX35
+ processors.
config ARCH_MX5
bool "MX5-based"
--
1.7.2.3
^ permalink raw reply related
* [PATCH 4/6] ARM: mxc: don't allow to compile together i.MX51 and i.MX53
From: Uwe Kleine-König @ 2011-04-10 19:49 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1302464943-20721-1-git-send-email-u.kleine-koenig@pengutronix.de>
The two SoCs have different PHYS_OFFSETs so it's not (yet) possible to
compile a single (working) kernel for these.
Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>
---
arch/arm/configs/mx51_defconfig | 2 +-
arch/arm/mach-mx5/Kconfig | 51 +++++++++++++++++++++++++-------------
arch/arm/plat-mxc/Kconfig | 19 +++++++++++++-
3 files changed, 51 insertions(+), 21 deletions(-)
diff --git a/arch/arm/configs/mx51_defconfig b/arch/arm/configs/mx51_defconfig
index d193e76..1260bc0 100644
--- a/arch/arm/configs/mx51_defconfig
+++ b/arch/arm/configs/mx51_defconfig
@@ -13,7 +13,7 @@ CONFIG_MODULE_SRCVERSION_ALL=y
# CONFIG_LBDAF is not set
# CONFIG_BLK_DEV_BSG is not set
CONFIG_ARCH_MXC=y
-CONFIG_ARCH_MX5=y
+CONFIG_ARCH_MX51=y
CONFIG_MACH_MX51_BABBAGE=y
CONFIG_MACH_MX51_3DS=y
CONFIG_MACH_EUKREA_CPUIMX51=y
diff --git a/arch/arm/mach-mx5/Kconfig b/arch/arm/mach-mx5/Kconfig
index b3570e6..799fbc4 100644
--- a/arch/arm/mach-mx5/Kconfig
+++ b/arch/arm/mach-mx5/Kconfig
@@ -1,11 +1,11 @@
-if ARCH_MX5
-# ARCH_MX50/51/53 are left to mark places where prevent multi-soc in single
+if ARCH_MX503 || ARCH_MX51
+# ARCH_MX5/50/53 are left to mark places where prevent multi-soc in single
# image. So for most time, SOC_IMX50/51/53 should be used.
-config ARCH_MX50
+config ARCH_MX5
bool
-config ARCH_MX51
+config ARCH_MX50
bool
config ARCH_MX53
@@ -19,6 +19,7 @@ config SOC_IMX50
select ARCH_MXC_IOMUX_V3
select ARCH_MXC_AUDMUX_V2
select ARCH_HAS_CPUFREQ
+ select ARCH_MX5
select ARCH_MX50
config SOC_IMX51
@@ -29,7 +30,7 @@ config SOC_IMX51
select ARCH_MXC_IOMUX_V3
select ARCH_MXC_AUDMUX_V2
select ARCH_HAS_CPUFREQ
- select ARCH_MX51
+ select ARCH_MX5
config SOC_IMX53
bool
@@ -37,9 +38,29 @@ config SOC_IMX53
select ARM_L1_CACHE_SHIFT_6
select MXC_TZIC
select ARCH_MXC_IOMUX_V3
+ select ARCH_MX5
select ARCH_MX53
-comment "MX5 platforms:"
+if ARCH_MX50_SUPPORTED
+#comment "i.MX50 machines:"
+
+config MACH_MX50_RDP
+ bool "Support MX50 reference design platform"
+ depends on BROKEN
+ select SOC_IMX50
+ select IMX_HAVE_PLATFORM_IMX_I2C
+ select IMX_HAVE_PLATFORM_IMX_UART
+ select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
+ select IMX_HAVE_PLATFORM_SPI_IMX
+ select IMX_HAVE_PLATFORM_FEC
+ help
+ Include support for MX50 reference design platform (RDP) board. This
+ includes specific configurations for the board and its peripherals.
+
+endif # ARCH_MX50_SUPPORTED
+
+if ARCH_MX51
+comment "i.MX51 machines:"
config MACH_MX51_BABBAGE
bool "Support MX51 BABBAGE platforms"
@@ -142,6 +163,11 @@ config MACH_MX51_EFIKASB
Include support for Genesi Efika Smartbook. This includes specific
configurations for the board and its peripherals.
+endif # ARCH_MX51
+
+if ARCH_MX53_SUPPORTED
+comment "i.MX53 machines:"
+
config MACH_MX53_EVK
bool "Support MX53 EVK platforms"
select SOC_IMX53
@@ -177,17 +203,6 @@ config MACH_MX53_LOCO
Include support for MX53 LOCO platform. This includes specific
configurations for the board and its peripherals.
-config MACH_MX50_RDP
- bool "Support MX50 reference design platform"
- depends on BROKEN
- select SOC_IMX50
- select IMX_HAVE_PLATFORM_IMX_I2C
- select IMX_HAVE_PLATFORM_IMX_UART
- select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
- select IMX_HAVE_PLATFORM_SPI_IMX
- select IMX_HAVE_PLATFORM_FEC
- help
- Include support for MX50 reference design platform (RDP) board. This
- includes specific configurations for the board and its peripherals.
+endif # ARCH_MX53_SUPPORTED
endif
diff --git a/arch/arm/plat-mxc/Kconfig b/arch/arm/plat-mxc/Kconfig
index ce6ed5e..aa4234b 100644
--- a/arch/arm/plat-mxc/Kconfig
+++ b/arch/arm/plat-mxc/Kconfig
@@ -4,6 +4,12 @@ source "arch/arm/plat-mxc/devices/Kconfig"
menu "Freescale MXC Implementations"
+config ARCH_MX50_SUPPORTED
+ bool
+
+config ARCH_MX53_SUPPORTED
+ bool
+
choice
prompt "Set of supported SoCs:"
default ARCH_MX3
@@ -36,8 +42,17 @@ config ARCH_MX3
This enables support for machines using Freescale's i.MX31 and i.MX35
processors.
-config ARCH_MX5
- bool "MX5-based"
+config ARCH_MX503
+ bool "i.MX50 + i.MX53"
+ select ARCH_MX50_SUPPORTED
+ select ARCH_MX53_SUPPORTED
+ help
+ This enables support for machines using Freescale's i.MX50 and i.MX51
+ processors.
+
+config ARCH_MX51
+ bool "i.MX51"
+ select ARCH_MX51_SUPPORTED
help
This enables support for systems based on the Freescale i.MX51 family
--
1.7.2.3
^ permalink raw reply related
* [PATCH 5/6] ARM: mx3: make ioremap quirk ready for multi-SoC kernels
From: Uwe Kleine-König @ 2011-04-10 19:49 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1302464943-20721-1-git-send-email-u.kleine-koenig@pengutronix.de>
To be able to compile e.g. i.MX31 and i.MX51 in a single kernel image
the ioremap quirk needs a runtime check.
While touching this code make the comment more understandable by adding
a sentence from the commit log that introduced it
(eadefef ([ARM] MX3: Use ioremap wrapper to map SoC devices nonshared)).
As mach/io.h now uses cpu_is_ some header reshuffling in mach/hardware.h
was necessary. (mach/mx27.h and mach/mx31.h #include <linux/io.h> which
\#includes <mach/io.h>. So mach/mxc.h which provides the cpu_is_ macros
needs to be included before mach/mx27.h and mach/mx31.h.)
Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>
---
arch/arm/plat-mxc/include/mach/hardware.h | 4 ++--
arch/arm/plat-mxc/include/mach/io.h | 23 +++++++++++++++--------
2 files changed, 17 insertions(+), 10 deletions(-)
diff --git a/arch/arm/plat-mxc/include/mach/hardware.h b/arch/arm/plat-mxc/include/mach/hardware.h
index a881db5..67d3e2b 100644
--- a/arch/arm/plat-mxc/include/mach/hardware.h
+++ b/arch/arm/plat-mxc/include/mach/hardware.h
@@ -95,6 +95,8 @@
#define IMX_IO_ADDRESS(x) IOMEM(IMX_IO_P2V(x))
+#include <mach/mxc.h>
+
#ifdef CONFIG_ARCH_MX5
#include <mach/mx50.h>
#include <mach/mx51.h>
@@ -125,8 +127,6 @@
# include <mach/mx25.h>
#endif
-#include <mach/mxc.h>
-
#define imx_map_entry(soc, name, _type) { \
.virtual = soc ## _IO_P2V(soc ## _ ## name ## _BASE_ADDR), \
.pfn = __phys_to_pfn(soc ## _ ## name ## _BASE_ADDR), \
diff --git a/arch/arm/plat-mxc/include/mach/io.h b/arch/arm/plat-mxc/include/mach/io.h
index b4f2de7..4347a87 100644
--- a/arch/arm/plat-mxc/include/mach/io.h
+++ b/arch/arm/plat-mxc/include/mach/io.h
@@ -14,19 +14,26 @@
/* Allow IO space to be anywhere in the memory */
#define IO_SPACE_LIMIT 0xffffffff
-#ifdef CONFIG_ARCH_MX3
-#define __arch_ioremap __mx3_ioremap
+#if defined(CONFIG_SOC_IMX31) || defined(CONFIG_SOC_IMX35)
+#include <mach/hardware.h>
+
+#define __arch_ioremap __imx_ioremap
#define __arch_iounmap __iounmap
+#define addr_in_module(addr, mod) \
+ ((unsigned long)(addr) - mod ## _BASE_ADDR < mod ## _SIZE)
+
static inline void __iomem *
-__mx3_ioremap(unsigned long phys_addr, size_t size, unsigned int mtype)
+__imx_ioremap(unsigned long phys_addr, size_t size, unsigned int mtype)
{
- if (mtype == MT_DEVICE) {
- /* Access all peripherals below 0x80000000 as nonshared device
- * but leave l2cc alone.
+ if (mtype == MT_DEVICE && (cpu_is_mx31() || cpu_is_mx35())) {
+ /*
+ * Access all peripherals below 0x80000000 as nonshared device
+ * on mx3, but leave l2cc alone. Otherwise cache corruptions
+ * can occur.
*/
- if ((phys_addr < 0x80000000) && ((phys_addr < 0x30000000) ||
- (phys_addr >= 0x30000000 + SZ_1M)))
+ if (phys_addr < 0x80000000 &&
+ !addr_in_module(phys_addr, MX3x_L2CC))
mtype = MT_DEVICE_NONSHARED;
}
--
1.7.2.3
^ permalink raw reply related
* [PATCH 6/6] ARM: imx: remove some deprecated and unused #defines
From: Uwe Kleine-König @ 2011-04-10 19:49 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1302464943-20721-1-git-send-email-u.kleine-koenig@pengutronix.de>
Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>
---
arch/arm/plat-mxc/include/mach/mxc.h | 7 -------
1 files changed, 0 insertions(+), 7 deletions(-)
diff --git a/arch/arm/plat-mxc/include/mach/mxc.h b/arch/arm/plat-mxc/include/mach/mxc.h
index 0aba8b1..4ac53ce 100644
--- a/arch/arm/plat-mxc/include/mach/mxc.h
+++ b/arch/arm/plat-mxc/include/mach/mxc.h
@@ -194,13 +194,6 @@ enum mxc_cpu_pwr_mode {
extern struct cpu_op *(*get_cpu_op)(int *op);
#endif
-#if defined(CONFIG_ARCH_MX3) || defined(CONFIG_ARCH_MX2)
-/* These are deprecated, use mx[23][157]_setup_weimcs instead. */
-#define CSCR_U(n) (IO_ADDRESS(WEIM_BASE_ADDR + n * 0x10))
-#define CSCR_L(n) (IO_ADDRESS(WEIM_BASE_ADDR + n * 0x10 + 0x4))
-#define CSCR_A(n) (IO_ADDRESS(WEIM_BASE_ADDR + n * 0x10 + 0x8))
-#endif
-
#define cpu_is_mx3() (cpu_is_mx31() || cpu_is_mx35())
#define cpu_is_mx2() (cpu_is_mx21() || cpu_is_mx27())
--
1.7.2.3
^ permalink raw reply related
* [ath9k-devel] GOOD for OpenWrt: only 2 tx failed per day
From: rootkit85 at yahoo.it @ 2011-04-10 19:52 UTC (permalink / raw)
To: ath9k-devel
In-Reply-To: <BANLkTinjML68tHJNAKvZvc0-tq5V6+bREA@mail.gmail.com>
2011/4/10 Larry Vaden <vaden@texoma.net>:
> THANKS, Felix et al.
>
> From one of our production pops with a Ubiquiti Bullet M2 HP running OpenWrt.
>
> ATTITUDE ADJUSTMENT (bleeding edge, r26358) ----------
>
> root at jv-2400-ap1:~# uptime
> ?16:57:14 up 3 days, 14:15, load average: 0.00, 0.01, 0.04
> root at jv-2400-ap1:~# iw wlan0 station dump | grep -i failed
> ? ? ? ?tx failed: ? ? ?0
> ? ? ? ?tx failed: ? ? ?0
> ? ? ? ?tx failed: ? ? ?0
> ? ? ? ?tx failed: ? ? ?0
> ? ? ? ?tx failed: ? ? ?0
> ? ? ? ?tx failed: ? ? ?0
> ? ? ? ?tx failed: ? ? ?7
> ? ? ? ?tx failed: ? ? ?0
> ? ? ? ?tx failed: ? ? ?0
> root at jv-2400-ap1:~#
>
> --
> Larry Vaden, CoFounder
> Internet Texoma, Inc.
> Serving Rural Texomaland Since 1995
> We Care About Your Connection!
> _______________________________________________
> ath9k-devel mailing list
> ath9k-devel at lists.ath9k.org
> https://lists.ath9k.org/mailman/listinfo/ath9k-devel
>
Did you experience much tx failure?
^ permalink raw reply
* Re: [PATCH] Makefile: extract Q_() source strings as ngettext()
From: Jonathan Nieder @ 2011-04-10 19:54 UTC (permalink / raw)
To: Ævar Arnfjörð Bjarmason; +Cc: git, Junio C Hamano
In-Reply-To: <1302464221-23381-1-git-send-email-avarab@gmail.com>
Ævar Arnfjörð Bjarmason wrote:
> --- a/Makefile
> +++ b/Makefile
> @@ -2051,7 +2051,7 @@ XGETTEXT_FLAGS = \
> --add-comments \
> --msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
> --from-code=UTF-8
> -XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --keyword=_ --keyword=N_ --language=C
> +XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --keyword=_ --keyword=N_ --keyword="Q_:1,2" --language=C
> LOCALIZED_C := $(C_OBJ:o=c)
Ack. The line is getting long. Maybe it would make sense to split
it up (like this)?
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
Makefile | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/Makefile b/Makefile
index 2441d56..2dbe555 100644
--- a/Makefile
+++ b/Makefile
@@ -2051,7 +2051,8 @@ XGETTEXT_FLAGS = \
--add-comments \
--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
--from-code=UTF-8
-XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --keyword=_ --keyword=N_ --keyword="Q_:1,2" --language=C
+XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
+ --keyword=_ --keyword=N_ --keyword=Q_:1,2
LOCALIZED_C := $(C_OBJ:o=c)
po/git.pot: $(LOCALIZED_C)
--
1.7.5.rc0
^ permalink raw reply related
* Re: [uml-devel] btrfs failure and BUG_ON behaviour
From: Sergei Trofimovich @ 2011-04-10 19:58 UTC (permalink / raw)
To: Sergei Trofimovich; +Cc: user-mode-linux-devel
In-Reply-To: <20110410095615.47eedc83@sf>
[-- Attachment #1.1: Type: text/plain, Size: 306 bytes --]
> I'll try to send bug report to linux-btrfs mailing list first
> and return if I'll have more details.
I've bisected it down to memcpy changes
59daa706fbec745684702741b9f5373142dd9fdc and found
out btrfs piece of code passing overlapping areas to memcpy.
Sorry for the noise.
--
Sergei
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
[-- Attachment #2: Type: text/plain, Size: 250 bytes --]
------------------------------------------------------------------------------
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
[-- Attachment #3: Type: text/plain, Size: 194 bytes --]
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
^ permalink raw reply
* [Qemu-devel] Re: [PATCH 4/5] softfloat: add float{32, 64, x80, 128}_unordered() functions
From: Peter Maydell @ 2011-04-10 19:59 UTC (permalink / raw)
To: Aurelien Jarno; +Cc: qemu-devel
In-Reply-To: <1302462807-8795-4-git-send-email-aurelien@aurel32.net>
On 10 April 2011 20:13, Aurelien Jarno <aurelien@aurel32.net> wrote:
> Add float{32,64,x80,128}_unordered() functions to softfloat, matching
> the softfloat-native ones. This allow target-i386/ops_sse.h to be
> compiled with softfloat.
I guess you could have made the x86 target use float*_compare()
instead, but I agree that it makes sense to have the unordered()
comparison to match the other specific-comparison ops.
> /*----------------------------------------------------------------------------
> +| Returns 1 if the single-precision floating-point values `a' and `b' cannot
> +| be compared, and 0 otherwise. The comparison is performed according to the
> +| IEC/IEEE Standard for Binary Floating-Point Arithmetic.
> +*----------------------------------------------------------------------------*/
> +
> +int float32_unordered( float32 a, float32 b STATUS_PARAM )
> +{
> + a = float32_squash_input_denormal(a STATUS_VAR);
> + b = float32_squash_input_denormal(b STATUS_VAR);
> +
> + if ( ( ( extractFloat32Exp( a ) == 0xFF ) && extractFloat32Frac( a ) )
> + || ( ( extractFloat32Exp( b ) == 0xFF ) && extractFloat32Frac( b ) )
> + ) {
> + if ( float32_is_signaling_nan( a ) || float32_is_signaling_nan( b ) ) {
> + float_raise( float_flag_invalid STATUS_VAR);
> + }
> + return 1;
> + }
> +
> + return 0;
> +}
So the NaN signalling semantics here are that we raise Invalid
for an SNaN but not for a QNaN. That's correct for the x86 op
we're implementing, but the float*_lt, _le and _compare functions
use the _quiet suffix for these semantics (with plain float*_lt
etc being "raise Invalid for both QNaN and SNaN"). So I think
these functions should be float*_unordered_quiet().
Annoyingly for eq the two versions use a different convention,
so we have float*_eq [raise Invalid only if SNaN] and
float*_eq_signaling [for any NaN] -- ideally that inconsistency
should be fixed...
> +int float64_unordered( float64 a, float64 b STATUS_PARAM )
> +{
> + a = float64_squash_input_denormal(a STATUS_VAR);
> + b = float64_squash_input_denormal(b STATUS_VAR);
> +
> + if ( ( ( extractFloat64Exp( a ) == 0x7FF ) && extractFloat64Frac( a ) )
> + || ( ( extractFloat64Exp( b ) == 0x7FF ) && extractFloat64Frac( b ) )
> + ) {
> + if ( float64_is_signaling_nan( a ) || float64_is_signaling_nan( b ) ) {
> + float_raise( float_flag_invalid STATUS_VAR);
> + }
> + return 0;
> + }
> + return 1;
> +}
You've got the sense the wrong way round on this one, I think.
I note that target-mips has a private float32_is_unordered()
and float64_is_unordered() which could probably be cleaned
up to use these instead. You'd need to implement both the
float*_unordered() and float*_unordered_quiet() versions.
-- PMM
^ permalink raw reply
* [PATCH] xfstests: allow deeper symlink recursion in 005
From: Christoph Hellwig @ 2011-04-10 20:03 UTC (permalink / raw)
To: xfs
Recent kernels allow more than 40 nested symlinks, so up the limit
to still reproduce a failure.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Index: xfstests-dev/005
===================================================================
--- xfstests-dev.orig/005 2011-03-16 13:10:39.000000000 +0000
+++ xfstests-dev/005 2011-03-16 13:11:00.000000000 +0000
@@ -45,7 +45,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 1
_cleanup()
{
cd $testdir
- rm -f symlink_{0,1,2,3}{0,1,2,3,4,5,6,7,8,9} symlink_self empty_file
+ rm -f symlink_{0,1,2,3,4}{0,1,2,3,4,5,6,7,8,9} symlink_self empty_file
cd /
_cleanup_testdir
}
@@ -82,7 +82,7 @@ cd $testdir
o=empty_file
touch $o
-for f in symlink_{0,1,2,3}{0,1,2,3,4,5,6,7,8,9}
+for f in symlink_{0,1,2,3,4}{0,1,2,3,4,5,6,7,8,9}
do
ln -s $o $f
o=$f
@@ -92,7 +92,7 @@ ln -s symlink_self symlink_self
echo "*** touch deep symlinks"
echo ""
-_touch symlink_{0,1,2,3}{0,1,2,3,4,5,6,7,8,9}
+_touch symlink_{0,1,2,3,4}{0,1,2,3,4,5,6,7,8,9}
echo ""
echo "*** touch recusive symlinks"
echo ""
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
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.