summaryrefslogtreecommitdiffstats
path: root/sys/powerpc
diff options
context:
space:
mode:
authorbenno <benno@FreeBSD.org>2002-07-09 13:43:06 +0000
committerbenno <benno@FreeBSD.org>2002-07-09 13:43:06 +0000
commit00db70e21ad030df6771cd171ba12bdde17dadf5 (patch)
tree9cf356f6a5ec69cb74adc91c44390693fe634be2 /sys/powerpc
parentdca19fc0355c63e4b650c383604d4473a3d4978a (diff)
downloadFreeBSD-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.c12
-rw-r--r--sys/powerpc/include/ofw_machdep.h35
-rw-r--r--sys/powerpc/powerpc/ofw_machdep.c12
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);
+}
OpenPOWER on IntegriCloud