tbh i don't understand why tf-a/bl31 is necessary at all. sorry but it looks like just another random collection of unfinished C code that bites you in the ass because you forget it's there, and it does some random critical things, half implemented. why can't this go in the kernel and be properly maintained? why shouldn't linux run in EL3? what am i missing?