Linux Multi-Core boot up and Hotplug

本文探讨了Linux多核启动及Hotplug流程,并以OMAP为例介绍BP(Bootstrap Processor)和AP(Application Processor)的角色及工作原理。

前段时间support华为K3平台,看了下Multi-Core Hotplug的相关内容,整理一下linux多核的启动和hotplug流程,华为的代码我是拿不出来的,什么GPL之类的貌似对中国,甚或是亚洲的企业都不具约束力了^_^还是以omap为例吧,其实包括TI的msm和Nvidia的Tegra做法都类似。BP——bootstrap processor主核,AP——application processor从核





Applying ./patches/170-non_fatal_include.patch using plaintext: patching file parser/parser.c touch /home/wyl/NVMP/nvmp/build_dir/target-mips-openwrt-linux-uclibc-c510wv1/hotplug2-201/.prepared_3669e7adaa26a3c9eb752c1192ce4e22 (cd /home/wyl/NVMP/nvmp/build_dir/target-mips-openwrt-linux-uclibc-c510wv1/hotplug2-201/./; if [ -x ./configure ]; then /usr/bin/find /home/wyl/NVMP/nvmp/build_dir/target-mips-openwrt-linux-uclibc-c510wv1/hotplug2-201/ -name config.guess | xargs -r chmod u+w; /usr/bin/find /home/wyl/NVMP/nvmp/build_dir/target-mips-openwrt-linux-uclibc-c510wv1/hotplug2-201/ -name config.guess | xargs -r -n1 cp --remove-destination /home/wyl/NVMP/nvmp/scripts/config.guess; /usr/bin/find /home/wyl/NVMP/nvmp/build_dir/target-mips-openwrt-linux-uclibc-c510wv1/hotplug2-201/ -name config.sub | xargs -r chmod u+w; /usr/bin/find /home/wyl/NVMP/nvmp/build_dir/target-mips-openwrt-linux-uclibc-c510wv1/hotplug2-201/ -name config.sub | xargs -r -n1 cp --remove-destination /home/wyl/NVMP/nvmp/scripts/config.sub; AR=mips-linux-gnu-ar AS="mips-linux-gnu-gcc -c -Os -pipe -march=mips32r2 -g -fgnu89-inline" LD=mips-linux-gnu-ld NM=mips-linux-gnu-nm CC="mips-linux-gnu-gcc" GCC="mips-linux-gnu-gcc" CXX="mips-linux-gnu-g++" RANLIB=mips-linux-gnu-ranlib STRIP=mips-linux-gnu-strip OBJCOPY=mips-linux-gnu-objcopy OBJDUMP=mips-linux-gnu-objdump SIZE=mips-linux-gnu-size CFLAGS="-Os -pipe -march=mips32r2 -g -fgnu89-inline " CXXFLAGS="-Os -pipe -march=mips32r2 -g " CPPFLAGS="-I/home/wyl/NVMP/nvmp/staging_dir/target-mips-openwrt-linux-uclibc-c510wv1/usr/include -I/home/wyl/NVMP/nvmp/staging_dir/target-mips-openwrt-linux-uclibc-c510wv1/include -I/home/wyl/NVMP/nvmp/../sdk/soc/t31x/uclibc-toolchain-0.9.33/mips-gcc472-glibc216-64bit/mips-linux-gnu/libc/uclibc/usr/include " LDFLAGS="-L/home/wyl/NVMP/nvmp/staging_dir/target-mips-openwrt-linux-uclibc-c510wv1/usr/lib -L/home/wyl/NVMP/nvmp/staging_dir/target-mips-openwrt-linux-uclibc-c510wv1/usr/lib/nvmp/libs -L/home/wyl/NVMP/nvmp/staging_dir/target-mips-openwrt-linux-uclibc-c510wv1/lib -L/home/wyl/NVMP/nvmp/../sdk/soc/t31x/uclibc-toolchain-0.9.33/mips-gcc472-glibc216-64bit/mips-linux-gnu/libc/uclibc/usr/lib -L/home/wyl/NVMP/nvmp/../sdk/soc/t31x/uclibc-toolchain-0.9.33/mips-gcc472-glibc216-64bit/mips-linux-gnu/libc/uclibc/lib " ./configure --target=mips-openwrt-linux-uclibc --host=mips-openwrt-linux-uclibc --build=x86_64-linux-gnu --program-prefix="" --program-suffix="" --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib --sysconfdir=/etc --datadir=/usr/share --localstatedir=/var --mandir=/usr/man --infodir=/usr/info --disable-nls --disable-ipv6 ; fi; ) rm -f /home/wyl/NVMP/nvmp/build_dir/target-mips-openwrt-linux-uclibc-c510wv1/hotplug2-201/.configured_* touch /home/wyl/NVMP/nvmp/build_dir/target-mips-openwrt-linux-uclibc-c510wv1/hotplug2-201/.configured_ CFLAGS="-Os -pipe -march=mips32r2 -g -fgnu89-inline -I/home/wyl/NVMP/nvmp/staging_dir/target-mips-openwrt-linux-uclibc-c510wv1/usr/include -I/home/wyl/NVMP/nvmp/staging_dir/target-mips-openwrt-linux-uclibc-c510wv1/include -I/home/wyl/NVMP/nvmp/../sdk/soc/t31x/uclibc-toolchain-0.9.33/mips-gcc472-glibc216-64bit/mips-linux-gnu/libc/uclibc/usr/include " CXXFLAGS="-Os -pipe -march=mips32r2 -g -I/home/wyl/NVMP/nvmp/staging_dir/target-mips-openwrt-linux-uclibc-c510wv1/usr/include -I/home/wyl/NVMP/nvmp/staging_dir/target-mips-openwrt-linux-uclibc-c510wv1/include -I/home/wyl/NVMP/nvmp/../sdk/soc/t31x/uclibc-toolchain-0.9.33/mips-gcc472-glibc216-64bit/mips-linux-gnu/libc/uclibc/usr/include " LDFLAGS="-L/home/wyl/NVMP/nvmp/staging_dir/target-mips-openwrt-linux-uclibc-c510wv1/usr/lib -L/home/wyl/NVMP/nvmp/staging_dir/target-mips-openwrt-linux-uclibc-c510wv1/usr/lib/nvmp/libs -L/home/wyl/NVMP/nvmp/staging_dir/target-mips-openwrt-linux-uclibc-c510wv1/lib -L/home/wyl/NVMP/nvmp/../sdk/soc/t31x/uclibc-toolchain-0.9.33/mips-gcc472-glibc216-64bit/mips-linux-gnu/libc/uclibc/usr/lib -L/home/wyl/NVMP/nvmp/../sdk/soc/t31x/uclibc-toolchain-0.9.33/mips-gcc472-glibc216-64bit/mips-linux-gnu/libc/uclibc/lib " make -j1 -C /home/wyl/NVMP/nvmp/build_dir/target-mips-openwrt-linux-uclibc-c510wv1/hotplug2-201/. AR=mips-linux-gnu-ar AS="mips-linux-gnu-gcc -c -Os -pipe -march=mips32r2 -g -fgnu89-inline" LD=mips-linux-gnu-ld NM=mips-linux-gnu-nm CC="mips-linux-gnu-gcc" GCC="mips-linux-gnu-gcc" CXX="mips-linux-gnu-g++" RANLIB=mips-linux-gnu-ranlib STRIP=mips-linux-gnu-strip OBJCOPY=mips-linux-gnu-objcopy OBJDUMP=mips-linux-gnu-objdump SIZE=mips-linux-gnu-size CROSS="mips-linux-gnu-" ARCH="mips" COPTS="-Os -pipe -march=mips32r2 -g -fgnu89-inline" STATIC_WORKER="fork" ; make[4]: Entering directory '/home/wyl/NVMP/nvmp/build_dir/target-mips-openwrt-linux-uclibc-c510wv1/hotplug2-201' mips-linux-gnu-gcc -Os -pipe -march=mips32r2 -g -fgnu89-inline -DSTATIC_WORKER=1 -MM settings.c uevent.c hotplug2-modwrap.c netlink.c hotplug2.c xmemutils.c seqnum.c coldplug2.c action.c > .depend mips-linux-gnu-gcc -Os -pipe -march=mips32r2 -g -fgnu89-inline -DSTATIC_WORKER=1 -c -o hotplug2.o hotplug2.c In file included from hotplug2.c:1:0: hotplug2.h:3:20: fatal error: signal.h: No such file or directory compilation terminated. <builtin>: recipe for target 'hotplug2.o' failed make[4]: *** [hotplug2.o] Error 1 make[4]: Leaving directory '/home/wyl/NVMP/nvmp/build_dir/target-mips-openwrt-linux-uclibc-c510wv1/hotplug2-201' Makefile:69: recipe for target '/home/wyl/NVMP/nvmp/build_dir/target-mips-openwrt-linux-uclibc-c510wv1/hotplug2-201/.built' failed make[3]: *** [/home/wyl/NVMP/nvmp/build_dir/target-mips-openwrt-linux-uclibc-c510wv1/hotplug2-201/.built] Error 2 make[3]: Leaving directory '/home/wyl/NVMP/nvmp/package/hotplug2' package/Makefile:105: recipe for target 'package/hotplug2/compile' failed make[2]: *** [package/hotplug2/compile] Error 2 make[2]: Leaving directory '/home/wyl/NVMP/nvmp' package/Makefile:101: recipe for target '/home/wyl/NVMP/nvmp/staging_dir/target-mips-openwrt-linux-uclibc-c510wv1/stamp/.package_compile' failed make[1]: *** [/home/wyl/NVMP/nvmp/staging_dir/target-mips-openwrt-linux-uclibc-c510wv1/stamp/.package_compile] Error 2 make[1]: Leaving directory '/home/wyl/NVMP/nvmp' /home/wyl/NVMP/nvmp/include/toplevel.mk:277: recipe for target 'world' failed
08-20
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值