qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/4] Enable sigbus_reraise for Solaris


From: Jan Kiszka
Subject: Re: [Qemu-devel] [PATCH 2/4] Enable sigbus_reraise for Solaris
Date: Tue, 27 Mar 2012 13:47:28 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666

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 <address@hidden>
>>> ---
>>>  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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]