Arch Linux застрял на «Загрузка версии 240» после изменения конфигураций

Cuando estoy investigando este tipo de cosas, encuentro útil preguntar directamente al compilador (ver Impresión de macros predefinidas C/GCC estándar en la terminal para más detalles):

printf SYS_read | gcc -include sys/syscall.h -E -

Esto muestra que los encabezados involucrados (en Debian )son ​​/usr/include/x86_64-linux-gnu/sys/syscall.h, /usr/include/x86_64-linux-gnu/asm/unistd.h, /usr/include/x86_64-linux-gnu/asm/unistd_64.hy /usr/include/x86_64-linux-gnu/bits/syscall.h, e imprime el número de llamada del sistema para read, que es 0 en x86 -64.

Puede encontrar los números de llamada del sistema para otras arquitecturas si tiene los encabezados de sistema apropiados instalados (en un entorno de compilador cruzado -). Para 32 -bit x86 es bastante fácil:

printf SYS_read | gcc -include sys/syscall.h -m32 -E -

que involucra /usr/include/asm/unistd_32.hentre otros archivos de cabecera, e imprime el número 3.

Entonces, desde la perspectiva del espacio de usuario, las llamadas al sistema x86 de 32 -bits se definen en asm/unistd_32.h, las llamadas al sistema x86 de 64 -bits en asm/unistd_64.h. asm/unistd_x32.hse utiliza para x32 ABI .

uapi/asm-generic/unistd.henumera las llamadas al sistema predeterminadas, que se utilizan en arquitecturas que no tienen una tabla de llamadas al sistema específica de arquitectura -.

En el kernel, las referencias son ligeramente diferentes, y son de arquitectura -específicas (nuevamente, para arquitecturas que no usan la tabla de llamadas del sistema genérico ). Aquí es donde entran los archivos como arch/x86/entry/syscalls/syscall_64.tbl(y finalmente terminan produciendo los archivos de encabezado que se usan en el espacio del usuario, unistd_64.hetc. ). Encontrará muchos más detalles sobre las llamadas al sistema en el par de artículos de LWN sobre el tema, Anatomy of a system call part 1 and Anatomy of a system call part 2 .

0
20.02.2019, 11:24
1 ответ

Решено

Я был тупым, я подключил свой дисплей к своему графическому процессору, после подключения к iGPU он заработал. Не забудьте также сделать его основным выходом в BIOS

.
0
28.04.2021, 23:36

Теги

Похожие вопросы