On Tue, Oct 02, 2001 at 10:54:40PM +0200, Marcus Brinkmann wrote:
> type io_reg_t = unsigned short;
> type io_reg_array_t = array[] of io_reg_t;

MiG doesn't know unsigned short, so I am afraid that I have to use int.
The conversion from signed shorts to unsigned shorts is implementation
defined (or can raise a signal even), so I am out of luck here  (unless we
forbid ports higher than 7fff).

I slowly realize what's involved with kernel side servers.  There are quite
a few differences.  For example, it seems variable size length arguments
must be either always in-line (array [*:MAX]) or always out-of-line (^array []).
Always out-of-line seems to be an unnecessary burden for the small amounts of
data we can expect to need here. Another idea might be to pass ranges of
ioports to cut down in message length, and make it easier for the user to
get what he wants.  Like, { 0x0201, 0x0201, 0x3b0, 0x3df } for the game port
and all ega/vga ports.

So there are still some details to work out.  Like, should ports be reused
if they specify the same set if permission?  I think that would be a good
idea, but it is costly to make the comparison, and is probably overkill.

Thanks,
Marcus


-- 
`Rhubarb is no Egyptian god.' Debian http://www.debian.org [EMAIL PROTECTED]
Marcus Brinkmann              GNU    http://www.gnu.org    [EMAIL PROTECTED]
[EMAIL PROTECTED]
http://www.marcus-brinkmann.de

_______________________________________________
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd

Reply via email to