Re: hw-cpu-openrisc

[email protected] (Frank Ch. Eigler)
Newsgroups gmane.comp.emulators.sid.devel
Message-ID <[email protected]>
"Robert Cragie" <[email protected]> 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.