Jump to content

    

Linux kernel не смог запустить второй CPU (SMP is enabled) на Zynq-ке

Перенес проект в новый Petalinux 2018.2 (кернел 4.14). FPGA собрана под Vivado 2015.4. Железо - picozed 7020. До этого работал на Petalinux 2015.4, кернел 4.6.0.

 

Что может быть причиной? Кто отвечает за правильную конфигурацию железа - fsbl или kernel?

 

Вот кусок загрузочного лога кернела:

 

...

CPU: Testing write buffer coherency: ok

CPU0: thread -1, cpu 0, socket 0, mpidr 80000000

Setting up static identity map for 0x100000 - 0x100060

Hierarchical SRCU implementation.

smp: Bringing up secondary CPUs ...

CPU1: failed to boot: -1

smp: Brought up 1 node, 1 CPU

SMP: Total of 1 processors activated (666.66 BogoMIPS).

CPU: All CPU(s) started in SVC mode.

devtmpfs: initialized

...

 

Старое ядро (4.6.0) включает обе головы цинка как со своим родным fsbl и u-boot, так и с fsbl and u-boot от petalinux 2018.2.

 

PS. попробовал petalinux 2017.4 + BSP от picozed'а для этой же версии петалинукса - результат тот же "CPU1: failed to boot: -1"

Share this post


Link to post
Share on other sites

Неописанный ни где (по кр.мере я не встречал) бит номер семь в малопопулярном регистре 0xf800d010 (он же eFuse status) взведен. По этому индо-линукс не хочет запускать второую голову, не смотря на то что она вполне себе жива.

Ксилинксы молчат - может кто натыкался? Есть подозрение что это по теме AR65240, но проверять пока лень (да и железка не мной рисована - picozed) - проще софтверый костыль привязать...

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now