dorprocboot=0
boot_rprocs=
	if test ${dorprocboot} -eq 1 && test ${boot} = mmc; then
			rproc init;
			run boot_rprocs_mmc;
		fi;
rproc_load_and_boot_one=
	if load mmc ${bootpart} $loadaddr ${rproc_fw}; then
		if rproc load ${rproc_id} ${loadaddr} ${filesize}; then
			rproc start ${rproc_id};
		fi;
	fi
boot_rprocs_mmc=
	env set rproc_id;
	env set rproc_fw;
	env set secure_suffix;
	if test ${secure_rprocs} -eq 1; then
		env set secure_suffix -sec;
	fi;
	for i in ${rproc_fw_binaries} ; do
		if test -z "${rproc_id}" ; then
			env set rproc_id $i;
		else
			env set rproc_fw $i${secure_suffix};
			run rproc_load_and_boot_one;
			env set rproc_id;
			env set rproc_fw;
		fi;
	done

