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