raspberrypi / tools

1.89k stars 865 forks source link

armstub7: Also reset CNTVOFF #113

Closed popcornmix closed 4 years ago

popcornmix commented 4 years ago

See: https://github.com/raspberrypi/linux/issues/3579#issuecomment-636357358 Ping @lategoodbye - is this what was wanted?

lategoodbye commented 4 years ago

Unfortunately i'm not that assembler / ARM expert, but from my limited PoV this looks like the requested ones. The timer frequency is already been set.

Maybe @vianpl wants to take a look.

vianpl commented 4 years ago

Like @lategoodbye I'm not an expert in such low level matters. That said, it looks correct to me. We could go ahead and drop "arm,cpu-registers-not-fw-configured" altogether, but I guess we'd have to time it with a firmware release. Let me do some extra research/testing to really validate this.

As for https://github.com/raspberrypi/linux/issues/3579, FYI, it's still being looked at and I doubt this will fix the underlying issue (albeit probably mask it): https://lkml.kernel.org/lkml/CAK8P3a2+_a+Qj8uvSToLKwf_pj14EouAFzEO6Un5uc8fT9Vr-w@mail.gmail.com/

lategoodbye commented 4 years ago

The DT property "arm,cpu-registers-not-fw-configured" is really ugly and now hard to remove. Maybe in mainline we should do this (first) only for RPi 4 because of the few users.

I agree regarding https://github.com/raspberrypi/linux/issues/3579 because this is an orthogonal issue.

pelwell commented 4 years ago

Am I right in thinking that "armstub7: Increase GIC version to 0x200" is required in order for "armstub7: Also reset CNTVOFF" to fit? We might get some complaints from users of other OSs expecting to be able to put their DTB at 0x100, but some headroom would be nice.

popcornmix commented 4 years ago

Yes, currently one free word is available for armstub8-32-gic.bin. I spent a little while looking for something to squeeze but that's been done a few times and there wasn't anything too obvious (and we may want to tweak the code in the future).

pelwell commented 4 years ago

I suppose the GIC / noddy-DTB-handling intersection is probably vanishingly small.

popcornmix commented 4 years ago

Yes - I made sure non-GIC code wasn't increased.

popcornmix commented 4 years ago

This fix was included in https://github.com/raspberrypi/tools/pull/117