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