[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH] Distinguish between reset types
From: |
Anthony Liguori |
Subject: |
Re: [Qemu-devel] [RFC PATCH] Distinguish between reset types |
Date: |
Wed, 20 Feb 2013 12:12:04 -0600 |
User-agent: |
Notmuch/0.13.2+93~ged93d79 (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu) |
David Woodhouse <address@hidden> writes:
> On Tue, 2013-02-19 at 16:17 -0600, Anthony Liguori wrote:
>> Right, this is what's strange to me. There's no hardware analog AFAICT
>> so I'm not sure why we're exposing it as a qemu_irq other than we want
>> to jump through a function pointer invocation instead of making a
>> straight funciton call :-)
>
> Hey, don't ask me. I was just trying to do what Paolo said in response
> to me first attempt — which just accessed the 'hard reset' flag in the
> PIIX directly from the I440FX reset handler.
>
>> > That just sets a flag to say that the coming *system* reset is a hard
>> > reset and not a soft reset.
>>
>> Yes, but this flag is in PIIX, not the i440fx.
>
> Yes. The Reset Control Register is in the PIIX. And the i440fx just
> happens to be the only other device that *cares* if it's a hard reset or
> a soft reset. For now. Thankfully they're implemented in the same C file
> and even initialised together, which lets us do a special-case hack
> relatively easily.
>
>> I suspect what we need to do is convert qemu_system_reset_request() into
>> a qemu_system_cpu_reset() that takes a callback. Once the VCPUs have
>> been reset, the callback can then be used to reset all or some of the
>> device model. This of course means removing the reset handlers in the
>> CPUs as they exist today.
>>
>> Cc'ing Andreas to get his thoughts.
>>
>> FWIW, I'm not expecting you to do this to fix this issue. Just thinking
>> out loud here really.
>
> Sounds good to me. I'm beginning to wish I'd just ignored the fact that
> we need a properly working "soft" reset to get back from 286 protected
> mode to real mode, and wired up the damn PAM reset unconditionally. I'm
> not convinced that the protected->real mode transition will work for
> anyone anyway.
Can you try out the following tree:
git://github.com/aliguori/qemu.git soft-reset.2
Or better yet, post binaries of Tiano Core + SeaBIOS as a CSM for me to
try out?
The above implements a CPU-only soft reset that should fix the problem
you're having with PAM resetting unconditionally. If it works, I'll
fixup the other PC callers of reset too.
Regards,
Anthony Liguori
- Re: [Qemu-devel] [RFC PATCH] Distinguish between reset types, (continued)
- Re: [Qemu-devel] [RFC PATCH] Distinguish between reset types, Laszlo Ersek, 2013/02/19
- Re: [Qemu-devel] [RFC PATCH] Distinguish between reset types, Anthony Liguori, 2013/02/19
- Re: [Qemu-devel] [RFC PATCH] Distinguish between reset types, Paolo Bonzini, 2013/02/19
- Re: [Qemu-devel] [RFC PATCH] Distinguish between reset types, David Woodhouse, 2013/02/19
- Re: [Qemu-devel] [RFC PATCH] Distinguish between reset types, Anthony Liguori, 2013/02/19
- Re: [Qemu-devel] [RFC PATCH] Distinguish between reset types, David Woodhouse, 2013/02/19
- Re: [Qemu-devel] [RFC PATCH] Distinguish between reset types, Laszlo Ersek, 2013/02/20
- Re: [Qemu-devel] [RFC PATCH] Distinguish between reset types, Paolo Bonzini, 2013/02/20
- Re: [Qemu-devel] [RFC PATCH] Distinguish between reset types, David Woodhouse, 2013/02/20
- Re: [Qemu-devel] [SeaBIOS] [RFC PATCH] Distinguish between reset types, H. Peter Anvin, 2013/02/28
- Re: [Qemu-devel] [RFC PATCH] Distinguish between reset types,
Anthony Liguori <=
- Re: [Qemu-devel] [RFC PATCH] Distinguish between reset types, Laszlo Ersek, 2013/02/20
- Re: [Qemu-devel] [RFC PATCH] Distinguish between reset types, David Woodhouse, 2013/02/20
- Re: [Qemu-devel] [RFC PATCH] Distinguish between reset types, Laszlo Ersek, 2013/02/20
- Re: [Qemu-devel] [edk2] [RFC PATCH] Distinguish between reset types, Paolo Bonzini, 2013/02/21
- Re: [Qemu-devel] [edk2] [RFC PATCH] Distinguish between reset types, David Woodhouse, 2013/02/21
- Re: [Qemu-devel] [edk2] [RFC PATCH] Distinguish between reset types, Laszlo Ersek, 2013/02/21
- Re: [Qemu-devel] [edk2] [RFC PATCH] Distinguish between reset types, David Woodhouse, 2013/02/21
- Re: [Qemu-devel] [edk2] [RFC PATCH] Distinguish between reset types, Anthony Liguori, 2013/02/21
- Re: [Qemu-devel] [edk2] [RFC PATCH] Distinguish between reset types, David Woodhouse, 2013/02/21
- Re: [Qemu-devel] [edk2] [RFC PATCH] Distinguish between reset types, Laszlo Ersek, 2013/02/21