Date: Wed, 24 Aug 2005 23:39:40 +0900 From: "R. Imura" <imura@ryu16.org> To: Pyun YongHyeon <pyunyh@gmail.com> Cc: John Nielsen <john@jnielsen.net>, freebsd-sparc64@freebsd.org Subject: Re: "fast data access mmu miss" on kernels w/o "makeoptions DEBUG=-g" Message-ID: <20050824143940.GA65078%imura@ryu16.org> In-Reply-To: <20050824010147.GD4956@rndsoft.co.kr> 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>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050824143940.GA65078%imura>