[Armadillo:04813] Re: ht2020.cのht_outb ht_inbに関して

船戸 理生 email@hidden
2009年 12月 18日 (金) 09:52:04 JST


アイ電子 船戸です。

ht2020.cに関して、追加質問させて下さい。

request_mem_region(portaddr_io8(i), 4, DRIVER_NAME) の第2引数に関して、

linux/ioport.h 内で、サイズが unsigned long でしたので、
4バイト単位で4つの領域を確保するという意味だと思います。

このとき、確保している領域は、実際には、
0xF2000000 から
0xF2000003 まで
のI/Oメモリ領域であり、他のアドレス領域については、
定義されていないことになると思います。

この場合、他のアドレス領域についてはあえて確保しなくとも、
他のアドレスの動作によっての誤作動などは起こらないと保障されている、
と考えてよろしいでしょうか。

例えば、
request_mem_region(0xF2000000, 4, DRIVER_NAME);
outb(0xFF,0xF200FFFF);
としたときに、どのような動作になるかが気になります。

よろしくお願いします。

> お世話になっております。
> アイ電子 船戸です。
> 
> Armadillo-9 のデバイスドライバ作成について、ご教授下さい。
> 
> 現在、PC/104バスのデバイスドライバを作成しようと思っております。
> そこで、ht2020.c や ht2020_demo.cを拝見させて頂いたり、
> オライリーLinuxデバイスドライバ等で学習中です。
> 
> そのht2020.cにて、
> #include <asm/io.h>
> して、さらに
> #define ht_outb(buf, addr)	__raw_writeb(buf, __io(addr))
> としてoutbを再定義しているのは、何か理由があるのでしょうか。
> 
> また、あえて
> #define ht_inb(addr)		__raw_readb(__io(addr))
> としてinbを再定義(改変?)されておりますが、
> その理由はどういった事でしょうか。
> 
> よろしくお願い致します。
> 
> 


-- 
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

アイ電子株式会社 第一技術部
船戸 理生
〒215-0033 神奈川県川崎市麻生区栗木2-6-5
TEL:044-981-3866
FAX:044-981-3868
Email:email@hidden

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/



armadillo メーリングリストの案内