All of lore.kernel.org
 help / color / mirror / Atom feed
From: Geoffrey Lee <657329@bugs.launchpad.net>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [Bug 657329] [NEW] APIC unusable on QEMU
Date: Sat, 09 Oct 2010 13:51:48 -0000	[thread overview]
Message-ID: <20101009135148.4804.78327.malonedeb@palladium.canonical.com> (raw)
In-Reply-To: 20101009135148.4804.78327.malonedeb@palladium.canonical.com

Public bug reported:

The APIC is unusable with QEMU using x86-64 system emulation.  Problem
exists in the latest stable QEMU 0.12.5 as well as the latest git head.
I am using Mac OS X 10.6, 64-bit version of QEMU.

The QEMU binary was configured with:

 ./configure --target-list=i386-softmmu,x86_64-softmmubck-i-search:
conf_

Problem is that the hw/apic.c file (as well as a few other naughty
files) rely on the cpu_single_env global - which is set to NULL in cpu-
exec.c.

Below is a test reading the local APIC version register:

Before taking it out:

(qemu) xp 0xfee00030
00000000fee00030: 0x00000000
(qemu)

After:

(qemu) xp 0xfee00030
00000000fee00030: 0x00050011
(qemu)

Quick fix below.  I don't know if there are any side effects with this,
if this is OK maybe we can fix it like this for the stable versions and
fix the HEAD to not rely on the cpu_single_env global.

diff --git a/cpu-exec.c b/cpu-exec.c
index dbdfdcc..3e966d7 100644
--- a/cpu-exec.c
+++ b/cpu-exec.c
@@ -674,7 +674,17 @@ int cpu_exec(CPUState *env1)
     env = (void *) saved_env_reg;
 
     /* fail safe : never use cpu_single_env outside cpu_exec() */
+#warning fixup devices which rely on this
+#if 0
+    /*
+     * Hello.  This is wrapped around an #if 0 ... #endif because that's
+     * what should happen.  However, certain naughty devices (like the APIC
+     * for instance, and a few others), access this global variable.
+     *
+     * So this is here for now ... until we fix up those devices.
+     */
     cpu_single_env = NULL;
+#endif
     return ret;
 }

** Affects: qemu
     Importance: Undecided
         Status: New

-- 
APIC unusable on QEMU
https://bugs.launchpad.net/bugs/657329
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.

Status in QEMU: New

Bug description:
The APIC is unusable with QEMU using x86-64 system emulation.  Problem exists in the latest stable QEMU 0.12.5 as well as the latest git head.  I am using Mac OS X 10.6, 64-bit version of QEMU.

The QEMU binary was configured with:

 ./configure --target-list=i386-softmmu,x86_64-softmmubck-i-search: conf_      

Problem is that the hw/apic.c file (as well as a few other naughty files) rely on the cpu_single_env global - which is set to NULL in cpu-exec.c.

Below is a test reading the local APIC version register:

Before taking it out:

(qemu) xp 0xfee00030
00000000fee00030: 0x00000000
(qemu)

After:

(qemu) xp 0xfee00030
00000000fee00030: 0x00050011
(qemu)

Quick fix below.  I don't know if there are any side effects with this, if this is OK maybe we can fix it like this for the stable versions and fix the HEAD to not rely on the cpu_single_env global.

diff --git a/cpu-exec.c b/cpu-exec.c
index dbdfdcc..3e966d7 100644
--- a/cpu-exec.c
+++ b/cpu-exec.c
@@ -674,7 +674,17 @@ int cpu_exec(CPUState *env1)
     env = (void *) saved_env_reg;
 
     /* fail safe : never use cpu_single_env outside cpu_exec() */
+#warning fixup devices which rely on this
+#if 0
+    /*
+     * Hello.  This is wrapped around an #if 0 ... #endif because that's
+     * what should happen.  However, certain naughty devices (like the APIC
+     * for instance, and a few others), access this global variable.
+     *
+     * So this is here for now ... until we fix up those devices.
+     */
     cpu_single_env = NULL;
+#endif
     return ret;
 }

       reply	other threads:[~2010-10-09 14:01 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-09 13:51 Geoffrey Lee [this message]
2010-10-09 14:44 ` [Qemu-devel] Re: [Bug 657329] [NEW] APIC unusable on QEMU Jan Kiszka
2018-04-10  8:50 ` [Qemu-devel] [Bug 657329] " Thomas Huth
2018-06-10  4:17 ` Launchpad Bug Tracker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20101009135148.4804.78327.malonedeb@palladium.canonical.com \
    --to=657329@bugs.launchpad.net \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.