On 2012-03-27 13:45, Jan Kiszka wrote: > On 2012-03-27 13:41, Andreas Färber wrote: >> Am 24.03.2012 17:26, schrieb Lee Essen: >>> 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) >> >> As asked elsewhere: Linux was the only KVM platform so far. If > > Power, s390, soon also ARM?
Err, forget about this part. :) > Also, this code is not KVM specific, MCE > forwarding is supposed to work with TCG as well. > > That said, some generic HAVE_MCE_FORWARDING or so makes probably sense > when there are more platform supporting it. > > Jan > >> sigbus_reraise() is only used in some KVM function like you said, can't >> this we guarded with #if defined(CONFIG_KVM) or similar so that we don't >> have to expand this once FreeBSD etc. merge KVM support, i.e. feature-based? >> >> Andreas >> >>> 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 >>> } >>> >>> static void qemu_kvm_eat_signals(CPUArchState *env) >> > -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux