From owner-svn-src-user@FreeBSD.ORG Thu Jul 14 06:27:50 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A206D1065670; Thu, 14 Jul 2011 06:27:50 +0000 (UTC) (envelope-from jchandra@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9308C8FC13; Thu, 14 Jul 2011 06:27:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6E6Rord016909; Thu, 14 Jul 2011 06:27:50 GMT (envelope-from jchandra@svn.freebsd.org) Received: (from jchandra@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6E6RoUt016907; Thu, 14 Jul 2011 06:27:50 GMT (envelope-from jchandra@svn.freebsd.org) Message-Id: <201107140627.p6E6RoUt016907@svn.freebsd.org> From: "Jayachandran C." Date: Thu, 14 Jul 2011 06:27:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223999 - user/jchandra/mips-xlp-support/sys/mips/mips X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 06:27:50 -0000 Author: jchandra Date: Thu Jul 14 06:27:50 2011 New Revision: 223999 URL: http://svn.freebsd.org/changeset/base/223999 Log: Make int to ptr conversion a macro. Modified: user/jchandra/mips-xlp-support/sys/mips/mips/elf_trampoline.c Modified: user/jchandra/mips-xlp-support/sys/mips/mips/elf_trampoline.c ============================================================================== --- user/jchandra/mips-xlp-support/sys/mips/mips/elf_trampoline.c Thu Jul 14 05:49:35 2011 (r223998) +++ user/jchandra/mips-xlp-support/sys/mips/mips/elf_trampoline.c Thu Jul 14 06:27:50 2011 (r223999) @@ -90,6 +90,12 @@ bzero(void *addr, size_t count) } /* + * Convert number to pointer, truncate on 64->32 case, sign extend + * in 32->64 case + */ +#define mkptr(x) ((void *)(intptr_t)(int)(x)) + +/* * Relocate PT_LOAD segements of kernel ELF image to their respective * virtual addresses and return entry point */ @@ -118,7 +124,7 @@ load_kernel(void * kstart) #else eh = (Elf32_Ehdr *)kstart; #endif - entry_point = (void*)(intptr_t)(int)eh->e_entry; + entry_point = mkptr(eh->e_entry); memcpy(phdr, (void *)(kstart + eh->e_phoff), eh->e_phnum * sizeof(phdr[0])); @@ -149,12 +155,12 @@ load_kernel(void * kstart) if (phdr[i].p_type != PT_LOAD) continue; - memcpy((void *)(intptr_t)(int)(phdr[i].p_vaddr), + memcpy(mkptr(phdr[i].p_vaddr), (void*)(kstart + phdr[i].p_offset), phdr[i].p_filesz); /* Clean space from oversized segments, eg: bss. */ if (phdr[i].p_filesz < phdr[i].p_memsz) - bzero((void *)(intptr_t)(int)(phdr[i].p_vaddr + phdr[i].p_filesz), + bzero(mkptr(phdr[i].p_vaddr + phdr[i].p_filesz), phdr[i].p_memsz - phdr[i].p_filesz); if (loadend < phdr[i].p_vaddr + phdr[i].p_memsz)