From owner-freebsd-sparc64@FreeBSD.ORG Wed Aug 24 14:39:56 2005 Return-Path: X-Original-To: freebsd-sparc64@freebsd.org Delivered-To: freebsd-sparc64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 50BC616A41F for ; Wed, 24 Aug 2005 14:39:56 +0000 (GMT) (envelope-from imura@ryu16.org) Received: from mail.ryu16.org (221x249x107x70.ap221.ftth.ucom.ne.jp [221.249.107.70]) by mx1.FreeBSD.org (Postfix) with ESMTP id A257043D49 for ; Wed, 24 Aug 2005 14:39:54 +0000 (GMT) (envelope-from imura@ryu16.org) Received: from redeye.xt.ryu16.org (localhost [127.0.0.1]) by mail.ryu16.org (8.12.9p1/8.12.9) with ESMTP id j7OEdpn7065230; Wed, 24 Aug 2005 23:39:51 +0900 (JST) (envelope-from imura@redeye.xt.ryu16.org) Received: (from imura@localhost) by redeye.xt.ryu16.org (8.12.9p1/8.12.9/Submit) id j7OEde7E065229; Wed, 24 Aug 2005 23:39:40 +0900 (JST) (envelope-from imura) Date: Wed, 24 Aug 2005 23:39:40 +0900 From: "R. Imura" To: Pyun YongHyeon Message-ID: <20050824143940.GA65078%imura@ryu16.org> References: <200508110931.13802.john@jnielsen.net> <200508201453.40439.jhb@FreeBSD.org> <20050823081517.GB4956@rndsoft.co.kr> <200508230911.18163.john@jnielsen.net> <20050824010147.GD4956@rndsoft.co.kr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050824010147.GD4956@rndsoft.co.kr> User-Agent: Mutt/1.4.1i-ja.1 Cc: John Nielsen , freebsd-sparc64@freebsd.org Subject: Re: "fast data access mmu miss" on kernels w/o "makeoptions DEBUG=-g" X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Aug 2005 14:39:56 -0000 Hi, On Wed, Aug 24, 2005 at 10:01:47AM +0900, Pyun YongHyeon wrote: > On Tue, Aug 23, 2005 at 09:11:17AM -0400, John Nielsen wrote: > > On Tuesday 23 August 2005 04:15, Pyun YongHyeon wrote: > > > It seems that iconv needs default KOBJMETHOD for ICONV_CONVERTER_NAME. > > > With attached patch I can boot my system with LIBICONV. > > > John Nielsen, would you please let me know how the attached patch goes > > > on your system? > > > > My system already boots fine with LIBICONV, although I haven't tried > > Then it seems that you are seeing differnet issues not known to me. > Would you please post stack trace? > > > mounting and SMB FS yet. > > > > smbfs does not work on sparc64 as smbfs assumes it runs on > architectures that allow on-aligned memory access. It also needs > big-endian clean up too.(See sys/mchain.h) To begin with, you might want this patch. :) Index: sys/sys/mchain.h =================================================================== RCS file: /home/ncvs/src/sys/sys/mchain.h,v retrieving revision 1.9 diff -u -r1.9 mchain.h --- sys/sys/mchain.h 29 Jul 2005 13:22:36 -0000 1.9 +++ sys/sys/mchain.h 24 Aug 2005 10:55:39 -0000 @@ -42,42 +42,36 @@ */ #if (BYTE_ORDER == LITTLE_ENDIAN) -#define htoles(x) ((u_int16_t)(x)) -#define letohs(x) ((u_int16_t)(x)) -#define htolel(x) ((u_int32_t)(x)) -#define letohl(x) ((u_int32_t)(x)) -#define htoleq(x) ((int64_t)(x)) -#define letohq(x) ((int64_t)(x)) - -#define htobes(x) (__htons(x)) -#define betohs(x) (__ntohs(x)) -#define htobel(x) (__htonl(x)) -#define betohl(x) (__ntohl(x)) - -static __inline int64_t -htobeq(int64_t x) -{ - return (int64_t)__htonl((u_int32_t)(x >> 32)) | - (int64_t)__htonl((u_int32_t)(x & 0xffffffff)) << 32; -} - -static __inline int64_t -betohq(int64_t x) -{ - return (int64_t)__ntohl((u_int32_t)(x >> 32)) | - (int64_t)__ntohl((u_int32_t)(x & 0xffffffff)) << 32; -} +#define htoles(x) ((uint16_t)(x)) +#define letohs(x) ((uint16_t)(x)) +#define htolel(x) ((uint32_t)(x)) +#define letohl(x) ((uint32_t)(x)) +#define htoleq(x) ((uint64_t)(x)) +#define letohq(x) ((uint64_t)(x)) + +#define htobes(x) (bswap16(x)) +#define betohs(x) (bswap16(x)) +#define htobel(x) (bswap32(x)) +#define betohl(x) (bswap32(x)) +#define htobeq(x) (bswap64(x)) +#define betohq(x) (bswap64(x)) #else /* (BYTE_ORDER == LITTLE_ENDIAN) */ -#error "Macros for Big-Endians are incomplete" +#define htoles(x) (bswap16(x)) +#define letohs(x) (bswap16(x)) +#define htolel(x) (bswap32(x)) +#define letohl(x) (bswap32(x)) +#define htoleq(x) (bswap64(x)) +#define letohq(x) (bswap64(x)) + +#define htobes(x) ((uint16_t)(x)) +#define betohs(x) ((uint16_t)(x)) +#define htobel(x) ((uint32_t)(x)) +#define betohl(x) ((uint32_t)(x)) +#define htobeq(x) ((uint64_t)(x)) +#define betohq(x) ((uint64_t)(x)) -/* -#define htoles(x) ((u_int16_t)(x)) -#define letohs(x) ((u_int16_t)(x)) -#define htolel(x) ((u_int32_t)(x)) -#define letohl(x) ((u_int32_t)(x)) -*/ #endif /* (BYTE_ORDER == LITTLE_ENDIAN) */ #endif /* _KERNEL */ Regards, - R. Imura