联系我们 contact us
400-123-4657
- 手机:
- 13800000000
- 电话:
- 400-123-4657
- 邮箱:
- admin@youweb.com
- 地址:
- 广东省广州市天河区88号
搬家必读NEWS
当前位置: 首页 > 搬家必读
你知道自修改代码(Self-Modified Code, SMC)在哪些场景有应用?
添加时间:2025-06-28 00:30:16
Linux kernel 在启动时如果发现 CPU 只有一个核,会把所有 LOCK 前缀都修改为 NOP。
为了高效实现修改,代码里做了一个很骚的操作来把所有 LOCK 前缀的位置保存下来: #define LOCK_PREFIX_HERE \ ".pushsection .smp_locks,\"a\" " \ ".balign 4 " \ ".long 671f - . " /* offset */ \ ".popsection " \ "671:" #define LOCK_PREFIX LOCK_PREFIX_HERE " \tlock "(以上代码见 arch/x86/include/asm/alternativ…。