示例#1
0
int psci_update_dt(void *fdt)
{
#ifdef CONFIG_ARMV7_NONSEC
    if (!armv7_boot_nonsec())
        return 0;
#endif
#ifndef CONFIG_ARMV7_SECURE_BASE
    /* secure code lives in RAM, keep it alive */
    fdt_add_mem_rsv(fdt, (unsigned long)__secure_start,
                    __secure_end - __secure_start);
#endif

    return fdt_psci(fdt);
}
示例#2
0
int psci_update_dt(void *fdt)
{
#ifdef CONFIG_MP
#if defined(CONFIG_ARMV8_PSCI)
#ifdef CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT
	/*
	 * If the PSCI in SEC Firmware didn't work, avoid to update the
	 * device node of PSCI. But still return 0 instead of an error
	 * number to support detecting PSCI dynamically and then switching
	 * the SMP boot method between PSCI and spin-table.
	 */
	if (sec_firmware_support_psci_version() == 0xffffffff)
		return 0;
#endif
	fdt_psci(fdt);
#endif
#endif
	return 0;
}
示例#3
0
文件: cpu-dt.c 项目: OpenNoah/u-boot
int psci_update_dt(void *fdt)
{
	/*
	 * If the PSCI in SEC Firmware didn't work, avoid to update the
	 * device node of PSCI. But still return 0 instead of an error
	 * number to support detecting PSCI dynamically and then switching
	 * the SMP boot method between PSCI and spin-table.
	 */
	if (sec_firmware_support_psci_version() == PSCI_INVALID_VER)
		return 0;
	fdt_psci(fdt);

#if defined(CONFIG_ARMV8_PSCI) && !defined(CONFIG_ARMV8_SECURE_BASE)
	/* secure code lives in RAM, keep it alive */
	fdt_add_mem_rsv(fdt, (unsigned long)__secure_start,
			__secure_end - __secure_start);
#endif

	return 0;
}