Estoy trabajando en un sistema escueto en el que tengo que determinar en algún momento después del arranque cuántos núcleos y subprocesos están habilitados, para poder enviar ellos eventos SIPI. También quiero que cada hilo sepa qué hilo es.Instrucciones de ensamblaje para encontrar cuántos hilos están habilitados en un sistema multi-core
Por ejemplo, en una configuración de un solo núcleo con HT activado, tenemos (por ejemplo, Intel Atom):
thread 0 --> core 0 thread 0
thread 1 --> core 0 thread 1
Mientras que en una configuración de doble núcleo sin HT tenemos (por ejemplo, Core 2 Duo):
thread 0 --> core 0 thread 0
thread 1 --> core 1 thread 0
¿Cuál es la mejor manera de determinarlo?
Edit: He encontrado cómo cada hilo puede encontrar qué hilo es. Todavía no he encontrado cómo determinar cuántos núcleos hay.