PERFORCE change 42837 for review
John Baldwin
jhb at FreeBSD.org
Thu Nov 20 13:52:29 PST 2003
http://perforce.freebsd.org/chv.cgi?CH=42837
Change 42837 by jhb at jhb_blue on 2003/11/20 13:51:52
IFC @42835.
Affected files ...
.. //depot/projects/smpng/sys/amd64/isa/icu.h#2 integrate
.. //depot/projects/smpng/sys/netinet6/raw_ip6.c#21 integrate
Differences ...
==== //depot/projects/smpng/sys/amd64/isa/icu.h#2 (text+ko) ====
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)icu.h 5.6 (Berkeley) 5/9/91
- * $FreeBSD: src/sys/amd64/isa/icu.h,v 1.28 2003/05/01 01:05:24 peter Exp $
+ * $FreeBSD: src/sys/amd64/isa/icu.h,v 1.31 2003/11/17 09:19:12 peter Exp $
*/
/*
@@ -45,25 +45,7 @@
#ifndef _I386_ISA_ICU_H_
#define _I386_ISA_ICU_H_
-#ifndef LOCORE
-
/*
- * Note:
- * Most of the SMP equivilants of the icu macros are coded
- * elsewhere in an MP-safe fashion.
- * In particular note that the 'imen' variable is opaque.
- * DO NOT access imen directly, use INTREN()/INTRDIS().
- */
-
-void INTREN(u_int);
-void INTRDIS(u_int);
-
-extern unsigned imen; /* interrupt mask enable */
-
-#endif /* LOCORE */
-
-
-/*
* Interrupt enable bits - in normal order of priority (which we change)
*/
#define IRQ0 0x0001 /* highest priority - timer */
@@ -125,9 +107,9 @@
#define OCW2_R 0x80 /* EOI mode */
/* Operation control word type 3. Bit 3 (0x08) must be set. Even address. */
-#define OCW3_RIS 0x01
-#define OCW3_RR 0x02
-#define OCW3_P 0x04
+#define OCW3_RIS 0x01 /* 1 = read IS, 0 = read IR */
+#define OCW3_RR 0x02 /* register read */
+#define OCW3_P 0x04 /* poll mode command */
/* 0x08 must be 1 to select OCW3 vs OCW2 */
#define OCW3_SEL 0x08 /* must be 1 */
/* 0x10 must be 0 to select OCW3 vs ICW1 */
@@ -139,14 +121,13 @@
*/
#define ICU_OFFSET 32 /* 0-31 are processor exceptions */
#define ICU_LEN 16 /* 32-47 are ISA interrupts */
-#define HWI_MASK 0xffff /* bits for h/w interrupts */
-#define NHWI 16
-
#define ICU_IMR_OFFSET 1
#define ICU_SLAVEID 2
#define ICU_EOI (OCW2_EOI) /* non-specific EOI */
-#define ICU_SETPRI (OCW2_R | OCW2_SL) /* set rotation priority */
-#define INTRCNT_COUNT (1 + ICU_LEN + 2 * ICU_LEN)
+#ifndef LOCORE
+void atpic_handle_intr(void *cookie, struct intrframe iframe);
+void atpic_startup(void);
+#endif
#endif /* !_I386_ISA_ICU_H_ */
==== //depot/projects/smpng/sys/netinet6/raw_ip6.c#21 (text+ko) ====
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/netinet6/raw_ip6.c,v 1.34 2003/11/18 00:39:05 rwatson Exp $
+ * $FreeBSD: src/sys/netinet6/raw_ip6.c,v 1.35 2003/11/20 21:47:20 andre Exp $
*/
/*
@@ -424,15 +424,12 @@
* Source address selection.
*/
if ((in6a = in6_selectsrc(dstsock, in6p->in6p_outputopts,
- in6p->in6p_moptions, &in6p->in6p_route, &in6p->in6p_laddr,
- &error)) == 0) {
+ in6p->in6p_moptions, NULL, &in6p->in6p_laddr, &error)) == 0) {
if (error == 0)
error = EADDRNOTAVAIL;
goto bad;
}
ip6->ip6_src = *in6a;
- if (in6p->in6p_route.ro_rt)
- oifp = ifnet_byindex(in6p->in6p_route.ro_rt->rt_ifp->if_index);
ip6->ip6_flow = (ip6->ip6_flow & ~IPV6_FLOWINFO_MASK) |
(in6p->in6p_flowinfo & IPV6_FLOWINFO_MASK);
ip6->ip6_vfc = (ip6->ip6_vfc & ~IPV6_VERSION_MASK) |
@@ -477,7 +474,7 @@
}
#endif /*IPSEC*/
- error = ip6_output(m, in6p->in6p_outputopts, &in6p->in6p_route, 0,
+ error = ip6_output(m, in6p->in6p_outputopts, NULL, 0,
in6p->in6p_moptions, &oifp, in6p);
if (so->so_proto->pr_protocol == IPPROTO_ICMPV6) {
if (oifp)
@@ -691,7 +688,7 @@
#endif
/* Source address selection. XXX: need pcblookup? */
in6a = in6_selectsrc(addr, inp->in6p_outputopts,
- inp->in6p_moptions, &inp->in6p_route,
+ inp->in6p_moptions, NULL,
&inp->in6p_laddr, &error);
if (in6a == NULL)
return (error ? error : EADDRNOTAVAIL);
More information about the p4-projects
mailing list