Because booting a basic Linux kernel results in over 1 million VM exits
catching silent errors is next to impossible. For this reason
ANY time your code has an error it should return -1, and expect the
execution to halt.
This includes unimplemented features and unhandled cases. These cases
should ALWAYS return -1.
Jack Lange
2010-04-13