日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

02全志r58平台Android4.4.4下关闭内核中的CPU的开启关闭提示

發布時間:2024/4/15 Android 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 02全志r58平台Android4.4.4下关闭内核中的CPU的开启关闭提示 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

02全志r58平臺Android4.4.4下關閉內核中的CPU的開啟關閉提示

2017/8/18 13:53

版本:V1.0

?

開發板:SC5806(全志R58平臺)

SDK:android4.4.4

?

?

1、系統編譯:(略)

原始編譯的系統,在串口中會有很多打印:(并且還是不停的顯示打印!)

[ 3277.071614] CPU1: shutdown

[ 3277.534023] CPU2: shutdown

[ 3277.080857] CPU1: Booted secondary processor

[ 3277.540563] CPU2: Booted secondary processor

[ 3275.490031] CPU3: Booted secondary processor

[ 3279.121504] CPU2: shutdown

[ 3279.552958] CPU3: shutdown

[ 3279.577345] CPU1: shutdown

[ 3279.580034] CPU1: Booted secondary processor

[ 3279.130678] CPU2: Booted secondary processor

[ 3279.561647] CPU3: Booted secondary processor

[ 3282.023760] CPU2: shutdown

[ 3282.032309] CPU2: Booted secondary processor

[ 3283.102187] CPU3: shutdown

[ 3283.382554] CPU1: shutdown

?

?

?

?

2、

W:\vxiaoyu_s5k5eya\lichee\linux-3.4\arch\arm\kernel\smp.c

/*

?* called on the thread which is asking for a CPU to be shutdown -

?* waits until shutdown has completed, or it is timed out.

?*/

void __cpuinit __cpu_die(unsigned int cpu)

{

if (!wait_for_completion_timeout(&cpu_died, msecs_to_jiffies(5000))) {

pr_err("CPU%u: cpu didn't die\n", cpu);

return;

}

//printk(KERN_NOTICE "CPU%u: shutdown\n", cpu);

?

if (!platform_cpu_kill(cpu))

printk("CPU%u: unable to kill\n", cpu);

}

?

?

/*

?* This is the secondary CPU boot entry. ?We're using this CPUs

?* idle thread stack, but a set of temporary page tables.

?*/

asmlinkage void __cpuinit secondary_start_kernel(void)

{

struct mm_struct *mm = &init_mm;

unsigned int cpu;

?

/*

?* The identity mapping is uncached (strongly ordered), so

?* switch away from it before attempting any exclusive accesses.

?*/

cpu_switch_mm(mm->pgd, mm);

enter_lazy_tlb(mm, current);

local_flush_tlb_all();

?

/*

?* All kernel threads share the same mm context; grab a

?* reference and switch to it.

?*/

cpu = smp_processor_id();

atomic_inc(&mm->mm_count);

current->active_mm = mm;

cpumask_set_cpu(cpu, mm_cpumask(mm));

?

//printk("CPU%u: Booted secondary processor\n", cpu);

?

cpu_init();

preempt_disable();

trace_hardirqs_off();

?

/*

?* Give the platform a chance to do its own initialisation.

?*/

platform_secondary_init(cpu);

?

notify_cpu_starting(cpu);

?

calibrate_delay();

?

smp_store_cpu_info(cpu);

?

/*

?* OK, now it's safe to let the boot CPU continue. ?Wait for

?* the CPU migration code to notice that the CPU is online

?* before we continue - which happens after __cpu_up returns.

?*/

set_cpu_online(cpu, true);

complete(&cpu_running);

?

local_irq_enable();

local_fiq_enable();

?

/*

?* OK, it's off to the idle thread for us

?*/

cpu_idle();

}

?

?

?

?

3、重新編譯boot/內核打包即可!

?

轉載于:https://www.cnblogs.com/wb4916/p/9923005.html

總結

以上是生活随笔為你收集整理的02全志r58平台Android4.4.4下关闭内核中的CPU的开启关闭提示的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。