当前位置: 首页 > article >正文

KTHREAD--InitialStack和KernelStack和TSS的esp0

InitialStack和TSS.esp0的关系,在这里可以看到

mov     ecx, [esi+_KTHREAD.InitialStack] ; esi: newthread
lea     eax, [ecx-210h] ; 越过FPXSAVE指令存储地址
test    byte ptr [eax-1Ah], 2 ; 判断efalgs寄存器的VIF位是否为1
jnz     short loc_458743
sub     eax, 10h        ; 修正初始化堆栈esp指针
 			            ; 如果VIF位位1,
			            ; TSS.ESP0-->trapTfame.V86Gs
		            	; 否则
		            	; TSS.ESP0-->HardwareSegSs
mov     edx, [ebx+_KPCR.___u0.__s1.TssCopy]
mov     [edx+_KTSS.Esp0], eax ; 修改esp0!!!!!!!!!!!!!

 KTHREAD.KernelStack的作用

 


http://www.kler.cn/a/376851.html

相关文章:

  • css实现antd丝带效果
  • ubuntu安装与配置Nginx(2)
  • 制造业中的主数据有哪些?
  • 【重生之我要苦学C语言】深入理解指针3
  • kafka里的consumer 是推还是拉?
  • [RootersCTF2019]ImgXweb
  • python实现了对一个数据集(从csv文件读取)的数据预处理、异常值检测、数据重构以及使用多种机器学习模型进行评估和调优的功能
  • selenium 点击元素报错element not interactable
  • 处理非结构化数据:Python中的BeautifulSoup库解析HTML
  • 扫描项目中存在高危风险依赖包升级处理。
  • 【016C】基于51单片机电子秤(LCD1602显示)
  • crc16 with word byte--查表法
  • 自动驾驶---理想汽车智驾进展
  • 计算机网络:网络层 —— IP 多播技术
  • 机器学习与数学公式
  • flutter报错‘/Users/xxx/.gradle/caches/journal-1/file-access.bin‘.
  • 【rust实战】rust博客系统4_连接数据库及查询数据
  • 重构响应对象
  • Dockerfile文件编写
  • linux perf 环境部署和基本测试(基于Ubuntu20.04)