Subject: Question about initarm()
To: None <port-arm32@netbsd.org>
From: Kyle Mestery <mestery@winternet.com>
List: port-arm32
Date: 11/19/1998 14:13:35
In looking at initarm() in ebsa285_machdep.c, I notice that the calls to
fcomcnattach() and fcomcndetach() have been commented out. Directly
following the call to fcomcnattach() is a printf statement. I am wondering
how the ebsa-285 will be able to print anything out without a console that
has been initialized? Is the firmware supposed to initialize this?
One more thing. When I uncomment these, and compile a kernel, load it onto
my ebsa-285-like hardware, I seem to take a data abort in fcomcnattach()
in this sequence of code:
if (bus_space_map(fcomconstag, iobase, DC21285_ARMCSR_SIZE,
0, &fcomconsioh))
panic("fcomcninit: mapping failed");
Actually, it could be any exception I suppose, but data abort seems most
logical. What happens is I am putting chicken tracks out to through the uart
in this routine to track where I get to. I see the first one before this
call, but then not the second one, because the board appears to reboot and loop
back to this point. I don't think it's actually rebooted, I think it has
taken an exception, and done what the process does, vector down to 0x0-0x1c
and load what is there and start executing. Since I have no exception
handlers installed yet (they don't get installed until later on), I just
re-execute code leading up to the data abort again. Has anyone else seen
this on the ebsa-285, and if so, how did you get around it? Thanks.
--
Kyle Mestery
StorageTek's Storage Networking Group