Add Arch::virt_is_valid
Adds the function Arc::virt_is_valid
checking for canonicalness of virtual addresses, which I really think crucial to have for validation. (Currently addresses are only translated, but not checked for canonicalness, so if you have a valid lower-half address except for the sign-extended bits, you could technically get the kernel to page fault right now).
I have not yet implemented canonicalness checking for aarch64 yet.
Edited by Jacob Lorentzon