changeset 48:f219716c6b54

arch: handle device attention properly
author Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
date Fri, 08 Apr 2011 10:29:14 -0400
parents 0d5e25251e10
children 253190997564 06d03083acd4
files arch/io.c
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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 <die.h>
 
@@ -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();