Guía de Uso: Scripts de Prueba PCI-Express para el Marco LTP
Autor: Amit Khanna <amit.khanna@intel.com> Fecha: 20 de agosto de 2004 (Copyright (c) Intel Corporation, 2004)
1. Acerca de esta Guía
Este documento describe la integración de casos de prueba para dispositivos PCI-Express dentro del proyecto Linux Test Project (LTP). Estos scripts y funciones amplían las capacidades de LTP para validar controladores y dispositivos PCI-Express en el kernel.
2. Descripción de los Cambios en el Código
Modificaciones en la Capa del Kernel (tpci.c)
Ubicación: ltp/testcases/kernel/device-drivers/pci/tpci/tpci.c
Inclusión de ``test_find_pci_exp_cap``: Esta función invoca a
pci_find_capabilitypara determinar si un dispositivo dispone de capacidad PCI-Express. Un dispositivo indica soporte PCI-Express al implementar la estructura correspondiente en su lista de capacidades.Inclusión de ``test_read_pci_exp_config``: Invoca a
pci_config_readpara verificar si el espacio de configuración extendido de PCI-Express se puede leer correctamente.La función lee el registro Advanced Error Reporting CAP-ID ubicado en la dirección
0x100del espacio de configuración extendido. El valor de este registro es constante y de solo lectura para todos los dispositivos PCI-Express. Si el valor leído coincide con la macroAER_CAP_ID_VALUE(definida entpci.h), se confirma que el controlador accede con éxito al espacio extendido.
Pruebas desde el Espacio de Usuario (user_tpci.c)
Ubicación: ltp/testcases/kernel/device-drivers/pci/user_tpci/user_tpci.c
Función de Control ``ki_generic()``: Función en el espacio de usuario encargada de interactuar con el módulo de kernel
tpcipara ejecutar y controlar las distintas pruebas PCI y PCI-Express definidas entpci.c.
3. Habilitación del Soporte PCI-Express en el Kernel
Por defecto, es posible que el soporte para PCI-Express no esté habilitado en la configuración del kernel.
Para activar el soporte PCI-Express, es necesario configurar la opción de acceso a PCI como “Any” o “MMCFG” dentro del menú de configuración del kernel (General Setup).
4. Preguntas Frecuentes (FAQ)
¿Existen limitaciones al utilizar este parche?
El acceso al espacio extendido de PCI-Express solo es posible si el dispositivo soporta PCI-Express y la opción correspondiente está habilitada en el kernel. En caso de que el dispositivo no sea PCI-Express, el espacio PCI tradicional continuará siendo accesible sin inconvenientes.
¿Qué representa la macro AER_CAP_ID_VALUE en tpci.h?
AER_CAP_ID_VALUE representa el identificador de capacidad de notificación avanzada de errores (Advanced Error Reporting Capability ID) en el espacio de configuración PCI-Express. Su valor predeterminado es constante para todos los dispositivos PCI-Express (0x14011).
En la función test_read_pci_exp_config, este valor predefinido se compara con el extraído directamente del dispositivo analizado. Si coinciden, se confirma que el controlador del kernel está leyendo correctamente el espacio de configuración extendido.