[...]
>What I describes involves using ES to store the kernel's DS only for the
>duration of a call into driver space.  The driver need never know that ES
>is being used anywhere, unless it needs to access kernel memory, in which
>case it will have to use one of our handy macros.  To be honest, there's
>not much type safety within the kernel anyway.  :P

Well... no.

[...]
>To be honest, what you're describing sounds like what I'm describing.  :)
>I think the difference is that what you describe involves one more copy of
>the data.  That is:
>
>copy from device to driver space
>copy from driver space to kernel space
>copy from kernel space to user space

I'm only suggesting using the message-passing for function arguments; when the 
driver wanted to write real data into, say, a file system buffer, it would 
query the kernel and get the segment descriptor for the buffer. It could then 
write there directly.

Your suggestion (which now I come to think more about it, *does* seem rather 
familiar) would involve the same copying; you'd have to copy the parameters 
from the kernel's stack onto the driver's stack, unless you wanted to restrict 
it to registers only. Mine's just formalising it a bit.

-- 
+- David Given ---------------McQ-+ 
|  Work: [EMAIL PROTECTED]             | All generalizations are incorrect,
|  Play: [EMAIL PROTECTED]         | including this one.                      
+- http://wired.st-and.ac.uk/~dg -+ 

Reply via email to