Subject: Re: port-xen/29999: ctrl_if_interrupt IPL problem
To: None <port-xen-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
List: netbsd-bugs
Date: 04/19/2005 01:52:01
The following reply was made to PR port-xen/29999; it has been noted by GNATS.

From: "Christian Limpach" <Christian.Limpach@cl.cam.ac.uk>
To: <bouyer@antioche.eu.org>,
	"YAMAMOTO Takashi" <yamt@mwd.biglobe.ne.jp>
Cc: <gnats-bugs@NetBSD.org>, <port-xen-maintainer@NetBSD.org>,
	<gnats-admin@NetBSD.org>, <netbsd-bugs@NetBSD.org>
Subject: Re: port-xen/29999: ctrl_if_interrupt IPL problem
Date: Tue, 19 Apr 2005 02:51:22 +0100

 >> IPL_CTRL needs to be very high because the console I/O is done though
 >> control messages on guest domains, and there's no way to poll for 
 >> keyboard
 >> input. So, to get ddb working in guest domains, we need to have control
 >> events enabled while in ddb.
 >
 > "keyboard input" meant "console input"?
 >
 >> I guess we could also be busy-looping waiting for the event, but it
 >> would not be nice to other guests domains.
 >
 > if there's a way to poll events (i couldn't find any),
 > i think it's better to use it because ddb needs to do busy-loop anyway.
 
 I think it should work to do HYPERVISOR_block calls in the loop. 
 HYPERVISOR_block will return as soon as there are any (unmasked) events 
 pending and then one could call the control message handler from the loop --  
 you might have entered the debugger at a bad moment where the control 
 message handling is in an inconsistent state, but there's not much you can 
 do about that.  At some point, we will move the console I/O into a seperate 
 shared page, having it shared with the control messages is just too 
 inconvenient.
 
     christian