[Gems-users] Adding a handler in Opal for I/O instructions


Date: Tue, 30 Sep 2008 20:27:52 -0500
From: Philip Garcia <pcgarcia@xxxxxxxx>
Subject: [Gems-users] Adding a handler in Opal for I/O instructions
Hello,
I was wondering if anyone is familiar with how to add delays into Opals pipeline. I am trying to add a delay so that certain I/O loads and stores get delayed by a set amount. I have found the relevant place in load_inst_t::Execute where Opal checks if a memory operation is to an IO instruction, but if it is, I am unsure of how to delay it. I tried adding a simple delay that doesn't set the stage to COMPLETE_STAGE until a static number of cycles passes, but this appears to cause opal to crash, as instructions in the queue end up having no stage associated with them. However, when I tried adding my own stage into Dynamic.h which was DELAY_IO_STAGE, and setting the memop instructions stage to this, it doesn't appear to ever go into the relevant case statement I added in dynamic_inst_t::Schedule, and later crashes for the same reason. I was wondering if maybe I am doing something wrong, or misunderstood the organization of this code.

Any help would be greatly appreciated.

thanks,
Phil
[← Prev in Thread] Current Thread [Next in Thread→]
  • [Gems-users] Adding a handler in Opal for I/O instructions, Philip Garcia <=