/* Change Logs: Date Author Notes  Bernard first version  Jesven add rt_hw_cpu_id()  */
rt_weak int rt_hw_cpu_id(void)
/* Change Logs: Date Author Notes  Bernard first version  Jesven add rt_hw_cpu_id()  */
rt_weak int rt_hw_cpu_id(void)
{
    int cpu_id;
    __asm__ volatile (
            "mrc p15, 0, %0, c0, c0, 5"
            :"=r"(cpu_id)
    );
    cpu_id &= 0xf;
    return cpu_id;
}