按ARM的推荐,a55+a76大小核组合要搭配GIC600.但是GIC600过于复杂。所以尝试搭配GIC400.因为在fastmodel上验证过。但是调试的时候却遇到了一个问题,定位了几个月。现在终于解决了。下面详细描述一下问题
现象:不管是单核A55还是A76都能启动内核。但是只要超过了2个就起不来。挂死在cpu0启动cpu1的地方。
原因:gic400端口上有个AxUSR信号。按照惯例,以为没啥用。就随手接了个0.谁知坑爹的就是这个信号。原来在gic400里这2个信号表示的是cpu number。而不是user或qos之类的信号。最后做了一下修改,内核启动ok。
真tmd坑爹!!!