read NAND
Andy Green
andy at openmoko.com
Thu Jul 3 11:42:16 CEST 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Somebody in the thread at some point said:
| Andy Green wrote:
|> What happens if you paste (*(volatile unsigned *)buf) in place of the
|> ADDR usage? Is it OK?
|>
| also not work! :-)
| error message:
| "start_kboot.c:31: error: called object ‘1’ is not a function "
Ha yes you have to pass them into the asm block, I remember it now. See
the following example block from the FIQ support:
asm volatile (
"mov ip, sp\n\
stmfd sp!, {fp, ip, lr, pc}\n\
sub fp, ip, #4\n\
mrs %0, cpsr\n\
msr cpsr_c, %2 @ select FIQ mode\n\
mov r0, r0\n\
ldmia %1, {r8 - r14}\n\
msr cpsr_c, %0 @ return to SVC mode\n\
mov r0, r0\n\
ldmfd sp, {fp, sp, pc}"
: "=&r" (tmp)
: "r" (®s->ARM_r8), "I" (PSR_I_BIT | PSR_F_BIT | FIQ_MODE));
At the bottom we use, eg, ®s->ARM_r8 from C, and we can use it as %1
in the assembly code. You need to google about the exact syntax but
this is the method.
- -Andy
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org
iEYEARECAAYFAkhsnvgACgkQOjLpvpq7dMrLIwCeJ4t82k+maUCLODx+K2fL56l5
ulsAoI1ZHy/ExBnLm41r1Su+5rwAK8YC
=5Zvf
-----END PGP SIGNATURE-----
More information about the openmoko-kernel
mailing list