Saturday 15 August 2015

Is there a way to ask the Linux Kernel to re-run its PCI initialization code? -


I am either looking for a kernel mode call that I can do with a driver, the user utility, or system The call that asks the kernel to see the PCI bus, and then its initialization is completely re-launched, or starts a specific device. Specifically, I need a kernel to identify a device that was just added to the bus after that and after that address location, blocking, and other configuration parameters were configured, and finally enabled the device so that I can load the driver for it (as long as all the drivers are in the form of a load.)

I'm stuck for this at the 2.4.x series kernel, and currently 2.4 .2 I am working with 0, but it is moving forward for 2.4.37 if this is the case. This disto has been stripped from a running Red Hat 7.3 running in a RAM disc, but I can add whatever it is necessary to do this work (which they play well with the 2.4 series).

If I'm trying to do some background, it will help to clarify: From a cold boot, once in Linux I use GPIO to do an FPGA program. A part of the FPGA, after the program, applies a simple PCI device. For the time being, after FPGA programming, I reboot the system and after the Linux device arrives, it identifies and loads the driver for it.

Instead of requiring that reboot , I want to ask the Kernel to do whatever it takes to boot PCI devices to search I have configured the kernel to find PCI devices on my computer, instead of asking the BIOS for that information, so the BIOS will not need to know about this device (I hope)).

I believe the Linux program is able to view the device after the program, but before rebooting, because scanpci I will show the device after the program. , As will be lspci -H 1 . I need a way to configure and enable it in / proc / pci .

You can speed up reboots with consances, if you can not understand how to scan a PCI scan To be recovered. If you are not already, you can ask it on LKML.

Does not help to unload / reload the module, right?


No comments:

Post a Comment