Use the dx register for the destination port address. A immediate port

address of outb is only 8 bits.

Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
MFC after:	3 days
This commit is contained in:
Yoshihiro Takahashi 2002-03-13 13:59:41 +00:00
parent e454a5425b
commit d679987554
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=92230

View file

@ -562,12 +562,15 @@ pcaintr(struct clockframe *frame)
: : "a" ((char)pca_status.oldval) );
__asm__("xlatb\n"
#ifdef PC98
"outb %0,$0x3fdb"
"outb %0,%%dx"
: : "a" ((char)pca_status.buffer[pca_status.index]),
"b" (volume_table),
"d" ((u_short)0x3fdb) );
#else
"outb %0,$0x42"
#endif
: : "a" ((char)pca_status.buffer[pca_status.index]),
"b" (volume_table) );
#endif
enable_intr();
pca_status.counter += pca_status.scale;
pca_status.index = (pca_status.counter >> 8);