Yea, the relevant piece of code (which I surmise you've already found) is
in pal.isa:

def format HwStore(ea_code, memacc_code, class_ext, *flags) {{
    (header_output, decoder_output, decode_block, exec_output) = \
        LoadStoreBase(name, Name + class_ext, ea_code, memacc_code,
                      mem_flags = [], inst_flags = flags,
                      base_class = 'HwLoadStore', exec_template_base =
'Store')
}};

So the third arg gets bound to class_ext, which is just tacked on to the
Name variable (auto-populated with Hw_st in this case) to form the class
name.  If you look in build/ALPHA_*/arch/alpha/decoder.hh you'll see that
there's a Hw_stL class and a Hw_stQ class (generated by the following
decoder.isa line) that differentiate between the longword and quadword
versions of hw_st.

Steve

On Thu, Jan 5, 2012 at 9:33 AM, Paul Rosenfeld <[email protected]> wrote:

> Hello,
>
> I'm slowly starting to wrap my head around the way the ISA language works,
> but I can't seem to figure out what certain parameters are to a format. For
> example in the alpha ISA's decode blocks I see this:
>
>  888     0x1f: decode PALMODE {
>  889         0: OpcdecFault::hw_st_cond();
>  890         format HwStore {
>  891             1: decode HW_LDST_COND {
>  892                 0: decode HW_LDST_QUAD {
>  893                     0: hw_st({{ EA = (Rb + disp) & ~3; }},
>  894                 {{ Mem.ul = Ra<31:0>; }}, L, IsSerializing,
> IsSerializeBefore);
>
> I understand the basic structure here: first two arguments are code
> literals, the last two are flags from static_inst.hh, but I can't figure
> out what "L" is. When I grep for L, I can't find anything (i.e. it's not a
> bitfield, not a flag). Looking at the corresponding python code it seems
> like maybe it's just a string literal? Is this right?
>
> Thanks in advance,
> Paul
>
> _______________________________________________
> gem5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to