Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/arm/sociox try to be consistent for the number of a...
details: https://anonhg.NetBSD.org/src/rev/f3bf5ec04994
branches: trunk
changeset: 1008497:f3bf5ec04994
user: nisimura <nisimura%NetBSD.org@localhost>
date: Tue Mar 24 10:47:03 2020 +0000
description:
try to be consistent for the number of address match filter. tentative util the reality.
diffstat:
sys/arch/arm/sociox/if_scx.c | 15 ++++++++-------
1 files changed, 8 insertions(+), 7 deletions(-)
diffs (45 lines):
diff -r 6ae3b1bc6cb3 -r f3bf5ec04994 sys/arch/arm/sociox/if_scx.c
--- a/sys/arch/arm/sociox/if_scx.c Tue Mar 24 10:31:52 2020 +0000
+++ b/sys/arch/arm/sociox/if_scx.c Tue Mar 24 10:47:03 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: if_scx.c,v 1.8 2020/03/24 10:31:52 nisimura Exp $ */
+/* $NetBSD: if_scx.c,v 1.9 2020/03/24 10:47:03 nisimura Exp $ */
/*-
* Copyright (c) 2020 The NetBSD Foundation, Inc.
@@ -40,12 +40,13 @@
* to designify ring number from which to arrive or to which go.
* - memory mapped EEPROM to hold MAC address. The rest of the area is
* occupied by a set of ucode for two DMA engines and one packet engine.
- * - The size of frame address filter is unknown. Might be 32
+ * - The size of frame address filter is unknown. Might be 16 or even 128.
* - The first slot is my own station address. Always enabled to perform
* to identify oneself.
- * - 1~31 are for supplimental MAC addresses. Independently enabled
- * for use. Good to catch multicast. Byte-wise selective match available.
- * Use to catch { 0x01, 0x00, 0x00 } and/or { 0x33, 0x33 }.
+ * - 1~16 are for supplimental MAC addresses. Independently enabled for
+ * use. Good to catch multicast. Byte-wise selective match available.
+ * Use the mask to catch { 0x01, 0x00, 0x00 } and/or { 0x33, 0x33 }.
+ * - 16~128 might be exact match without byte-mask.
* - The size of multicast hash filter store is unknown. Might be 256 bit.
* - Socionext/Linaro "NetSec" code makes many cut shorts. Some constants
* are left unexplained. The values should be handled via external
@@ -55,7 +56,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_scx.c,v 1.8 2020/03/24 10:31:52 nisimura Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_scx.c,v 1.9 2020/03/24 10:47:03 nisimura Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -924,7 +925,7 @@
}
printf("[%d] %s\n", i, ether_sprintf(enm->enm_addrlo));
if (i < 16) {
- /* use 31 entry perfect match filter */
+ /* use 15 entry perfect match filter */
uint32_t addr;
uint8_t *ep = enm->enm_addrlo;
addr = (ep[3] << 24) | (ep[2] << 16)
Home |
Main Index |
Thread Index |
Old Index