From ef5157de491b57c5cc031fa7fe1bd62edf916286 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Thu, 24 Jun 1999 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1999-06-24 --- mpc/etherwavelan.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/mpc/etherwavelan.c b/mpc/etherwavelan.c index e4adaa9c67e1e460d7a967fbe9bf5a8ed1450048..08f43f740bb5ba5f53908feafafe532cf4908be6 100644 --- a/mpc/etherwavelan.c +++ b/mpc/etherwavelan.c @@ -687,7 +687,16 @@ int wavelan_hw_config(int base, Ether *ether) outb(PIORH(base), (((TX_BASE >> 8) & PIORH_MASK) | PIORH_SEL_TX)); outb(PIOP(base), (sizeof(struct i82593_conf_block) & 0xff)); /* lsb */ outb(PIOP(base), (sizeof(struct i82593_conf_block) >> 8)); /* msb */ - outsb(PIOP(base), ((char *) &cfblk), sizeof(struct i82593_conf_block)); + +// super sleazy - but it will do for now +// outsb(PIOP(base), ((char *) &cfblk), sizeof(struct i82593_conf_block)); + { + uchar buf[16]; + int i; + for(i=0; i<16; i++) + buf[i] = ((char *) &cfblk)[(i&~3)+(3-(i&3))]; + outsb(PIOP(base), buf, sizeof(struct i82593_conf_block)); + } /* reset transmit DMA pointer */ hacr_write_slow(base, HACR_PWR_STAT | HACR_TX_DMA_RESET);