pdf

Research on Android Thread Local Storage

  • 2013-09-29
  • 58.91KB
  • Points it Requires : 2

              Research on Android Thread Local Storage Research on Android Thread Local Storage Wang Sen MSN: kernel_senix@163.com Kernel support for thread local storage setting asmlinkage int arm_syscall(int no, struct pt_regs *regs) { … case NR(set_tls): thread->tp_value = regs->ARM_r0; // regs->ARM_r0 is the virtual address of the thread local storage passed down from user space, and thread->tp_value is the place where the kernel saves this virtual address for each thread. #if defined(CONFIG_HAS_TLS_REG) //If the processor has a dedicated register for thread-local storage, then use this dedicated register asm (\"mcr p15, 0, %0, c13, c0, 3\" : : \"r\" (regs->ARM_r0) ); #elif !defined(CONFIG_TLS_REG_EMUL) //If the processor does not have a dedicated register for thread-local storage, then the kernel will find an address close to 4G to store it. /* * User space must never try to access this directly. * Expect your app to break eventually if you do so. * The user helper at 0xffff0fe0 must be used instead. * (see entry-armv.S for details) */ *((unsigned int *)0xffff0ff0) = regs->ARM_r0; //This address is 0xffff0ff0, the kernel will pre-map it and reserve it#endif return 0; … }PDF files use \"pdfFactory P…             

unfold

You Might Like

Uploader
csdn_can
 

Recommended ContentMore

Popular Components

Just Take a LookMore

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号
×