[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 7/8] docs/microvm.txt: document the new microvm machine ty
From: |
Sergio Lopez |
Subject: |
Re: [PATCH v4 7/8] docs/microvm.txt: document the new microvm machine type |
Date: |
Wed, 25 Sep 2019 13:04:59 +0200 |
User-agent: |
mu4e 1.2.0; emacs 26.2 |
Paolo Bonzini <address@hidden> writes:
> On 25/09/19 10:40, Sergio Lopez wrote:
>>>> We need the PIT for non-KVM accel (if present with KVM and
>>>> kernel_irqchip_split = off, it basically becomes a placeholder)
>>> Why?
>>
>> Perhaps I'm missing something. Is some other device supposed to be
>> acting as a HW timer while running with TCG acceleration?
>
> Sure, the LAPIC timer. I wonder if Linux, however, wants to use the PIT
> in order to calibrate the LAPIC timer if TSC deadline mode is unavailable.
Ah, yes. I was so confused by the nomenclature that I assumed we didn't
have a userspace implementation of it.
On the other hand, as you suspect, without the PIT Linux does hang in
TSC calibration with TCG accel.
A simple option could be adding it only if we're running without KVM.
>>>> and the PIC for both the PIT and the ISA serial port.
>>>
>>> Can't the ISA serial port work with the IOAPIC?
>>
>> Hm... I'm not sure. I wanted to give it a try, but then noticed that
>> multiple places in the code (like hw/intc/apic.c:560) do expect to have
>> an ISA PIC present through the isa_pic global variable.
>>
>> I guess we should be able to work around this, but I'm not sure if it's
>> really worth it. What do you think?
>
> You can add a paragraph saying that in the future the list could be
> reduced further. I think that the direction we want to go is to only
> leave the IOAPIC around (the ISA devices in this respect are no
> different from the virtio-mmio devices).
>
> But you're right about isa_pic. I wonder if it's as easy as this:
>
> diff --git a/hw/intc/apic.c b/hw/intc/apic.c
> index bce89911dc..5d03e48a19 100644
> --- a/hw/intc/apic.c
> +++ b/hw/intc/apic.c
> @@ -610,7 +610,7 @@ int apic_accept_pic_intr(DeviceState *dev)
>
> if ((s->apicbase & MSR_IA32_APICBASE_ENABLE) == 0 ||
> (lvt0 & APIC_LVT_MASKED) == 0)
> - return 1;
> + return isa_pic != NULL;
>
> return 0;
> }
Yes, that would do the trick. There's another use of it at
hw/intc/ioapic.c:78, but we should be safe as, at least in the case of
Linux, DM_EXTINT is only used in check_timer(), which is only called if
it detects a i8259 PIC.
We should probably add an assertion with an informative message, just in
case.
Thanks,
Sergio.
signature.asc
Description: PGP signature
- Re: [PATCH v4 4/8] hw/i386: split PCMachineState deriving X86MachineState from it, (continued)
- [PATCH v4 6/8] roms: add microvm-bios (qboot) as binary and git submodule, Sergio Lopez, 2019/09/24
- [PATCH v4 7/8] docs/microvm.txt: document the new microvm machine type, Sergio Lopez, 2019/09/24
- Re: [PATCH v4 7/8] docs/microvm.txt: document the new microvm machine type, Paolo Bonzini, 2019/09/24
- Re: [PATCH v4 7/8] docs/microvm.txt: document the new microvm machine type, Sergio Lopez, 2019/09/25
- Re: [PATCH v4 7/8] docs/microvm.txt: document the new microvm machine type, Paolo Bonzini, 2019/09/25
- Re: [PATCH v4 7/8] docs/microvm.txt: document the new microvm machine type, Sergio Lopez, 2019/09/25
- Re: [PATCH v4 7/8] docs/microvm.txt: document the new microvm machine type, Paolo Bonzini, 2019/09/25
- Re: [PATCH v4 7/8] docs/microvm.txt: document the new microvm machine type,
Sergio Lopez <=
- Re: [PATCH v4 7/8] docs/microvm.txt: document the new microvm machine type, Paolo Bonzini, 2019/09/25
- Re: [PATCH v4 7/8] docs/microvm.txt: document the new microvm machine type, Sergio Lopez, 2019/09/25
- Re: [PATCH v4 7/8] docs/microvm.txt: document the new microvm machine type, Paolo Bonzini, 2019/09/25
- Re: [PATCH v4 7/8] docs/microvm.txt: document the new microvm machine type, Sergio Lopez, 2019/09/26
- Re: [PATCH v4 7/8] docs/microvm.txt: document the new microvm machine type, Paolo Bonzini, 2019/09/26
- Re: [PATCH v4 7/8] docs/microvm.txt: document the new microvm machine type, Sergio Lopez, 2019/09/26
- Re: [PATCH v4 7/8] docs/microvm.txt: document the new microvm machine type, Paolo Bonzini, 2019/09/26
- Re: [PATCH v4 7/8] docs/microvm.txt: document the new microvm machine type, Sergio Lopez, 2019/09/26
Re: [PATCH v4 7/8] docs/microvm.txt: document the new microvm machine type, Gerd Hoffmann, 2019/09/25