Samuel Thibault wrote:
> Da Zheng, le Tue 04 Aug 2009 16:15:10 +0800, a écrit :
>> The driver reads the keyboard status from the port 0x64, and it seems OK. It 
>> doesn't work when the driver tries to write the command to the port 0x64. 
>> The whole process dies. (the port 0x64 is used for both read the status and 
>> writing the command.)
>> I have used ioperm to acquire the access to the port 0x64 before accessing 
>> the port (K_STATUS is 0x64).
>>   if (ioperm (K_STATUS, 1, 1) < 0)
>>     return FALSE;
>> I use the root user to run the keyboard driver. I don't know what the 
>> possible reason is:-(
> 
> I don't either, as that's roughly what the console driver does for e.g.
> the speaker, and it works for it. Just to make sure: you are using
> outb(value, 0x64) ? (not something else than outb, not another argument
> order).
You are right. The code I copied from gnumach used outb(port, value).
After I changed the argument order, it works well.

Zheng Da


Reply via email to