Date: Fri, 02 Jul 2004 16:08:05 -0700 From: Arun Sharma <arun.sharma@intel.com> To: dietmar.hahn@fujitsu-siemens.com Cc: freebsd-ia64@freebsd.org Subject: Re: SMP on 5.2-20040531-SNAP-ia64 Message-ID: <40E5EAD5.6060405@intel.com> In-Reply-To: <200406181402.32212.dietmar.hahn@fujitsu-siemens.com> References: <200406181402.32212.dietmar.hahn@fujitsu-siemens.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?40E5EAD5.6060405>