PERFORCE change 61458 for review

Peter Wemm peter at FreeBSD.org
Mon Sep 13 15:39:24 PDT 2004


http://perforce.freebsd.org/chv.cgi?CH=61458

Change 61458 by peter at peter_daintree on 2004/09/13 22:38:59

	Integrate/sync i386 and hammer branches.  There is some work to do
	still.

Affected files ...

.. //depot/projects/hammer/sys/amd64/amd64/busdma_machdep.c#17 integrate
.. //depot/projects/hammer/sys/amd64/amd64/db_trace.c#19 integrate
.. //depot/projects/hammer/sys/amd64/amd64/machdep.c#102 integrate
.. //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#72 integrate
.. //depot/projects/hammer/sys/amd64/amd64/pmap.c#105 integrate
.. //depot/projects/hammer/sys/amd64/amd64/trap.c#54 integrate
.. //depot/projects/hammer/sys/amd64/conf/GENERIC#56 integrate
.. //depot/projects/hammer/sys/amd64/conf/NOTES#46 integrate
.. //depot/projects/hammer/sys/amd64/include/in_cksum.h#10 integrate
.. //depot/projects/hammer/sys/amd64/include/param.h#26 integrate
.. //depot/projects/hammer/sys/amd64/include/pmap.h#46 integrate
.. //depot/projects/hammer/sys/amd64/include/profile.h#22 integrate

Differences ...

==== //depot/projects/hammer/sys/amd64/amd64/busdma_machdep.c#17 (text+ko) ====


==== //depot/projects/hammer/sys/amd64/amd64/db_trace.c#19 (text+ko) ====

@@ -190,6 +190,7 @@
 #define	TRAP		1
 #define	INTERRUPT	2
 #define	SYSCALL		3
+#define	DOUBLE_FAULT	4
 
 static void db_nextframe(struct amd64_frame **, db_addr_t *, struct thread *);
 static int db_numargs(struct amd64_frame *);
@@ -317,6 +318,8 @@
 			frame_type = INTERRUPT;
 		else if (strcmp(name, "Xfast_syscall") == 0)
 			frame_type = SYSCALL;
+		else if (strcmp(name, "dblfault_handler") == 0)
+			frame_type = DOUBLE_FAULT;
 	}
 
 	/*
@@ -331,6 +334,23 @@
 	db_print_stack_entry(name, 0, 0, 0, rip);
 
 	/*
+	 * For a double fault, we have to snag the values from the
+	 * previous TSS since a double fault uses a task gate to
+	 * switch to a known good state.
+	 */
+	if (frame_type == DOUBLE_FAULT) {
+		esp = PCPU_GET(common_tss.tss_esp);
+		eip = PCPU_GET(common_tss.tss_eip);
+		ebp = PCPU_GET(common_tss.tss_ebp);
+		db_printf(
+		    "--- trap 0x17, eip = %#r, esp = %#r, ebp = %#r ---\n",
+		    eip, esp, ebp);
+		*ip = (db_addr_t) eip;
+		*fp = (struct i386_frame *) ebp;
+		return;
+	}
+
+	/*
 	 * Point to base of trapframe which is just above the
 	 * current frame.
 	 */

==== //depot/projects/hammer/sys/amd64/amd64/machdep.c#102 (text+ko) ====


==== //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#72 (text+ko) ====


==== //depot/projects/hammer/sys/amd64/amd64/pmap.c#105 (text+ko) ====


==== //depot/projects/hammer/sys/amd64/amd64/trap.c#54 (text+ko) ====


==== //depot/projects/hammer/sys/amd64/conf/GENERIC#56 (text+ko) ====


==== //depot/projects/hammer/sys/amd64/conf/NOTES#46 (text+ko) ====

@@ -4,7 +4,7 @@
 # This file contains machine dependent kernel configuration notes.  For
 # machine independent notes, look in /sys/conf/NOTES.
 #
-# (XXX from i386:NOTES,v 1.1170)
+# (XXX from i386:NOTES,v 1.1172)
 # $FreeBSD: src/sys/amd64/conf/NOTES,v 1.19 2004/08/27 21:29:20 arved Exp $
 #
 
