hi,
     when prefetch inst gets executed the following member funtcion from memop.C file called:
    void  prefetch_inst_t::Execute( void ) {
  STAT_INC( m_pseq->m_stat_prefetches_exec[m_proc] );
//  trap_type_t t = addressGenerate( OPAL_LOAD );
//this can only be true for Non i/o and non mmu prefetches
//  if (t != Trap_NoTrap) {
    /* couldn't correctly generate address -- we're done! */
    SetStage( COMPLETE_STAGE );
    return;
//  }
  /* can't complete I/O accesses, and moreover they are uncacheable */
 //We dont need to set trap to Trap_Use_Functional bec prefetch inst dont affect program regs
/*  if ( m_physical_addr != (pa_t) -1 &&
       isIOAccess( m_physical_addr ) ) {
    SetStage( COMPLETE_STAGE );
    STAT_INC( m_pseq->m_stat_count_io_access[m_proc] );  
    return;
  }
 /////////////// no lsq or WB concept for prefetches 
  if ( isCacheable() ) {
    ASSERT( m_physical_addr != (pa_t) -1 );
    //set address to be valid
    m_addr_valid = true;
    if (!accessCache())//accessCache() always ret true
      return;
  } // is cacheable
  Complete();
*/
}
comment out as shown above.
what i am doing is just setting  stage to "COMPLETE_STAGE" and returning. 
Regards,
Muhammad abid 
From: Jerry Lin <cosjerry@xxxxxxxxx>
To: Gems Users <gems-users@xxxxxxxxxxx>
Sent: Monday, June 7, 2010 15:15:08
Subject: [Gems-users] prefetch question
Hello all,
When I running workloads with Ruby and Opal using default configuration, the prefetch count in the dump file won't be zero.
Is there any configuration to turn on/off the prefetcher?
Or is there any modification can be done to turn on/off the prefetcher?
 
Thanks for helping.