From owner-freebsd-amd64@FreeBSD.ORG Tue Jun 22 21:38:03 2004 Return-Path: Delivered-To: freebsd-amd64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BC04816A4CE for ; Tue, 22 Jun 2004 21:38:03 +0000 (GMT) Received: from mail.mcneil.com (rrcs-west-24-199-45-54.biz.rr.com [24.199.45.54]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7394E43D46 for ; Tue, 22 Jun 2004 21:38:01 +0000 (GMT) (envelope-from sean@mcneil.com) Received: from localhost (localhost.mcneil.com [127.0.0.1]) by mail.mcneil.com (Postfix) with ESMTP id C255BFD03A for ; Tue, 22 Jun 2004 14:38:00 -0700 (PDT) Received: from mail.mcneil.com ([127.0.0.1]) by localhost (server.mcneil.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 00704-01 for ; Tue, 22 Jun 2004 14:38:00 -0700 (PDT) Received: from [24.199.45.54] (mcneil.com [24.199.45.54]) by mail.mcneil.com (Postfix) with ESMTP id 4F0DCFD006 for ; Tue, 22 Jun 2004 14:38:00 -0700 (PDT) From: Sean McNeil To: freebsd-amd64@freebsd.org Content-Type: text/plain Message-Id: <1087940280.6833.37.camel@server.mcneil.com> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.6 Date: Tue, 22 Jun 2004 14:38:00 -0700 Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at mcneil.com Subject: crash in ata_completed with atapicam cd X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Jun 2004 21:38:03 -0000 I'm trying to track down my crash when I try to write a CD, but I'm not familiar with amd64 assembly. It is obviously an attempt to indirectly jump to a routine: ata_completed+0xcc: call *%eax where eax is 0xffffffff801a0fa8 Looking at ata-queue.c and an objdump of ata-queue.o, I see the call but cannot tell where it corresponds to the C code. It looks like there is a return immediately following the indirect call, but I cannot see how it aligns with the source. Returns follow calls to ata_queue_request() and ata_start(). Neither of which I should think would be indirect calls. The only place that looks right is at the end of the function where it calls request->callback(). Can someone give me a hand in trying to interpret the assembly? TIA, Sean