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:avi@xxxxxxxxxx] Sent: Thursday, August 20, 2009 10:26 AM To: Saksena, Abhishek Cc: kvm@xxxxxxxxxxxxxxx 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html