标签
Raymond Chen 解释了为什么 Windows 热补丁支持 x86-32、x86-64、64 位 ARM 和 Itanium,却不支持 32 位 ARM、MIPS、Alpha AXP、PowerPC、SH-3 等较老或其他架构:大多数架构出现得比热补丁规则还早;而 32 位 ARM 被排除在外,是因为热补丁是 Windows Server 的功能,而该架构并没有对应的 Windows Server 版本。
Raymond Chen 的 The Old New Thing 讲解了 Windows 上的 Itanium 如何利用定长指令束(bundle)和双倍宽度的条件长分支指令实现热补丁,并与之前讨论的 AArch64 方案进行了对比。
Raymond Chen 解释了 Windows on AArch64 如何比 x86 更简单地实现函数热补丁:利用 12 字节的补丁空间,通过 xip0 暂存寄存器构建三条指令的跳板(trampoline),同时指出函数入口通常有指针认证(pacibsp)指令进行保护。