From owner-p4-projects@FreeBSD.ORG Mon Sep 13 22:53:41 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A681116A4D0; Mon, 13 Sep 2004 22:53:41 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 81F7916A4CE for ; Mon, 13 Sep 2004 22:53:41 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7271E43D46 for ; Mon, 13 Sep 2004 22:53:41 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i8DMrfGO091658 for ; Mon, 13 Sep 2004 22:53:41 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i8DMrf8k091655 for perforce@freebsd.org; Mon, 13 Sep 2004 22:53:41 GMT (envelope-from peter@freebsd.org) Date: Mon, 13 Sep 2004 22:53:41 GMT Message-Id: <200409132253.i8DMrf8k091655@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 61460 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Sep 2004 22:53:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=61460 Change 61460 by peter@peter_daintree on 2004/09/13 22:53:08 Hmm. jhb's doublefault tracer wont work in this form. On amd64, we dont save the old register values. Note an XXX about a MIA ist setup for the doublefault. Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/db_trace.c#20 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/db_trace.c#20 (text+ko) ==== @@ -190,7 +190,6 @@ #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 *); @@ -318,8 +317,6 @@ frame_type = INTERRUPT; else if (strcmp(name, "Xfast_syscall") == 0) frame_type = SYSCALL; - else if (strcmp(name, "dblfault_handler") == 0) - frame_type = DOUBLE_FAULT; } /* @@ -334,23 +331,6 @@ 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. */