qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Blue Swirl <blauwirbel@gmail.com>
To: Jan Kiszka <jan.kiszka@web.de>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] kvm: fix Win2k boot without KVM
Date: Sat, 3 Nov 2012 19:26:06 +0000	[thread overview]
Message-ID: <CAAu8pHsZd00xt8CfWjgAPDhFYaoabvPe59TTa4xD2WLS+a2dLQ@mail.gmail.com> (raw)
In-Reply-To: <50956C35.1080002@web.de>

On Sat, Nov 3, 2012 at 7:10 PM, Jan Kiszka <jan.kiszka@web.de> wrote:
> On 2012-11-03 20:03, Jan Kiszka wrote:
>> On 2012-11-03 19:56, Blue Swirl wrote:
>>> On Sat, Nov 3, 2012 at 6:51 PM, Jan Kiszka <jan.kiszka@web.de> wrote:
>>>> On 2012-11-03 19:49, Blue Swirl wrote:
>>>>> Ignore accesses to VAPIC when kvmvapic is not enabled.
>>>>>
>>>>> Cc: Jan Kiszka <jan.kiszka@web.de>
>>>>> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
>>>>> ---
>>>>>  hw/kvmvapic.c |    7 ++++---
>>>>>  1 files changed, 4 insertions(+), 3 deletions(-)
>>>>>
>>>>> diff --git a/hw/kvmvapic.c b/hw/kvmvapic.c
>>>>> index dc111ee..a97d532 100644
>>>>> --- a/hw/kvmvapic.c
>>>>> +++ b/hw/kvmvapic.c
>>>>> @@ -612,6 +612,9 @@ static void vapic_write(void *opaque, hwaddr addr, uint64_t data,
>>>>>      hwaddr rom_paddr;
>>>>>      VAPICROMState *s = opaque;
>>>>>
>>>>> +    if (!kvm_irqchip_in_kernel()) {
>>>>> +        return;
>>>>> +    }
>>>>>      cpu_synchronize_state(env);
>>>>>
>>>>>      /*
>>>>> @@ -665,9 +668,7 @@ static void vapic_write(void *opaque, hwaddr addr, uint64_t data,
>>>>>          break;
>>>>>      default:
>>>>>      case 4:
>>>>> -        if (!kvm_irqchip_in_kernel()) {
>>>>> -            apic_poll_irq(env->apic_state);
>>>>> -        }
>>>>> +        apic_poll_irq(env->apic_state);
>>>>>          break;
>>>>>      }
>>>>>  }
>>>>>
>>>>
>>>> NACK, I'm already debugging the true reason (related to code patching).
>>>
>>> This is a minimal fix that lets Win2k boot, now it does not work at
>>> all. I think it should be applied for 1.3, it can be reverted when
>>> (if) you find a better fix. There's no hurry though.
>>
>> If you want to disable it, flip apic.vapic for !kvm_enabled. Your patch
>> affects user space APIC with KVM as well, though that is perfectly fine.
>>
>> But first of all give this some days as I just started.
>
> ...even more as this regression may not be related to the introduction
> of the kvmvapic: My original test case for the kvmvapic under TCG,
> WinXP, is now also broken, causing a segfault too.
>
> What I'm seeing is that tb_invalidate_phys_page_range in
> patch_instruction no longer seems to detect that the currently executed
> tb was just changed. Any ideas what may cause this are welcome.

My theory is that the kvmvapic ROM tries to make the PIO hypercalls,
but the PIO devices in QEMU are not ready, maybe not initialized at
all.

>
> Jan
>

  reply	other threads:[~2012-11-03 19:26 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-03 18:49 [Qemu-devel] [PATCH] kvm: fix Win2k boot without KVM Blue Swirl
2012-11-03 18:51 ` Jan Kiszka
2012-11-03 18:56   ` Blue Swirl
2012-11-03 19:03     ` Jan Kiszka
2012-11-03 19:10       ` Blue Swirl
2012-11-03 19:10       ` Jan Kiszka
2012-11-03 19:26         ` Blue Swirl [this message]
2012-11-03 19:37           ` Jan Kiszka
2012-11-03 20:57             ` Jan Kiszka
2012-11-03 21:00               ` Jan Kiszka

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=CAAu8pHsZd00xt8CfWjgAPDhFYaoabvPe59TTa4xD2WLS+a2dLQ@mail.gmail.com \
    --to=blauwirbel@gmail.com \
    --cc=jan.kiszka@web.de \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).