Thanks, Gabe.
I got it. I kept thinking about changing m5.
I will include m5op_alpha.S in my apps compilation and try the
SIMPLE_OP directly.

john

On Sat, Apr 3, 2010 at 6:27 PM, Gabe Black <[email protected]> wrote:
> That's definitely not the right way to put that in assembly but
> fortunately you don't have to worry about it. Build util/m5/m5op_alpha.S
> into your binary, and call the instructions as functions using the
> prototypes in util/m5/m5op.h. If you want to do it yourself, you could
> look at those files as examples, or alternately figure out how to insert
> actual values into binary which is probably something like .fill or
> .long. You also probably want to use volatile to keep gcc from moving
> your asm around or optomizing it out. Off the top of my head, it might
> look something like this. This may be wrong.
>
> asm volatile (".long ( (0x01 << 26) | (16 << 21) | (17 << 16) | 0x40 )");
>
> If possible, though, I'd recommend using the files from util.
>
> Gabe
>
> John Xu wrote:
>> Thanks a lot, Gabe.
>>
>> I tried using these pseudoinsts inline in the application code. But I
>> don't know if the assembler
>> takes the raw instruction as is. For example, I tried the following,
>>     long my_m5_op = ( (0x01 << 26) | (16 << 21) | (17 << 16) | 0x40 );
>>     asm("my_m5_op");
>>
>> I kept getting compile error with it.
>> Is there an example how to use this pseudoinst inline?
>>
>> If this does not work, I will switch back to the model as you suggested and 
>> call
>> Stats::StatEvent(false, true,  ,  ) directly.
>>
>> john
>>
>>
>> On Sat, Apr 3, 2010 at 5:42 PM, Gabe Black <[email protected]> wrote:
>>
>>> The pseudo instructions are for use inside a program like you said, and
>>> are actual assembly instructions recognized by M5. A program is provided
>>> in util which, when run from a script, will run the requested assembly
>>> instruction. That program is makes it easy to use those instructions
>>> from a script, but it's entirely optional. That said, if you actually
>>> want to trigger the ops using a particular address instead of using the
>>> assembly instructions, then you don't want either of these approaches
>>> which are for use from the simulation target. From inside the simulator
>>> (ie the cache model) you can just call the functions the assembly
>>> instructions end up calling which are in sim/pseudo_inst.cc. Even
>>> better, you could use the same underlying mechanisms those functions use
>>> directly, avoiding some unnecessary complications.
>>>
>>> Gabe
>>>
>>> John Xu wrote:
>>>
>>>> Hi,
>>>>
>>>> I am looking for a way to reset/dump stats from the application itself
>>>> in ALPHA_FS mode.
>>>> As I understood, all the pseudoinsts as part of the m5 util only works
>>>> in the rcS script which
>>>> does not understand where the program is in a finer granularity.
>>>>
>>>> Is there a way to do so already in M5?
>>>>
>>>> The method I am working on is based on a memory mapped variable. And
>>>> whenever I see a
>>>> write to it, I am trying to reset/dump stats. The  do_reset_stats
>>>> functions though are in util directory
>>>> instead of src. So the default compilation script is not going to
>>>> support that. I have some trouble
>>>> calling back to these psudoinsts from the cache mode itself.
>>>>
>>>> Do you think this is the right way to go or is there is better way?
>>>>
>>>> Thanks for your help in advance.
>>>>
>>>> john
>>>> _______________________________________________
>>>> m5-users mailing list
>>>> [email protected]
>>>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>>>
>>>>
>>> _______________________________________________
>>> m5-users mailing list
>>> [email protected]
>>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>>
>>>
>> _______________________________________________
>> m5-users mailing list
>> [email protected]
>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>
>
> _______________________________________________
> m5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>
_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users

Reply via email to