# HG changeset patch # User Josef 'Jeff' Sipek # Date 1302272954 14400 # Node ID f219716c6b54517413a76f0f25fed634d171eb04 # Parent 0d5e25251e10f4a3ffabaa7df6c5f1a19c1727f1 arch: handle device attention properly diff -r 0d5e25251e10 -r f219716c6b54 arch/io.c --- a/arch/io.c Fri Apr 08 09:56:54 2011 -0400 +++ b/arch/io.c Fri Apr 08 10:29:14 2011 -0400 @@ -1,3 +1,4 @@ + #include "channel.h" #include @@ -46,6 +47,7 @@ void wait_for_io_int() { struct psw psw; + u8 devst; __builtin_memset(&psw, 0, sizeof(struct psw)); psw.io = 1; @@ -66,7 +68,9 @@ "r1", "r2" ); - if (*((u8*) 0x210) & 0x04) + devst = *((u8*) 0x210); + + if (*((u8*) 0x210) & 0x84) return; die();