General notes:
For now im just going to leave all the responses as SbiRet but once I
decide how I want to handle returning errors I would like to return more
useful values.
In the cpp file I define a enum class "ExtensionId" with only one
member. For now the thought is that its descriptive and is consistent
with how the legacy extension is written. I'll also do the same thing
with FunctionId in the legacy extension after this commit for
consistency.
Added legacy extension
Fixed typing memes by just define a sbiword_t typedef
Renamed sbiret_t to SbiRet, I think i'll only use _t for typedefs
Added ecall() variant that takes no additional arguments
Moved opensbi includes to includes/opensbi/...
kernel.cpp uses the legacy extensions instead of raw ecalls
All legacy extension calls are marked as deprecated