Universal Scalable Firmware, una nueva arquitectura abierta desarrollada por Intel
Hace poco Intel presento el desarrollo de una nueva arquitectura de firmware Universal Scalable Firmware (USF) la cual esta destinada a simplificar el desarrollo de todos los componentes de la pila de software de firmware para una variedad de categorías de dispositivos, desde servidores hasta sistemas en un chip (SoC).
USF proporciona capas de abstracción para separar la lógica de inicialización del hardware de bajo nivel de los componentes de la plataforma responsables de configurar, actualizar el firmware, proteger y arrancar el sistema operativo.
Sobre USF
USF tiene una estructura modular que no está vinculada a soluciones específicas y permite utilizar varios proyectos existentes que implementan la inicialización del hardware y las etapas de arranque, como la pila TianoCore EDK2 UEFI, el firmware minimalista Slim Bootloader el cargador de arranque U-Boot y la plataforma CoreBoot.
La interfaz UEFI, la capa LinuxBoot (para la carga directa del kernel de Linux), VaultBoot (arranque verificado) y el hipervisor ACRN se pueden utilizar como entornos de carga útil para encontrar el cargador de arranque y transferir el control al sistema operativo, ademas de que se proporcionan interfaces típicas como ACPI, UEFI, Kexec y Multi-boot para sistemas operativos.
Las especificaciones USF de Intel constan de dos partes: una especificación interna de Intel que cubre la construcción del SOC y sus interfaces internas (IP HW e IP FW); y una especificación externa de la industria que cubre las interfaces para SOC, plataformas y cargas útiles de SO, así como la creación y administración de productos y soluciones de firmware completos (es decir, cómo inicializar, configurar, integrar, arrancar, actualizar y mantener). La especificación externa está abierta a la retroalimentación activa y la colaboración de la industria y los socios tecnológicos. La versión de especificaciones externas en el lanzamiento inicial está comenzando intencionalmente en una revisión preliminar para que los socios tecnológicos tengan la oportunidad de ayudar a mejorar su contenido y dirección antes de la finalización de la v1.0.
USF define una capa de Paquete de soporte de firmware (FSP) separada que interactúa con la Capa de orquestación de plataforma (POL) genérica y personalizada a través de una API común. FSP abstrae operaciones como reinicio de CPU, inicialización de hardware, SMM (modo de administración del sistema), autenticación y verificación a nivel de SoC.
La capa de orquestación simplifica la creación de interfaces ACPI, ademas de que admite bibliotecas de carga genéricas y permite usar el lenguaje Rust para crear componentes de firmware seguros y ademas permite definir la configuración utilizando el lenguaje de marcado YAML. POL también realiza atestación (confirmación de autenticidad), autenticación y organización de la instalación segura de actualizaciones.
Con USF, esperamos ayudar a abordar los puntos débiles del desarrollo de firmware de la industria, reducir la complejidad, acelerar la innovación, mejorar la calidad y seguridad del firmware y permitir la flexibilidad y escalabilidad del firmware en CPU y XPU en el futuro.
Se espera que la nueva arquitectura permita:
- Reduzca la complejidad y el costo de desarrollar firmware para nuevos dispositivos al reutilizar el código de componentes estándar listos para utilizar, una arquitectura modular que no está vinculada a cargadores específicos y la capacidad de usar una API universal para configurar módulos.
- Mejore la calidad y seguridad del firmware mediante el uso de módulos verificables para la interacción con el equipo y una infraestructura más segura para la autenticación y verificación del firmware.
- Utilice diferentes cargadores y componentes de carga útil, según las tareas a resolver.
- Acelere el avance de nuevas tecnologías y acorte el ciclo de desarrollo: los desarrolladores pueden concentrarse solo en agregar funcionalidad específica, de lo contrario, utilizar componentes probados listos para usar.
- Escale el desarrollo de firmware para varias arquitecturas de computación mixta (XPU), por ejemplo, que incluyen, además de la CPU, un acelerador de gráficos discretos integrado (dGPU) y dispositivos de red programables para acelerar las operaciones de red en centros de datos que proporcionan sistemas en la nube (IPU), Unidad de Procesamiento de Infraestructura).
Finalmente para quienes estén interesados en poder conocer más al respecto, deben saber que ya se cuentra disponible un borrador de la especificación y la implementación de los elementos típicos de la arquitectura USF se publican en GitHub.
Fuente: https://www.intel.com