[openfirmware] OFW Client Programs Problems
Andrea
r&d4 at dave-tech.it
Tue Jun 17 12:01:31 CEST 2008
Mitch Bradley wrote:
> The situation you describe is an intentional "feature", implemented at
> line 278 of ofw/core/bootparm.fth
> [snip]
> One workaround would be to do "false to already-go?" before re-executing
> the boot command.
>
Thanks for the explanation Mitch!
> The USB hang is because dev/geode/usb.fth explicitly turns off the USB
> hardware when transferring control to
> the booted program. This was a precautionary measure for Linux. The
> USB hardware performs DMA to
> memory descriptors. We were afraid that might interfere with Linux
> startup in some cases, so we turned off
> the USB to make the system "quiet" during Linux startup. (We didn't
> have specific evidence that the USB
> DMA was causing problems; we were just being careful. Linux was
> starting properly before this USB turn-off
> was added.)
>
> If you know that the USB DMA will not cause problems for your system,
> you can leave USB turned on by adding
> this line to fw.bth, anywhere after the "fload ${BP}/dev/geode/usb.fth"
> line:
>
> ' noop to go-hook
>
> go-hook is a defer word that is executed just before transferring
> control to a loaded program. It can be used
> to do any platform-specific last-second cleanup that you need to do.
>
Sound reasonable for Linux booting.
I try it and I found that it is possibile to do it at runtime (by typing
the command above on ofw console)
Thanks for the suggestion
I got another problem while reading the file from usb device:
Running Lattice programmer Boot device: /usb/disk:\vme.elf Arguments:
u:\neptune.vmeBoot device: /usb/disk:\vme.elf Arguments: u:\neptune.vme
finddevice ( 105463 -- ff82b044 )
getprop ( 4 ff9e77b8 10546b ff82b044 -- 4 )
getprop ( 4 ff9e77b8 105471 ff82b044 -- 4 )
getproplen ( 105478 ff82b044 -- 40 )
claim ( 4 1000 0 -- ffb73000 )
getprop ( 40 ffb73018 105478 ff82b044 -- 40 )
getproplen ( 105481 ff82b044 -- f )
getprop ( f ffb73074 105481 ff82b044 -- f )
write ( 2e 1058ac ff9b5180 -- Lattice Semiconductor Corp.
2e )
write ( 2 1058ac ff9b5180 --
2 )
write ( 34 1058ac ff9b5180 -- ispVME(tm) V12.1 Copyright
1998-2008.
34 )
write ( 2 1058ac ff9b5180 --
2 )
write ( 43 1058ac ff9b5180 -- For daisy chain programming of all
in-system programmable devices
43 )
write ( 2 1058ac ff9b5180 --
2 )
write ( 38 1058ac ff9b5180 -- Processing virtual machine file
(u:\neptune.vme)..
....
38 )
write ( 2 1058ac ff9b5180 --
2 )
open ( ff9e7668 -- ff9df5b4 )
read ( 80 ffb730a8 ff9df5b4 -- 80 )
BOUND range exceeded
ok2
the last read() is, in C code a simple fgetc(). Is 'still something
about USB device or maybe in client interface? (or.. whatever..)
TIA,
--
Andrea
DAVE Srl - Electronics System House
e-mail address: r&d4 at dave-tech.it
More information about the openfirmware
mailing list