kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* KVM's PIT and PIC programming question
@ 2009-08-19 21:26 Saksena, Abhishek
  2009-08-20  8:28 ` Avi Kivity
  0 siblings, 1 reply; 8+ messages in thread
From: Saksena, Abhishek @ 2009-08-19 21:26 UTC (permalink / raw)
  To: kvm@vger.kernel.org

Hi Guys,
I am writing very simple bios for KVM (not using Qemu but creating a simple io device models around KVM). I am having trouble in receiving regular Timer interrupts after programming PIT.

I think I have enabled PIC and PIT correctly using following code:-

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


PIT Programming 

and also enable PIT to genrate regular timer interruput

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


PIT Timer ISR code

Timer ISR code

;---------
;- INT08 -
;---------
.org 0xfea5 ; INT 08h System Timer ISR Entry Point
int08_handler:
  sti
  push ax
  push ds
  mov ax, #0x0040
  mov ds, ax
  mov ax, 0x006c ; increment lower word
  inc ax
  mov 0x006c, ax
  jnz inc_done
  mov ax, 0x006e ; increment upper word
  inc ax
  mov 0x006e, ax



For some reason I never see int08_handler ever been called. Any clues what may be wrong? I am creating only one VCPU


-Abhishek


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2009-08-20 17:40 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-19 21:26 KVM's PIT and PIC programming question Saksena, Abhishek
2009-08-20  8:28 ` Avi Kivity
2009-08-20 15:05   ` Saksena, Abhishek
2009-08-20 15:20     ` Avi Kivity
2009-08-20 16:49       ` Saksena, Abhishek
2009-08-20 17:26         ` Avi Kivity
2009-08-20 17:36           ` Saksena, Abhishek
2009-08-20 17:41             ` Avi Kivity

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).