head.s分析(14):L2空间清0

快乐虾

http://blog.csdn.net/lights_joy/

[email protected]

本文适用于

ADI bf561 DSP

uclinux-2008r1.5-rc3 (移植到vdsp5)

Visual DSP++ 5.0(update 5)

欢迎转载,但请保留作者信息

/*

* Zero out the L2 bss (where the SMP corelock slot lives).

*/

#ifdef CONFIG_L2_BOOT_MAPPED

p1.l = __sbss_l2;

p1.h = __sbss_l2;

p2.l = __ebss_l2;

p2.h = __ebss_l2;

cc = p1 == p2;

if cc jump .L_l2_done

#else

p1.l = lo(L2_START);

p1.h = hi(L2_START);

p2 = p1;

p2 += SIZEOF_CORELOCK;

#endif

r0 = 0;

p2 -= p1;

lsetup (.L_clear_l2, .L_clear_l2 ) lc0 = p2;

.L_clear_l2:

B[p1++] = r0;

.L_l2_done:

由于没有定义CONFIG_L2_BOOT_MAPPEDp1直接取L2_START的值:

#define L2_START 0xFEB00000

#define L2_LENGTH 0x20000

将整段空间清0

1 参考资料

head.s分析(1):保存u-boot传递过来的指针(2009-1-19)

head.s分析(2)SYSCFG配置(2009-1-19)

head.s分析(3):数据及指针寄存器清0(2009-1-19)

head.s分析(4):关闭CACHE(2009-01-19)

head.s分析(5):关闭串口(2009-01-19)

head.s分析(6):栈指针初始化(2009-01-19)

head.s分析(7)init_early_exception_vectors(2009-1-19)

head.s分析(8):配置PLLSDRAM(2009-01-20)

head.s分析(9)EBIU配置(2009-01-20)

head.s分析(10):转入中断15(2009-01-20)

head.s分析(11):关闭WATCHDOG(2009-01-20)

head.s分析(12)bss段清0(2009-01-20)

head.s分析(13):代码段前空间清0(2009-01-20)

你可能感兴趣的:(.net,cache,Blog)