diff options
author | nyan <nyan@FreeBSD.org> | 2002-03-13 13:59:41 +0000 |
---|---|---|
committer | nyan <nyan@FreeBSD.org> | 2002-03-13 13:59:41 +0000 |
commit | dfdd4c8eb48113672f0df334b5793e463da8dd7d (patch) | |
tree | 212fff1d82202f5d2bbc0e685e7561f1d38992fd /sys/pc98 | |
parent | d58e833adf7df0ddce3b6e5c0c9eb542b5bdc032 (diff) | |
download | FreeBSD-src-dfdd4c8eb48113672f0df334b5793e463da8dd7d.zip FreeBSD-src-dfdd4c8eb48113672f0df334b5793e463da8dd7d.tar.gz |
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
Diffstat (limited to 'sys/pc98')
-rw-r--r-- | sys/pc98/pc98/pcaudio.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/pc98/pc98/pcaudio.c b/sys/pc98/pc98/pcaudio.c index cdf20d7..cbeb3f9 100644 --- a/sys/pc98/pc98/pcaudio.c +++ b/sys/pc98/pc98/pcaudio.c @@ -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); |