Thnaks,

So just programming of PIC (8259) should do the trick. Do I have to care about 
IOAPIC or LAPIC programming? You mentioned lapic is disabled by default, what 
about IOAPIC. 


I see in x86.c

case KVM_CREATE_IRQCHIP:
                r = -ENOMEM;
                kvm->arch.vpic = kvm_create_pic(kvm);
                if (kvm->arch.vpic) {
                        r = kvm_ioapic_init(kvm);
                        if (r) {
                                kfree(kvm->arch.vpic);
                                kvm->arch.vpic = NULL;
                                goto out;
                        }
                } else
                        goto out;
                break;


so ioapic is created.



I have enabled all the interrupts in 8259s correctly


PIC Programming of master and slave 8259s
;; PIC
    mov  al, #0x00
    out  0x21, AL ;master pic: all IRQs unmasked
    out  0xA1, AL ;slave  pic: all IRQs unmasked


 PIT Programming

 SET_INT_VECTOR(0x08, #0xF000, #int08_handler)
    mov al, #0x34 ; timer0: binary count, 16bit count, mode 2
    out 0x43, al
    mov al, #0x00 ; maximum count of 0000H = 18.2Hz
    out 0x40, al
    out 0x40, al

But still not see PIT interrupts or Timer ISR being called!


-thanks
Abhishek


-----Original Message-----
From: Avi Kivity [mailto:a...@redhat.com] 
Sent: Thursday, August 20, 2009 10:26 AM
To: Saksena, Abhishek
Cc: kvm@vger.kernel.org
Subject: Re: KVM's PIT and PIC programming question

On 08/20/2009 07:49 PM, Saksena, Abhishek wrote:
> I am using libkvm and believe it creates PIC and PIT by default.
>
> I see kvm_create make calls to:-
>
> 1. kvm_arch_create function which indeed calls kvm_create_pit and 
> KVM_CREATE_PIT
>
> 2. kvm_create_irqchip function and KVM_CREATE_IRQCHIP
>    

It should work, but best to check using strace or adding printfs.

-- 
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to