Mailing List Archive

[PATCH 1/1]: Improving PCI collected informations
From : Erwan Velu <erwan.velu@free.fr>

As discussed on IRC, I've been reworking my patch, I resend it.

This patch
- add a new pci_dev_info structure :
It contains additional informations about the pci devices like
the product/vendor name and the associated linux kernel module

- add a get_name_from_pci_ids() function in pci/scan.c
This function reads a pci.ids file from the boot device.
Then it assign for each pci device, its vendor/product name.
You just have to put this file in the root directory of your
isolinux/pxelinux (i.e the root directory of your tfptboot server
if you are using pxelinux).

- add a get_module_name_from_pci_ids() function in pci/scan.c
This function reads a modules.pcimap file from the boot device.
Then it assign for each pci_device its linux kernel module.
You just have to put this file in the root directory of your
isolinux/pxelinux (i.e the root directory of your tfptboot server
if you are using pxelinux).

- Add a call to get_name_from_pci_ids() into the pcitest COM32 module
- Add a call to get_module_name_from_pci_ids() into the pcitest COM32 module

- Fixing typedef struct { ... } s_pci...; by struct pci... {};
- Improving comments

With this patch, pcitest.c32 act like lspci plus a bonus by displaying
the linux kernel module assiocated to each pci device.
Hope this will be usefull for some of you ;)

Testing and feedback are welcome.

Signed-off-by:Erwan Velu <erwan.velu@free.fr>
[PATCH 1/1]: Improving PCI collected informations [ In reply to ]
From : Erwan Velu <erwan.velu@free.fr>

I've been reworking my patch to reduce a big problem in the memory
allocation?

This patch
- add a new pci_dev_info structure :
It contains additional informations about the pci devices like
the product/vendor name and the associated linux kernel module

- add a get_name_from_pci_ids() function in pci/scan.c
This function reads a pci.ids file from the boot device.
Then it assign for each pci device, its vendor/product name.
You just have to put this file in the root directory of your
isolinux/pxelinux (i.e the root directory of your tfptboot server
if you are using pxelinux).

- add a get_module_name_from_pci_ids() function in pci/scan.c
This function reads a modules.pcimap file from the boot device.
Then it assign for each pci_device its linux kernel module.
You just have to put this file in the root directory of your
isolinux/pxelinux (i.e the root directory of your tfptboot server
if you are using pxelinux).

- Add a call to get_name_from_pci_ids() into the pcitest COM32 module
- Add a call to get_module_name_from_pci_ids() into the pcitest COM32 module

- Fixing typedef struct { ... } s_pci...; by struct pci... {};
- Improving comments
- Fixing the memory allocation to prevent leaks

With this patch, pcitest.c32 act like lspci plus a bonus by displaying
the linux kernel module assiocated to each pci device.
Hope this will be usefull for some of you ;)

Testing and feedback are welcome.

Signed-off-by:Erwan Velu <erwan.velu@free.fr>