[Aboriginal] Sparc-32 doesn't work in 3.1.
Rob Landley
rob at landley.net
Sat Nov 12 09:22:34 PST 2011
Still trying to ship an Aboriginal Linux release with the 3.1 kernel,
but the sparc target broke, as in QEMU's OpenBios goes:
Boot time fixup v1.6. 4/Mar/98 Jakub Jelinek (jj at ultra.linux.cz).
Patching kernel for srmmu[Fujitsu TurboSparc]/iommu
Fixup i f029ddfc doesn't refer to a valid instruction at
f00de648[95eea000]
halt, power off
And doesn't even boot Linux. A sparc-objdump -a on vmlinux says that
chunk has:
f00de63c: 84 0b 60 ff and %o5, 0xff, %g2
f00de640: 91 32 20 10 srl %o0, 0x10, %o0
f00de644: 85 28 a0 08 sll %g2, 8, %g2
f00de648: 98 0a 20 ff and %o0, 0xff, %o4
f00de64c: 03 00 00 3f sethi %hi(0xfc00), %g1
f00de650: 82 10 63 00 or %g1, 0x300, %g1 ! ff00
<cputypvallen+0xfef4>
f00de654: 90 0a 00 01 and %o0, %g1, %o0
Which means nothing to me.
I bisected it to this:
commit 9933fc0ac1ac14b795819cd63d05ea92112f690a
Author: Theodore Ts'o <tytso at mit.edu>
Date: Mon Aug 1 08:45:02 2011 -0400
ext4: introduce ext4_kvmalloc(), ext4_kzalloc(), and ext4_kvfree()
Introduce new helper functions which try kmalloc, and then fall back
to vmalloc if necessary, and use them for allocating and deallocating
s_flex_groups.
Signed-off-by: "Theodore Ts'o" <tytso at mit.edu>
The commit before that builds fine, this one doesn't.
I think it's triggering bad behavior in arch/sparc/mm/btfixup.c (at
least that's where the "valid instruction" error message comes from),
but I have no idea what this file is doing, and it was last touched in
2008. (I'm building with gcc 4.2.1 and binutils 2.17, both of which
were last touched around 2006, so that's not new either...)
Rob
More information about the Aboriginal
mailing list