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