diff options
author | benno <benno@FreeBSD.org> | 2002-07-09 13:43:06 +0000 |
---|---|---|
committer | benno <benno@FreeBSD.org> | 2002-07-09 13:43:06 +0000 |
commit | 00db70e21ad030df6771cd171ba12bdde17dadf5 (patch) | |
tree | 9cf356f6a5ec69cb74adc91c44390693fe634be2 /sys/powerpc | |
parent | dca19fc0355c63e4b650c383604d4473a3d4978a (diff) | |
download | FreeBSD-src-00db70e21ad030df6771cd171ba12bdde17dadf5.zip FreeBSD-src-00db70e21ad030df6771cd171ba12bdde17dadf5.tar.gz |
Add the OF_getetheraddr function required by if_gem.
Diffstat (limited to 'sys/powerpc')
-rw-r--r-- | sys/powerpc/aim/ofw_machdep.c | 12 | ||||
-rw-r--r-- | sys/powerpc/include/ofw_machdep.h | 35 | ||||
-rw-r--r-- | sys/powerpc/powerpc/ofw_machdep.c | 12 |
3 files changed, 59 insertions, 0 deletions
diff --git a/sys/powerpc/aim/ofw_machdep.c b/sys/powerpc/aim/ofw_machdep.c index 6fcf196..b87d97a 100644 --- a/sys/powerpc/aim/ofw_machdep.c +++ b/sys/powerpc/aim/ofw_machdep.c @@ -46,6 +46,8 @@ static const char rcsid[] = #include <sys/malloc.h> #include <sys/stat.h> +#include <net/ethernet.h> + #include <dev/ofw/openfirm.h> #include <vm/vm.h> @@ -54,6 +56,7 @@ static const char rcsid[] = #include <machine/powerpc.h> #include <machine/ofw_machdep.h> +#include <powerpc/ofw/ofw_pci.h> #define OFMEM_REGIONS 32 static struct mem_region OFmem[OFMEM_REGIONS + 1], OFavail[OFMEM_REGIONS + 3]; @@ -166,3 +169,12 @@ ppc_boot(str) OF_boot(str); } + +void +OF_getetheraddr(device_t dev, u_char *addr) +{ + phandle_t node; + + node = ofw_pci_find_node(dev); + OF_getprop(node, "local-mac-address", addr, ETHER_ADDR_LEN); +} diff --git a/sys/powerpc/include/ofw_machdep.h b/sys/powerpc/include/ofw_machdep.h new file mode 100644 index 0000000..35b09b9 --- /dev/null +++ b/sys/powerpc/include/ofw_machdep.h @@ -0,0 +1,35 @@ +/*- + * Copyright (c) 2001 by Thomas Moestl <tmm@FreeBSD.org>. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _MACHINE_OFW_MACHDEP_H_ +#define _MACHINE_OFW_MACHDEP_H_ + +#include <sys/bus.h> + +void OF_getetheraddr(device_t dev, u_char *addr); + +#endif /* _MACHINE_OFW_MACHDEP_H_ */ diff --git a/sys/powerpc/powerpc/ofw_machdep.c b/sys/powerpc/powerpc/ofw_machdep.c index 6fcf196..b87d97a 100644 --- a/sys/powerpc/powerpc/ofw_machdep.c +++ b/sys/powerpc/powerpc/ofw_machdep.c @@ -46,6 +46,8 @@ static const char rcsid[] = #include <sys/malloc.h> #include <sys/stat.h> +#include <net/ethernet.h> + #include <dev/ofw/openfirm.h> #include <vm/vm.h> @@ -54,6 +56,7 @@ static const char rcsid[] = #include <machine/powerpc.h> #include <machine/ofw_machdep.h> +#include <powerpc/ofw/ofw_pci.h> #define OFMEM_REGIONS 32 static struct mem_region OFmem[OFMEM_REGIONS + 1], OFavail[OFMEM_REGIONS + 3]; @@ -166,3 +169,12 @@ ppc_boot(str) OF_boot(str); } + +void +OF_getetheraddr(device_t dev, u_char *addr) +{ + phandle_t node; + + node = ofw_pci_find_node(dev); + OF_getprop(node, "local-mac-address", addr, ETHER_ADDR_LEN); +} |