goodbye cvs for the j820

Mon Jul 25 13:18:00 CEST 2005

Dear Jornada820 users,

I merged the 2.4 kernel with the 2.4.31-j720-4 upstream by Michael
Gernoth, and streamlined the build environment some more. It looks
like it works as well as these things go: everything works as fine as
it ever used to, except with a more recent kernel with more extended
pcmcia device support. Yay!

I even found the reason for that nasty oops in when trying to restart
cardmgr, and why it didn't happen when running cardmgr from the
ramdisk! Here's the bad pcmcia behaviour, identified and documented.
With a fixed build environment, I could enable the frame-pointer,
though, and get some more debug output. The call chain is sys_ioctl =>
ds_ioctl => adjust_io => do_io_probe, exception on line 290, hole =
inb(i), lrdb r3, [r4]. LR is loaded with check_resource because we
just called it, r4 is loaded with i which is now 0x100 (a bad address
to load indeed -- the inb macro must be wrong), r6 is loaded with
base+num = 0x500... The value of base was printed in a printk visible
in dmesg (doh!)... 0x100 to 0x420. Where was that from??? From
/etc/pcmcia/config.opts!!!! So these oopses were caused by my
forgetting to clean up after debian's default configuration, that had
a lot of PC-specific include lines, that I had to comment out.
GRRRRRR! Why didn't that bug show up before? Maybe older versions of
the kernel skipped the probe somehow -- maybe it was even done
intentionally by one of us, but without a #ifdef JORNADA820. Or maybe
there was a #ifdef, but I failed to see it when merging the code.

It now appears that it runs fine. I'm doing some double checks, but in
the meantime, I already merged the unhh branch back into CVS HEAD.
What was previously HEAD branch seems not to work because the CVS has moved. Yikes. At least now we depend on a
well-defined upstream that isn't a moving target (except for the
toolchain, but I'm pretty sure we could simply extract the uclibc svn
from yesterday). Plus, still has an ancient 2.4.19
kernel and we now have 2.4.31. The unhh branch serves no purpose
anymore (unless you want to resurrect it).

I sent a patch to Michael Gernoth for inclusion in upstream jornada
kernel. He has more chances of getting that merged into yet upstream
than CVS ever will. I suppose we should keep a mirror of
his patch on our site, too.

I uploaded an image to our site. Give it a try!
(previous one renamed to j820.old)

If you have a CVS that you'd want to update, do not forget to clean up
the mess before you compile my stuff:
  rm -rf linux/build/ linux/upstream/
  make j820
And if you want to re-build the toolchain, *first* do
  rm -rf uclibc/buildroot
  make toolchain
Everything should work out of the box.

I included Matan's USB stuff, but it requires more efforts to merge it
into the current tree, and the ush-ohci doesn't compile due to
confusion wrt PCI. Maybe one of you can clean up the mess?

PS: I tested the debian distribution created with my mkxdeb script.
Apart from the pcmcia bug (see above), it works quite well out of the

[ François-René ÐVB Rideau | Reflection&Cybernethics | ]
In Paris they simply stared when I spoke to them in French; I never did
succeed in making those idiots understand their language. -- Mark Twain

More information about the Jornada820 mailing list