Avances en el proyecto

Esta última semana hemos conseguido dos logros bastante importantes:

En GNU Mach, hemos recuperado unos antiguos headers con las tablas de APIC.

Estos headers fueron eliminados en versiones anteriores de gnumach, y contienen tanto los struct con los campos de la Local APIC y la IOAPIC, como una primera implementación de la función cpu_number(), que devuelve el Kernel ID del procesador que está en ejecución.

Tras recuperar estos headers, y reincoporarlos al código actual, hemos logrado que la secuencia de arranque de Hurd avance hasta la fase de configuración de los procesadores. Podéis ver el vídeo del arranque aquí:

El código de GNU Mach SMP se encuentra aquí:
https://github.com/AlmuHS/GNUMach_SMP

Por otro lado, en el modelo de pruebas Min_SMP, hemos logrado implementar la activación de los procesadores mediante el envío de la Startup IPI.

Aquí podéis ver una captura del entorno de pruebas corriendo en Qemu. Las primeras líneas se corresponden a la activación de los procesadores, y en las líneas inferiores podéis ver los procesadores ya activados (con el flag ENABLE)

Min_SMP

Las siguientes fases del proyecto tratarán de implementar la configuración de las Local APIC en el modelo de pruebas, e integrar los códigos de este a GNU Mach.

El código del entorno de pruebas, Min_SMP, se encuentra aquí:
https://github.com/AlmuHS/Min_SMP/

Anuncios

Hurd SMP estrena blog

El proyecto Hurd SMP, participante de la XIII edición del Concurso Universitario de Software Libre, estrena blog.

En este blog iremos anunciando las novedades del proyecto, y los avances que se vayan haciendo durante el desarrollo.