diff --git a/sys/arch/macppc/dev/if_bm.c b/sys/arch/macppc/dev/if_bm.c index ebad07410a2b..0b0aad6f3fe6 100644 --- a/sys/arch/macppc/dev/if_bm.c +++ b/sys/arch/macppc/dev/if_bm.c @@ -1,4 +1,4 @@ -/* $NetBSD: if_bm.c,v 1.23 2004/10/30 18:08:34 thorpej Exp $ */ +/* $NetBSD: if_bm.c,v 1.24 2005/01/26 20:51:47 kleink Exp $ */ /*- * Copyright (C) 1998, 1999, 2000 Tsubai Masanari. All rights reserved. @@ -27,7 +27,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: if_bm.c,v 1.23 2004/10/30 18:08:34 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_bm.c,v 1.24 2005/01/26 20:51:47 kleink Exp $"); #include "opt_inet.h" #include "opt_ns.h" @@ -69,6 +69,8 @@ __KERNEL_RCSID(0, "$NetBSD: if_bm.c,v 1.23 2004/10/30 18:08:34 thorpej Exp $"); #include #include +#include + #include #include @@ -341,7 +343,10 @@ bmac_init(sc) if (! (sc->sc_flags & BMAC_BMACPLUS)) bmac_set_bits(sc, XCVRIF, ClkBit|SerialMode|COLActiveLow); - __asm __volatile ("mftb %0" : "=r"(tb)); + if ((mfpvr() >> 16) == MPC601) + tb = mfrtcl(); + else + tb = mftbl(); bmac_write_reg(sc, RSEED, tb); bmac_set_bits(sc, XIFC, TxOutputEnable); bmac_read_reg(sc, PAREG); diff --git a/sys/arch/macppc/dev/if_gm.c b/sys/arch/macppc/dev/if_gm.c index b00120cef716..ecb0402f024c 100644 --- a/sys/arch/macppc/dev/if_gm.c +++ b/sys/arch/macppc/dev/if_gm.c @@ -1,4 +1,4 @@ -/* $NetBSD: if_gm.c,v 1.23 2004/10/30 18:08:34 thorpej Exp $ */ +/* $NetBSD: if_gm.c,v 1.24 2005/01/26 20:51:47 kleink Exp $ */ /*- * Copyright (c) 2000 Tsubai Masanari. All rights reserved. @@ -27,7 +27,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: if_gm.c,v 1.23 2004/10/30 18:08:34 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_gm.c,v 1.24 2005/01/26 20:51:47 kleink Exp $"); #include "opt_inet.h" #include "opt_ns.h" @@ -631,7 +631,10 @@ gmac_init_mac(sc) int i, tb; char *laddr = sc->sc_laddr; - __asm ("mftb %0" : "=r"(tb)); + if ((mfpvr() >> 16) == MPC601) + tb = mfrtcl(); + else + tb = mftbl(); gmac_write_reg(sc, GMAC_RANDOMSEED, tb); /* init-mii */