Community
Participate
Working Groups
The platforms generated by the Platform Wizard create a generic platform instance as a module config param, and all generic platform's params are set in the XDC file of the generated platform. That works fine as long as the config params of the generated platform are not accessed either through Build.platformTable or in the config script. If a user tries to reuse the generated platform and tries the following in config.bld Build.platformTable["myPlatforms.omap4"].l1PMode = "0k"; this will not have any effect on the memory map. If a use tries the following in the config script: print(Program.platform.l1PMode); there will be an error message stating that the platform does not have the parameter "l1PMode". Most of the generated platforms are not used this way, so the problem may never actually happen, but to prevent it is also not too difficult.
An additional related problem is that the packages that try to read platform params can't do it easily. For example, c64p.Cache module in SYS/BIOS needs to know l1PMode, l1DMode and l2Mode, and it's calling getCreateArgs() to get to those. BUt, in 3.25 I removed getCreateArgs() because its original purpose was to return the structure $args passed to the platform instance. That structure does not exist anymore, but SYS/BIOS is still relying on that function. Here is a related bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=410545