So, like, the other day Segher Boessenkool mumbled:
Btw, IMNSHO, it should be the firmware's job to synchronise
the timebases, even before the kernel gets started; at least
as the default. We don't want to have millions of separate
GPIO thingies, one for every board, unless really necessary,
I think?
The second CPU isn't even running in the firmware.
It is in hard-reset until Linux says "Hey, start that
secondary CPU for me!".
Thanks,
jdl
quoted
Btw, IMNSHO, it should be the firmware's job to synchronise
the timebases, even before the kernel gets started; at least
as the default. We don't want to have millions of separate
GPIO thingies, one for every board, unless really necessary,
I think?
The second CPU isn't even running in the firmware.
It is in hard-reset until Linux says "Hey, start that
secondary CPU for me!".
In that case you obviously need to sync the timebases, sure.
The firmware could be smart and do the sync at CPU start-up
time though.
On other boards, all CPUs are always running (not a desirable
situation, but outside of our control, heh).
In either case, the knowledge about how to sync the timebases
more properly belongs in the firmware than in the kernel. In
some cases the kernel explicitly tells the firmware to start/
stop the timebases, that's better than the kernel having to
handle the nitty-gritty details itself already.
Thoughts?
Segher