Using IA-64 processor, I am modifying the data in machine instructions during execution and replacing with new data values in instructions having constants e.g. add r23=45, r67 being replaced by add r23=90, r67.
After the successful modification, the following method is acquired for cache coherence.
asm volatile("fc %0"::"r"(addr));
//32 bytes i.e. 2 bundles have been done. so loop for as required and at the end,
asm volatile(";;sync.i ;;");
asm volatile("srlz.i ;;");
Are these steps correct for the modification of binary instructions during execution for IA-64 architecture.