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" (&regs->ARM_r8), "I" (PSR_I_BIT | PSR_F_BIT | FIQ_MODE));

At the bottom we use, eg, &regs->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