7 Aug 2006 16:42
Re: Simulator: base_insn and insn in decode.c
Ronald Hecht <ronald.hecht <at> uni-rostock.de>
2006-08-07 14:42:33 GMT
2006-08-07 14:42:33 GMT
Dave Brolley wrote: > I forgot to address your other question which was about the difficulty > of setting entire_insn before decoding. It's a bit of a chicken and > egg situation isnt'y it? You can't set entire insn properly until you > know something about the insn, but you can't call decode without > setting entire_insn properly. I agree, that's always the case. > > Your method of calling decode twice won't work because of this. > > Most existing ports determine the insn length by looking at a few bits > in base_insn and use this information to fill entire_insn. > > I'm wondering if the decoder shouldn't be redesigned so that all it > takes is base_insn, which should be all that is necessary to identify > the insn. The extractors for each format would then read any > additional bytes as needed. There is already support for this for ISAs > with insns which are longer than an insn word. That sounds good. Actually, I'm wondering a bit why the disassembler in src/opcodes works so great and the simulator port only under certain circumstances. Anyway. CGEN is great stuff. It helps a lot. Whould you say that SID is a better choice? Does it work with gdb as SIM does? Ronald(Continue reading)
RSS Feed