Hi ARM folks. We're trying to make sure we're setting up the CNTFRQ
register properly in a fast model CPU we're hooking up to gem5, and I
believe we have the simulator part of that set up properly. We have the
input for the non core components of the model running at a fixed
frequency, and during initialization we set the CNTFRQ register of each
context to that frequency before starting the guest software

My colleague TK noticed, however, that the ARM bootloader writes a compiled
in value into the CNTFRQ register, and that will clobber the value we put
there.

In gem5, writing to the register CNTFRQ actually configures the frequency
of that timer. That is not in line with what the documentation says, where
CNTFRQ is supposed to be a read-only type register which just reports the
frequency to software and doesn't do anything to control that frequency.

Should gem5 be doing that? Is that how the generic system timer should be
configured? Why was it done that way? Can we change it so gem5 sets it up
like we do with the fast model, where the frequency is set outside of the
host software and the CNTFRQ register just has a value jammed into it for
software to discover?

Gabe
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to