kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] reset edge sense circuit of i8259 on init
@ 2012-01-24 13:06 Gleb Natapov
  2012-01-24 13:44 ` Jan Kiszka
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Gleb Natapov @ 2012-01-24 13:06 UTC (permalink / raw)
  To: kvm; +Cc: avi, mtosatti

The spec says that during initialization "The edge sense circuit is
reset which means that following initialization an interrupt request
(IR) input must make a low-to-high transition to generate an interrupt",
but currently if edge triggered interrupt is in IRR it is delivered
after i8259 initialization.

Signed-off-by: Gleb Natapov <gleb@redhat.com>
diff --git a/arch/x86/kvm/i8259.c b/arch/x86/kvm/i8259.c
index b6a7353..81cf4fa 100644
--- a/arch/x86/kvm/i8259.c
+++ b/arch/x86/kvm/i8259.c
@@ -307,6 +307,7 @@ static void pic_ioport_write(void *opaque, u32 addr, u32 val)
 		if (val & 0x10) {
 			s->init4 = val & 1;
 			s->last_irr = 0;
+			s->irr &= s->elcr;
 			s->imr = 0;
 			s->priority_add = 0;
 			s->special_mask = 0;
--
			Gleb.

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

end of thread, other threads:[~2012-02-06 18:52 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-24 13:06 [PATCH] reset edge sense circuit of i8259 on init Gleb Natapov
2012-01-24 13:44 ` Jan Kiszka
2012-01-24 13:46   ` Gleb Natapov
2012-01-24 13:49     ` Jan Kiszka
2012-01-24 13:54       ` Gleb Natapov
2012-01-24 15:06         ` Jan Kiszka
2012-01-31 15:52 ` Gleb Natapov
2012-02-06 18:16 ` Marcelo Tosatti

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).