mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 01:33:56 -06:00
acpi,pc,build bug fixes
Here are some bugfixes for 2.0. A bugfix for acpi for pci bridges, and a build fix for old systems without pthread_setname_np: both fix regressions so we definitely want to include them. HPET fix is not for a regression but looks very safe, fixes a nasty bug and has been on list for a while. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAABAgAGBQJTNWRMAAoJECgfDbjSjVRp6CoH/A3iLi+jkV4EhQQzU8U6vOmi PIV71600rZd29u4hk6w5pyev6yyXSBwatmWk+vzHvINUIcc22KUue+773nXPW/fH 3oIgTwjKndE98V5vTSeOgOdD7iFuWlcgHQHLXXMsgpY1hVMS/1kidZdb+36o8euI kdE+AxYGXS8Z3oBRFfROpT4v0UZ17qIaL4tqA4JJWMh/A3Qp3HY+ffU3ODAvKSQw KWVWmKvbh82I25HOvALoMwtu26x48jhzu586pHBuEsHgTJKKBrAUdWph+2f1eSC+ xTgduKWEgK6Z9dCYDQwDaM8CqNzjqVzfgRu0RCSHtgTxCWaIN3dQbxEFi7WQ2Yo= =dfqJ -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging acpi,pc,build bug fixes Here are some bugfixes for 2.0. A bugfix for acpi for pci bridges, and a build fix for old systems without pthread_setname_np: both fix regressions so we definitely want to include them. HPET fix is not for a regression but looks very safe, fixes a nasty bug and has been on list for a while. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> # gpg: Signature made Fri 28 Mar 2014 12:00:12 GMT using RSA key ID D28D5469 # gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" # gpg: aka "Michael S. Tsirkin <mst@redhat.com>" * remotes/mst/tags/for_upstream: acpi: fix ACPI generation for pci bridges Don't enable a HPET timer if HPET is disabled Detect pthread_setname_np at configure time Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
3b6144bdbb
5 changed files with 52 additions and 6 deletions
|
@ -32,6 +32,13 @@ static bool name_threads;
|
|||
void qemu_thread_naming(bool enable)
|
||||
{
|
||||
name_threads = enable;
|
||||
|
||||
#ifndef CONFIG_THREAD_SETNAME_BYTHREAD
|
||||
/* This is a debugging option, not fatal */
|
||||
if (enable) {
|
||||
fprintf(stderr, "qemu: thread naming not supported on this host\n");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
static void error_exit(int err, const char *msg)
|
||||
|
@ -394,6 +401,16 @@ void qemu_event_wait(QemuEvent *ev)
|
|||
}
|
||||
}
|
||||
|
||||
/* Attempt to set the threads name; note that this is for debug, so
|
||||
* we're not going to fail if we can't set it.
|
||||
*/
|
||||
static void qemu_thread_set_name(QemuThread *thread, const char *name)
|
||||
{
|
||||
#ifdef CONFIG_PTHREAD_SETNAME_NP
|
||||
pthread_setname_np(thread->thread, name);
|
||||
#endif
|
||||
}
|
||||
|
||||
void qemu_thread_create(QemuThread *thread, const char *name,
|
||||
void *(*start_routine)(void*),
|
||||
void *arg, int mode)
|
||||
|
@ -420,11 +437,9 @@ void qemu_thread_create(QemuThread *thread, const char *name,
|
|||
if (err)
|
||||
error_exit(err, __func__);
|
||||
|
||||
#if defined(__GLIBC__) && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 12))
|
||||
if (name_threads) {
|
||||
pthread_setname_np(thread->thread, name);
|
||||
qemu_thread_set_name(thread, name);
|
||||
}
|
||||
#endif
|
||||
|
||||
pthread_sigmask(SIG_SETMASK, &oldset, NULL);
|
||||
|
||||
|
|
|
@ -22,6 +22,8 @@ void qemu_thread_naming(bool enable)
|
|||
{
|
||||
/* But note we don't actually name them on Windows yet */
|
||||
name_threads = enable;
|
||||
|
||||
fprintf(stderr, "qemu: thread naming not supported on this host\n");
|
||||
}
|
||||
|
||||
static void error_exit(int err, const char *msg)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue