From: Grant Grundler <grundler@parisc-linux.org>
To: Joel Soete <jsoe0708@tiscali.be>
Cc: parisc-linux@lists.parisc-linux.org
Subject: Re: [parisc-linux] byte swapping redux
Date: Tue, 1 Jul 2003 12:13:27 -0600 [thread overview]
Message-ID: <20030701181327.GC14683@dsl2.external.hp.com> (raw)
In-Reply-To: <3ED71F6D0000C19D@ocpmta7.freegates.net>
On Tue, Jul 01, 2003 at 06:33:07PM +0200, Joel Soete wrote:
> I hope I am not going to anoying you.
:^)
> I just found related interesting stuff: <http://lwn.net/Articles/38384/>
> And may be also the source of pb.
Maybe our userspace will encounter this problem as well since I've
ripped out the __STRICT_ANSI__ test...can you work this out?
> I also write this small testcase to try to point out the pb in 32bits mode:
...
> And here is the results:
> Val of TU64: fedcba9876543210
> Val of ___arch__swab64(TU64): 76543210fedcba98
> Val of __fswab64(TU64): 1032547698badcfe
>
> What is right (I could not rebuild with hppa64-linux-gcc :( )?
__fswab64() is correct.
___arch__swab64() didn't actually swap within the 32-bit words.
asm-parisc/byteorder.h has:
static __inline__ __const__ __u64 ___arch__swab64(__u64 x)
{
__u32 t1 = (__u32) x;
__u32 t2 = (__u32) ((x) >> 32);
___arch__swab32(t1);
___arch__swab32(t2);
return (((__u64) t2 << 32) + ((__u64) t1));
}
DOH! *smack*
Probably my bad.
That should read:
static __inline__ __const__ __u64 ___arch__swab64(__u64 x)
{
__u32 t1 = (__u32) x;
__u32 t2 = (__u32) ((x) >> 32);
return ((__u64) ___arch__swab32(t1) << 32) + ((__u64) ___arch__swab32(t2));
}
Could you please test this?
thanks,
grant
next prev parent reply other threads:[~2003-07-01 18:13 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <3ED70CF10000BCAA@ocpmta2.freegates.net>
2003-06-30 16:36 ` [parisc-linux] byte swapping redux Grant Grundler
2003-07-01 16:33 ` Joel Soete
2003-07-01 18:13 ` Grant Grundler [this message]
2003-07-02 15:10 ` Joel Soete
2003-06-29 18:14 Grant Grundler
2003-06-29 18:33 ` Grant Grundler
2003-06-29 18:41 ` Matthew Wilcox
2003-06-29 21:33 ` Grant Grundler
2003-06-30 10:19 ` Joel Soete
2003-06-30 16:39 ` Grant Grundler
2003-07-01 7:29 ` Joel Soete
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20030701181327.GC14683@dsl2.external.hp.com \
--to=grundler@parisc-linux.org \
--cc=jsoe0708@tiscali.be \
--cc=parisc-linux@lists.parisc-linux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.