On Mon, Mar 29, 2021 at 11:31:27AM +0100, Will Deacon wrote: > One thing I don't understand about the registers listed here is that we're > requiring firmware to initialise them when the kernel is entered at EL2. But > they're *_EL2 registers, so why can't the kernel initialise them itself? The > fewer dependencies on firmware, the better. Well, there's nothing stopping us doing both - that's the most robust thing. Relying on the kernel alone to do this has the old kernels on new systems issue, and there's always going to be some section of code running before we manage to go through and enumerate features then reset the system registers even if we run that code very early. With something like traps it seems especially relevant, it's more of a "could affect anything" kind of thing than something where we can initialize the feature before we start using it.