Subject: CVS commit: syssrc
To: None <source-changes@netbsd.org>
From: Wayne Knowles <wdk@netbsd.org>
List: source-changes
Date: 09/26/2000 12:32:25
Module Name: syssrc
Committed By: wdk
Date: Tue Sep 26 09:32:25 UTC 2000
Modified Files:
syssrc/sys/arch/mipsco/stand/common: prom.S
Log Message:
Since we don't have a lseek function in the PROM firmware standalone libs
we have to poke the data structures directly to force the offset we need.
The open() function returns with the address of the IO control block in
register t0 so we take a copy of it for our brute-force lseek function.
This should be reasonably portable since the firmware writers closely
follow UNIX semantics and the open stubs should recompile and use the
same registers. May break on the rebadged clones -- buyer beware.
The alternative is to use dummy reads to go forwards and reopen followed
by dummy reads to go backwards. It takes around 60 seconds to boot
using this method if we use a clean filesystem.
Tested with firmware versions 5.40 and 5.43
To generate a diff of this commit:
cvs rdiff -r1.1 -r1.2 syssrc/sys/arch/mipsco/stand/common/prom.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.