Estoy escribiendo un núcleo mínimo x86-64 desde cero y tengo algunos problemas de diseño. A partir de los comentarios y el enlace proporcionado por stark, decidí reformular mi pregunta. Quiero tomar como ejemplo el núcleo de Linux para diseñar mi propio núcleo y me gustaría recibir algunos consejos. Sé que . . . Read more
en kernel-5.4, solo se muestra la dirección de la función en lugar del símbolo de la función en initcall_debug Paso 1. agregar initcall_debug=1 printk.time=1 al cmdline Paso 2 Iniciar el dispositivo y verificar el dmesg kernel-5.4 [ 0.007250] llamando a 0xffffffc01009e9ec @ 1 [ 0.007377] initcall 0xffffffc01009e9ec devolvió 0 después . . . Read more
A menudo encuentro que ioremap simplemente utiliza PAGESIZE como su tamaño, como en los siguientes casos: c drivers/spi/spi-orion.c:715: dir_acc->vaddr = devm_ioremap(&pdev->dev, r->start, PAGE_SIZE); drivers/gpu/ipu-v3/ipu-dmfc.c:182: priv->base = devm_ioremap(dev, base, PAGE_SIZE); drivers/gpu/ipu-v3/ipu-dp.c:338: priv->base = devm_ioremap(dev, base, PAGE_SIZE); drivers/gpu/ipu-v3/ipu-vdi.c:222: vdi->base = devm_ioremap(dev, base, PAGE_SIZE); drivers/gpu/ipu-v3/ipu-di.c:729: di->base = devm_ioremap(dev, base, PAGE_SIZE); ¿Es porque debería . . . Read more
Soy consciente de que la memoria asignada por kmalloc es físicamente continua y la memoria virtual que devuelve solo tiene un desplazamiento desde su memoria física. Pero si la CPU intenta acceder a la memoria virtual que se devuelve, ¿se utilizará la Unidad de Administración de Memoria (MMU) y la . . . Read more
Quiero poder cambiar entre versiones/etiquetas del kernel de Linux. Se puede descargar la última versión del kernel desde https://www.kernel.org en formato de archivo tarball. Esa página también indica lo siguiente: Protocolo Ubicación HTTP https://www.kernel.org/pub/ GIT https://git.kernel.org/ RSYNC rsync://rsync.kernel.org/pub/ Sin embargo, en https://git.kernel.org/ hay muchos repositorios y ninguno parece ser el . . . Read more