-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
System Inspection? #14
Comments
I have a function that prints the VME windows in vxWorks, but uses the static configuration. Reading the life config would be better, I think. For the IFC1210 board (VME Linux) or better the TOSCA FPGA, which is its VME bus bridge and more, I have something similar. It prints a list of memory maps. For TOSCA, I have fixed A16, A24 and CRCSR (allocated on first use) but A32 may be mapped in multiple smaller chunks, as requested by the user. Thus the number of maps is variable and somewhat dynamic. |
This is my vxWorks version (using the static configuration):
|
From what I see from @dirk-zimoch and @anjohnson it doesn't appear that vxWorks provides a uniform interface to show VME configuration. The RTEMS BSPs (by @till-s) show almost all window configuration at startup, and could be made to do so again by calling eg.
I'm coming to this conclusion as well. fyi. I would do this using the PCI handling code already in devlib2. So VME bridge inspection would be added to libepicspci instead of libepicsvme as I don't want to introduce a hard dependency vme -> pci. |
In VxWorks, the VME bus bridge driver is part of the BSP, not part of the VxWorks kernel. Thus, there is no "standard" way to query its configuration. Also, because VxWorks sets the mapping statically at boot time, I guess nobody at WindRiver saw a need for an interface to read that setting at run time. Even the The BSPs finds the Universe chip by PCI id |
PS: |
That's not the case with the newer PowerPC BSPs for the Tempe chip, the mostly-standard sysTempeMap.c which comes with the Motorola/Emerson/SmartEmbedded BSPs has a routine that captures the inbound and outbound window registers into an array which is then used by the address conversion routines (the capture routine is called after making any window changes using the internal routines for that). My sysVmeMapShow() routines also read the registers directly rather than relying on the macro values. |
You are right, I see it even in the old VxWorks 5.5 BSP for mv6100. I do not have any mv6100 in use currently. I am more familiar with mv5100 and mv2300, both with Universe II. As the function is in the BSP, there is unfortunately no "standard" way to do it. The programmer "scb" who wrote the Tempe driver in 2003 did it differently that the programmer "srr" who wrote the Universe driver in 1998. And nobody at WR seemed to have any intention to unify the way to access VME windows in VxWorks in the last 20 years. (Or to spend any effort on old BSPs or old VxWorks versions, including all 6.x, understandably.) |
After the experience of troubleshooting a difficult issue involving MMU configuration, I'm thinking about the practicality of adding some "system inspection" to devlib2. This would probably take the form of IOC shell function(s) to print architecture, OS, or device specific information.
Candidates include:
Open questions for the MMU part
sysBatDesc[]
) vs. live inspection?The text was updated successfully, but these errors were encountered: