[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [f-cpu] fcpu-iss



On Fri, 12 Mar 2004 15:02:42 +0100
Michael Riepe <michael+fcpu@stud.uni-hannover.de> wrote:

> On Fri, Mar 12, 2004 at 11:28:44AM +0100, Pierre Tardy wrote:
> [...]
> > > Well, both (f)lex and libelf are freely available.
> > Yes, or course, but installing these in our Solaris(tm) server is very time
> > crunching..
> 
> Huh?
> 
> 	gunzip package.tar.gz
[..]
> 	make install
> 
> Takes less than 5 minutes (for both packages).
Yes, that is when all things are fine. But it is solaris, and it has no access to the internet (for security reasons.. :/ ). flex need gnu-m4 and gnu-bison to compile, and I have not tried libelf... We are used to our linux well administrated box. But when it comes with proprietary and old OS, the troubles start :-)

Well after all, Its not so important to me..

> 
> [...]
> > > I'm not going to incorporate your changes into fctools, if that is
> > > what you want to know.  But I'll probably add hooks that allow people
> > > to build a cycle-accurate emulator from the same source.
> > You will read it in our conclusions, but we think that simulating pipeline
> > effects will need a somewhat big change in the architecture of the ISS.
> 
> Sorry, I haven't read it yet.
Thats normal, we are writing it, we should release it March 29th.
> Is there an english (or german) version now?
It is in f-cpu language, VHD^W english.

> > in emu.c We have added the hooks for a TLM (Transaction Level Model) ISS (what
> > we have done).
> 
> Last time I looked, it was rather invasive (and pretty ugly, too).

Yes, at that time, I mainly worked on prefetcher.c, with quick'ndirty hacks everywhere in emumain.c. Now, it is a bit better, emumain does not define anything to do with memory (there is juste the main loop and some initialisation).
Maybe it still need a little bit of work.

> In particular, it didn't allow different kinds of emulators to share
> the emulator core.  That's a MUST since I don't want to maintain two
> versions of the code.
I totally agree with that.
Do you include emumain.c in the core ?

> I'll provide an interface in the next release.  The basic idea is
> that the emulator core will call external hooks (that is, functions
> provided by the caller) when any of the following situations arise:
[snip]
Ok, that's what I thought.
We have made:
lsu_read(addr + j, R2) ;
lsu_write(addr + j, R2, r(R1).C(b,BYTES(sz)-1-j));
lsu_loadaddr(R1, r1.C(o,0));
pf_loadaddr(R1,r1.C(o,0));
pf_doJmp(R2);
pf_updatePC();

this one may be unusefull actually.
lsu_break_reg_line_mapping(R1);


> I recommend that you compile the emulator pieces with a C compiler,
> because that's what they were written for.
I tried to compile it with g++ with the idea to encapsulate the globals into a class in order to instanciate several processors in the same process.


-- 
Pierre
*************************************************************
To unsubscribe, send an e-mail to majordomo@seul.org with
unsubscribe f-cpu       in the body. http://f-cpu.seul.org/