split guest/context switching from hmain.c to context.c and it also replaces switching.c