From owner-freebsd-ia64@FreeBSD.ORG Fri Jul 2 23:08:07 2004 Return-Path: Delivered-To: freebsd-ia64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1EBDA16A4CE for ; Fri, 2 Jul 2004 23:08:07 +0000 (GMT) Received: from hermes.sc.intel.com (fmr03.intel.com [143.183.121.5]) by mx1.FreeBSD.org (Postfix) with ESMTP id E3FF843D2D for ; Fri, 2 Jul 2004 23:08:06 +0000 (GMT) (envelope-from arun.sharma@intel.com) Received: from talaria.sc.intel.com (talaria.sc.intel.com [10.3.253.5]) 1.15 2004/01/30 18:16:28 root Exp $) with ESMTP id i62N9IIZ007979; Fri, 2 Jul 2004 23:09:18 GMT Received: from [143.183.130.155] (adsharma-desk.amr.corp.intel.com [143.183.130.155]) major-inner.mc,v 1.10 2004/03/01 19:21:36 root Exp $) with ESMTP id i62N9Lsp017562; Fri, 2 Jul 2004 23:09:22 GMT Message-ID: <40E5EAD5.6060405@intel.com> Date: Fri, 02 Jul 2004 16:08:05 -0700 From: Arun Sharma User-Agent: Mozilla Thunderbird 0.7.1 (Windows/20040626) X-Accept-Language: en-us, en MIME-Version: 1.0 To: dietmar.hahn@fujitsu-siemens.com References: <200406181402.32212.dietmar.hahn@fujitsu-siemens.com> In-Reply-To: <200406181402.32212.dietmar.hahn@fujitsu-siemens.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.31 (www . roaringpenguin . com / mimedefang) cc: freebsd-ia64@freebsd.org Subject: Re: SMP on 5.2-20040531-SNAP-ia64 X-BeenThere: freebsd-ia64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the IA-64 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Jul 2004 23:08:07 -0000 On 6/18/2004 5:02 AM, Dietmar Hahn wrote: > result = ia64_sal_entry(SAL_SET_VECTORS, > SAL_OS_BOOT_RENDEZ, > ia64_tpa(FDESC_FUNC(os_boot_rendez)), > ia64_tpa(FDESC_GP(os_boot_rendez)), > 0, 0, 0, 0); This expands to: tpa r62 = r62 And I found that the value of r62 was 0x000004248200800a, which causes the machine to reset. I suspect that the compiler allocates a temporary structure and statically intializes it. If the kernel linker didn't relocate it properly, it might result in bogus values such as the above. I did verify that the above value of r62 is infact a part of the kernel binary (so it's not due to register corruption). struct ia64_fdesc { u_int64_t func; u_int64_t gp; }; e000000004058100 0a800082 24040000 00600000 00000400 ....$....`...... Sorry, I need to leave for a vacation now, but this looks like a linker/relocation issue to me. -Arun