From owner-cvs-src@FreeBSD.ORG Wed Jun 29 22:39:42 2005 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2011F16A41C; Wed, 29 Jun 2005 22:39:42 +0000 (GMT) (envelope-from peter@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0BD9443D48; Wed, 29 Jun 2005 22:39:42 +0000 (GMT) (envelope-from peter@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j5TMdfjx049951; Wed, 29 Jun 2005 22:39:41 GMT (envelope-from peter@repoman.freebsd.org) Received: (from peter@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j5TMdfak049950; Wed, 29 Jun 2005 22:39:41 GMT (envelope-from peter) Message-Id: <200506292239.j5TMdfak049950@repoman.freebsd.org> From: Peter Wemm Date: Wed, 29 Jun 2005 22:39:41 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/lib/libkvm kvm.c kvm_amd64.c kvm_arm.c kvm_i386.c kvm_ia64.c kvm_powerpc.c kvm_private.h kvm_sparc.c kvm_sparc64.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jun 2005 22:39:42 -0000 peter 2005-06-29 22:39:41 UTC FreeBSD src repository Modified files: lib/libkvm kvm.c kvm_amd64.c kvm_arm.c kvm_i386.c kvm_ia64.c kvm_powerpc.c kvm_private.h kvm_sparc.c kvm_sparc64.c Log: Support crash dumps > 4GB in size on 32 bit platforms. _kvm_kvatop() returned an lseek offset in a "u_long *" value, which can't express >4GB offsets on 32 bit machines (eg: PAE). Change to "off_t *" for all. Support ELF crashdumps on i386 and amd64. Support PAE crashdumps on i386. This is done by auto-detecting the presence of the IdlePDPT which means that PAE is active. I used Marcel's _kvm_pa2off strategy and ELF header reader for ELF support on amd64. Paul Saab ported the amd64 changes to i386 and we implemented the PAE support from there. Note that gdb6 in the src tree uses whatever libkvm supports. If you want to debug an old crash dump, you might want to keep an old libkvm.so handy and use LD_PRELOAD or the like. This does not detect the old raw dump format. Approved by: re Revision Changes Path 1.27 +2 -2 src/lib/libkvm/kvm.c 1.18 +137 -39 src/lib/libkvm/kvm_amd64.c 1.2 +1 -1 src/lib/libkvm/kvm_arm.c 1.16 +281 -52 src/lib/libkvm/kvm_i386.c 1.7 +2 -2 src/lib/libkvm/kvm_ia64.c 1.3 +1 -1 src/lib/libkvm/kvm_powerpc.c 1.9 +1 -1 src/lib/libkvm/kvm_private.h 1.6 +1 -1 src/lib/libkvm/kvm_sparc.c 1.7 +1 -1 src/lib/libkvm/kvm_sparc64.c