suggested changes and bug fixes for RTEMS

Pham, Phong phamp at ddc-web.com
Tue May 9 16:16:25 UTC 2017


Hi RTEMS Maintainers,

Pls. let me know which of these item # changes below (or delta within a given item #) you do not wish to accommodate in the main line so that I will provide it as part of my BSP.  I am porting RTEMS to IBM PowerPC 750 chip; very similar to MPC750 but there are minute differences.


1)      Bug: In rtems\c\src\lib\libbsp\shared\src\irq-generic.c:bsp_interrupt_allocate_handler_index().  See attachment irq-generic.c vs. irq-generic.c.orig


2)      Enhancement: Add support for IBM PowerPC 750 chip in rtems\c\src\lib\libcpu\powerpc\shared\include\cpuIdent.[c,h] and rtems\c\src\lib\libcpu\powerpc\new-exceptions\bspsupport\ppc_exc_categories.c



3)      Bug: Missing a couple registers when DLAB is 1 in rtems\c\src\libchip\serial\ns16550_p.h.  Also add a #ifndef ASM around libchip/serial.h inclusion.



4)      Suggestion: In pci.h, there are references to BSP_pci_configuration data structure which is in pci.c.  However, in this file, there are also references to detect_host_bridge () in detect_raven_bridge.c.  For folks that are just interested in pci_read_config_dword() + its brothers, all they need is to include pci.h and content for where  BSP_pci_configuration is defined.  The rest of the stuff in pci.c should be separate.  Or in another word, data structures and #defines involving with BSP_pci_configuration needs to be in separate files rather all stuffed in pci.c


5)      rtems\c\src\lib\libcpu\powerpc\mpc6xx\mmu\pte121.c:triv121PgTblMap() implementation only map virtual address to be the same as physical address for a given address range (start + numPages).  It also assume an increment of page size for a given address range.  I suggest that an argument of triv121PgTblMap() is needed to specify the physical address to be mapped to for a given range of addresses.  Also another parameter is whether or not to increment PhysAddr for each page.  Enclosed in pte121.c is an implementation of triv121PgTblMapPhysAddr() where a physical address is provided and it is hard coded not to increase the physical address for a given address range.  So APIs are needed for these requests.  Don't know if and how much you want to support me.  If not, I'll just add whatever you're not supporting in my BSP.


Thanks,
Phong.

PS: There are a couple more items but the first five should get things rolling.
Notice: This e-mail and any files transmitted with it may contain Data Device Corporation's privileged and proprietary information. It is intended solely for the use of the individual or entity to whom it is addressed. If you are not the named recipient of this transmission, any disclosure, copying, distribution or reliance on the contents of this message is prohibited. If you received this e-mail in error, please destroy it and any attached files and notify me immediately.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20170509/520e75c4/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: irq-generic.c.orig
Type: application/octet-stream
Size: 15341 bytes
Desc: irq-generic.c.orig
URL: <http://lists.rtems.org/pipermail/devel/attachments/20170509/520e75c4/attachment-0005.obj>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: irq-generic.c
URL: <http://lists.rtems.org/pipermail/devel/attachments/20170509/520e75c4/attachment-0004.c>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cpuIdent.c.orig
Type: application/octet-stream
Size: 5755 bytes
Desc: cpuIdent.c.orig
URL: <http://lists.rtems.org/pipermail/devel/attachments/20170509/520e75c4/attachment-0006.obj>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: cpuIdent.h
URL: <http://lists.rtems.org/pipermail/devel/attachments/20170509/520e75c4/attachment-0002.h>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cpuIdent.h.orig
Type: application/octet-stream
Size: 3806 bytes
Desc: cpuIdent.h.orig
URL: <http://lists.rtems.org/pipermail/devel/attachments/20170509/520e75c4/attachment-0007.obj>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: cpuIdent.c
URL: <http://lists.rtems.org/pipermail/devel/attachments/20170509/520e75c4/attachment-0005.c>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ppc_exc_categories.c.orig
Type: application/octet-stream
Size: 10906 bytes
Desc: ppc_exc_categories.c.orig
URL: <http://lists.rtems.org/pipermail/devel/attachments/20170509/520e75c4/attachment-0008.obj>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ppc_exc_categories.c
URL: <http://lists.rtems.org/pipermail/devel/attachments/20170509/520e75c4/attachment-0006.c>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ns16550_p.h
URL: <http://lists.rtems.org/pipermail/devel/attachments/20170509/520e75c4/attachment-0003.h>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ns16550_p.h.orig
Type: application/octet-stream
Size: 3432 bytes
Desc: ns16550_p.h.orig
URL: <http://lists.rtems.org/pipermail/devel/attachments/20170509/520e75c4/attachment-0009.obj>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: pte121.c
URL: <http://lists.rtems.org/pipermail/devel/attachments/20170509/520e75c4/attachment-0007.c>


More information about the devel mailing list