Hello,

I am trying to determine when/where the enum Flags of the 'IsStore"
Flag of the StaticInstBase Class are set. I see that the flags
(including IsStore) are accessed via the boolean flag accessor
functions defined further below in static_inst.hh, but when/how they
are set.

I have checked the BaseDynInst class in base_dyn_inst.hh as well, and
I see that this class has its own set of flag accessor functions as
well (e.g. isStore) that call the corresponding flag accessor function
of the StaticInstClass, but nothing in regards to setting the flags.

Are these flags 'set' in the decoder.isa depending on the instruction
( e.g. alpha isa:  stb({{ Mem.ub = Ra<7:0>; }});, since instruction
stb is defined as a Mem operation, it has the assigned flags IsStore
as part of its attribute (main.isa)? Or is there some other place that
'translates' the IsStore of the instruction in the ISA to the IsStore
Flag of the StaticInstBase Class.


Also, Does the protocol directory in /src/mem/ have any use now in
regards to implementing the hardwired MOESI coherence protocol? There
just seems to be a lot of *.sm files in there, some with the names of
MSI/MESI, so do they correspond to previous releases of M5 which
supported different coherent protocols, and where just left in there
now?

 In either case if any files (even the MOESI*.sm files?) in that
directory have significant relevance if one was looking to modify /
change M5's coherence to support selective write update / writeupdate?

Thanks.


Malek
_______________________________________________
m5-users mailing list
m5-users@m5sim.org
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users

Reply via email to