@@ -218,7 +218,7 @@
 # for AGP r128 and radeon cards.
 
 device		mgadrm
-device		"r128drm"
+device		r128drm
 device		radeondrm
 device		sisdrm
 device		tdfxdrm
@@ -327,6 +327,13 @@
 # I2C Bus
 #
 
+#
+# Hardware watchdog timers:
+#
+# ichwd: Intel ICH watchdog timer
+#
+device		ichwd
+
 #---------------------------------------------------------------------------
 # ISDN4BSD
 #
@@ -366,20 +373,20 @@
 #	ifpi2 driver for AVM Fritz!Card PCI version 2
 #
 # AVM Fritz!Card PCI version 2
-#XXX#device  "ifpi2"
+#XXX#device	ifpi2
 #
 #---------------------------------------------------------------------------
 #	iwic driver for Winbond W6692 chipset
 #
 # ASUSCOM P-IN100-ST-D (and other Winbond W6692 based cards)
-#XXX#device  iwic
+#XXX#device	iwic
 #
 #---------------------------------------------------------------------------
 #	itjc driver for Siemens ISAC / TJNet Tiger300/320 chipset
 #
 # Traverse Technologies NETjet-S
 # Teles PCI-TJ
-#XXX#device  itjc
+#XXX#device	itjc
 #
 #---------------------------------------------------------------------------
 #	iavc driver (AVM active cards, needs i4bcapi driver!)
@@ -390,34 +397,38 @@
 #	ISDN Protocol Stack - mandatory for all hardware drivers
 #
 # Q.921 / layer 2 - i4b passive cards D channel handling
-#XXX#device		"i4bq921"
+#XXX#device	i4bq921
 #
 # Q.931 / layer 3 - i4b passive cards D channel handling
-#XXX#device		"i4bq931"
+#XXX#device	i4bq931
 #
 # layer 4 - i4b common passive and active card handling
-#XXX#device		"i4b"
+#XXX#device	i4b
 #
 #---------------------------------------------------------------------------
 #	ISDN devices - mandatory for all hardware drivers
 #
 # userland driver to do ISDN tracing (for passive cards only)
-#XXX#device		"i4btrc"	4
+#XXX#device	i4btrc
+#XXX#options	NI4BTRC=4
 #
 # userland driver to control the whole thing
-#XXX#device		"i4bctl"
+#XXX#device	i4bctl
 #
 #---------------------------------------------------------------------------
 #	ISDN devices - optional
 #
 # userland driver for access to raw B channel
-#XXX#device		"i4brbch"	4
+#XXX#device	i4brbch
+#XXX#options	NI4BRBCH=4
 #
 # userland driver for telephony
-#XXX#device		"i4btel"	2
+#XXX#device	i4btel
+#XXX#options 	NI4BTEL=2
 #
 # network driver for IP over raw HDLC ISDN
-#XXX#device		"i4bipr"	4
+#XXX#device	i4bipr
+#XXX#options 	NI4BIPR=4
 # enable VJ header compression detection for ipr i/f
 options 	IPR_VJ
 # enable logging of the first n IP packets to isdnd (n=32 here)
@@ -425,10 +436,15 @@
 #
 # network driver for sync PPP over ISDN; requires an equivalent
 # number of sppp device to be configured
-#XXX#device		"i4bisppp"	4
+#XXX#device	i4bisppp
+#XXX#options 	NI4BISPPP=4
 #
 # B-channel interface to the netgraph subsystem
-#XXX#device		"i4bing"	2
+#XXX#device	i4bing
+#XXX#options	NI4BING=2
+#
+# CAPI driver needed for active ISDN cards (see iavc driver above)
+#XXX#device	i4bcapi
 #
 #---------------------------------------------------------------------------
 

==== //depot/projects/hammer/sys/amd64/include/in_cksum.h#10 (text+ko) ====


==== //depot/projects/hammer/sys/amd64/include/param.h#26 (text+ko) ====


==== //depot/projects/hammer/sys/amd64/include/pmap.h#46 (text+ko) ====


==== //depot/projects/hammer/sys/amd64/include/profile.h#22 (text+ko) ====



More information about the p4-projects mailing list