-
Se configura la estructura que tiene el proyecto.
-
Se ejecuta una pequeño código hecho en ensamblador que tiene como función detener todos los núcleos del procesador que están ejecutando el kernel.
-
El archivo
Makefile
permite ejecutar:-
doc
: Genera la documentación. -
qemu
: Ejecutar el kernel en QEMU. -
clippy
: Analiza el código y sugiere mejoras. -
clean
: Elimina todos los archivos generados durante la compilación, etc. -
readelf
: Inspecciona el archivoELF
de salida. -
objdump
: Inspecciona el ensamblador. -
nm
: Inspecciona los símbolos.
-
-
El script para enlazado específico para la
BSP
llamadokernel.ld
.-
Carga la dirección en
0x8_0000
. -
Solo la sección
.text
.
-
-
main.rs
: Atributos internos importantes:#![no_std]
,#![no_main]
.
-
boot.s
: La función de ensamblador_start()
que iniciawfe
(Wait For Event / Esperar Hasta Un Evento), detiene todos los núcleos del procesador que están ejecutando_start()
. -
Tenemos que definir una función que funcione como
#[panic_handler]
(manejador de pánico) para que el compilador no nos cause problemas.- Hazla
unimplemented!()
porque se eliminará ya que no está siendo usada.
- Hazla
Dentro de la carpeta del proyecto, ejecuta a QEMU y mira el núcleo del procesador ejecutando wfe
en bucle:
$ make qemu
[...]
IN:
0x00080000: d503205f wfe
0x00080004: 17ffffff b #0x80000