This is the mail archive of the
sid@sources.redhat.com
mailing list for the SID project.
Re: hw-cpu-openrisc
"Robert Cragie" <rcc@jennic.com> writes:
> I'm having a go at piecing the jigsaw together...
Good.
> > The work includes ...
> > - adding sid configury for the openrisc target; see
> > sid/config/sidtargets.m4;
>
> Will something like this be sufficient?
>
> Index: sidtargets.m4
> ===================================================================
> [...]
Looks good.
> > will need autoconf/automake runs throughout
>
> So how do I do this exactly? I don't know much about these utilities, I'm
> afraid. [...]
You really need to bite the bullet and figure out a bit about how they
work. The basics can be accomplished by configuring the sid build
tree (only) with --enable-maintainer-mode, putting the
sources.redhat.com binutils "official" version of autoconf etc. into
your $PATH, touching all the configure.in, Makefile.am files, and
running a build. If you do a grep over configure*/Makefile* files in
the source tree, you'll see the lots of places where these sidtarget*
type configury bits show up.
> > - adding sid configuration file generator pieces to sid/bsp/configrun-sid
>
> Again, I think I can see what to do here, assuming I don't want any 'boards'
> just yet. Would something like this do?
> [...]
Yup, except that if there exists a typical libgloss/newlib port for
openrisc, you can likely go for the plain generic gloss model instead
of requiring an openrisc-specific one.
> [...]
> > - populating sid/component/cgen-cpu/openrisc [...]
>
> This is where I'm getting a little bit unstuck. Looking at the m32r
> subdirectory, I can see the m32r-decode.cxx etc. files which all say they
> are automatically generated by CGEN. But how did they get here? [...]
Each per-cpu Makefile includes commands that run cgen so that the
sid-targeted simulation kernel is emitted in the source directory.
> I presume the additional hand-written files are needed to implement
> the sid interfaces.
Right. It is important to start small and handle only the basic
cases.
> [...] I would really like to have a go at doing this, but I'm
> finding it hard going with lack of documentation at the SID level
> and a huge directory tree. [...]
It's hard to come up with a full recipe. We've all learned by being
talked through the process or figuring it out alone. :-) As soon as
something almost builds/works, the missing bits become pretty obvious.
- FChE