On 2012-03-24 17:26, Lee Essen wrote: > sigbus_reraise is used by the kvm_wait_io_event function and is > needed on both Linux and Solaris. This patch adds CONFIG_SOLARIS > to the current CONFIG_LINUX only ifdef. > > Signed-off-by: Lee Essen <lee.es...@nowonline.co.uk> > --- > cpus.c | 4 +++- > 1 files changed, 3 insertions(+), 1 deletions(-) > > diff --git a/cpus.c b/cpus.c > index 25ba621..6550f22 100644 > --- a/cpus.c > +++ b/cpus.c > @@ -455,7 +455,7 @@ static void cpu_signal(int sig) > exit_request = 1; > } > > -#ifdef CONFIG_LINUX > +#if defined(CONFIG_LINUX) || defined(CONFIG_SOLARIS) > static void sigbus_reraise(void) > { > sigset_t set; > @@ -491,7 +491,9 @@ static void qemu_init_sigbus(void) > action.sa_sigaction = (void (*)(int, siginfo_t*, void*))sigbus_handler; > sigaction(SIGBUS, &action, NULL); > > +#if defined(CONFIG_LINUX) > prctl(PR_MCE_KILL, PR_MCE_KILL_SET, PR_MCE_KILL_EARLY, 0, 0); > +#endif
BTW, this looks suspicious. Are you sure Solaris delivers a compatible SIGBUS with all the information KVM needs to translate it to a MCE? That is not a KVM subsystem feature, it's a kernel feature that Solaris would either have to provide in the same way as Linux, or you need some glue code to translate the differences. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux