WLAN from SDIO to SPI: battle plan
dennis.yxun
dennis.yxun at gmail.com
Wed Aug 27 23:22:02 CEST 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
HI:
Yes. it works after remove "__attribute__((__packed__))"
#arm-angstrom-linux-gnueabi-objdump -d ./cpu/arm920t/s3c24x0/spi.o
....
d0: e59d2004 ldr r2, [sp, #4]
d4: e3a0304f mov r3, #79 ; 0x4f
d8: e582300c str r3, [r2, #12]
dc: e59d2004 ldr r2, [sp, #4]
e0: e3a03001 mov r3, #1 ; 0x1
e4: e5823008 str r3, [r2, #8]
e8: e59d2004 ldr r2, [sp, #4]
ec: e283301e add r3, r3, #30 ; 0x1e
f0: e5823000 str r3, [r2]
f4: e3a01000 mov r1, #0 ; 0x0
f8: e2811001 add r1, r1, #1 ; 0x1
fc: e59d2004 ldr r2, [sp, #4]
100: e3a030ff mov r3, #255 ; 0xff
I see the same problem, if use "__packed__" attribute, GCC
will compile with byte-access code which may takes more
instruction. Say, update a counter, and it can't keep it ATOMIC access,
may produce race, or data corrupt.
Werner Almesberger wrote:
> Dennis, if you remove that "__attribute__((__packed__))" from
> S3C24X0_SPI_CHANNEL in include/s3c24x0.h, does your original code work
> then ?
>
> - Werner
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFItcV628unoHSQkyIRAjqhAJ9MCC+zoLyW9EliCTNxtSGxhrv3LwCfQYbX
2W2wtskl/xSDLC0CaFV+DUs=
=A23I
-----END PGP SIGNATURE-----
More information about the openmoko-kernel
mailing list