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