On Mon, Jul 19, 2010 at 10:24 PM, nathan binkert <[email protected]> wrote: >> I am working on some timing attack problems. I was wondering whether it is >> possible to use m5 in SE mode to do a pseudo switch of contexts: to execute >> a workload, then (using the current processor state including caches, bpreds >> etc) switch to another one - to simulate a regular and an attacker process. >> One possible solution would be switching the same CPU class but with a >> different workload parameter. Will it preserve the processor state? >> Essentially all that is required is two different address spaces, one for >> each workload and the workloads executed sequentially (being able to >> schedule between them would be great too!). Perhaps using SMT mode but >> suspending / resuming the threads will work for that? > > SE mode isn't designed to do this stuff, but that said, I'd imagine > that it could be made to work without too much work. You can't just > switch the workload parameter because the workload is really only used > when the application is starting up. You'd need to have two workloads > loaded into two contexts and write some code to swap contexts.
I can think of a few ways to do it: - use the SMT support in O3 and enable/disable threads so that only one runs at a time - hook up two CPUs to the same caches and enable/disable the CPUs so that only one runs at a time - write code to explicitly save/restore the CPU state The last one is the closest to what happens in real life but also the most work. Steve _______________________________________________ m5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
