From dfdd4c8eb48113672f0df334b5793e463da8dd7d Mon Sep 17 00:00:00 2001 From: nyan Date: Wed, 13 Mar 2002 13:59:41 +0000 Subject: 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 --- sys/pc98/pc98/pcaudio.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'sys/pc98') 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); -- cgit v1.1