哪些 x86-64 指令用于启用/禁用其他内核/处理器以及如何开始在它们上执行代码?
是否有关于操作系统如何完成此操作的文档?
假设您正在谈论实现内核....
我的理解是它主要基于此文档:
如果内存对我有用(不是双关语),要检测多处理器支持,您可以扫描某些内存范围以查找固件为您设置的一组神奇的字节。从那里您可以了解描述 CPU 的结构,您可以与 APIC 控制器讨论如何在各种 CPU 上设置中断等。
我知道这是一个老问题,但这是对英特尔多核芯片的最新参考。
链接位于: http: //www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
启动和运行 x86 非常痛苦……它在内核中不如在 APIC 系统中那么多。您需要查看芯片组的文档,不幸的是,这些文档往往被隐藏起来。
当然,您必须处于内核级别。看看 Linux 听起来是个好主意。
可能有来自 Intel/AMD 的关于模型特定寄存器的文档,您可以设置这些文档来执行类似的特定操作。我不确定您是否可以访问它,除非您正在编写位于内核级别的东西......