[Bug 1761] New: 2kB of memory are lost in the SpaceWire Driver

bugzilla-daemon at rtems.org bugzilla-daemon at rtems.org
Thu Mar 10 03:54:14 CST 2011


https://www.rtems.org/bugzilla/show_bug.cgi?id=1761

           Summary: 2kB of memory are lost in the SpaceWire Driver
           Product: RTEMS
           Version: 4.10
          Platform: sparc
        OS/Version: RTEMS
            Status: NEW
          Severity: enhancement
          Priority: P3
         Component: bsps
        AssignedTo: joel.sherrill at oarcorp.com
        ReportedBy: claudiodcsilva at hotmail.com


The structure GRSPW_DEV has two members that are the Descriptor Tables
used for the DMA engines. These members are allocated statically (“char
_txtable[SPACEWIRE_BDTABLE_SIZE*2];” ) with twice the size they need
to be. They should have 1024 bytes of size and have 2048. This extra
size is needed because the descriptor table needs to be “1024 aligned
(0x400)”.

In the function “grspw_hw_init” these memory areas are passed to the
function SPW_ALIGN which returns the first aligned address in the
memory area.  This way the driver is allocating twice the memory
needed in order to find an aligned base address for the table inside
the memory area.

For example if the _txtable start address is 0x40000001, the address
returned by SPW_ALIGN will be 0x40000400 and the used memory area
will be 0x40000400-0x40000800. Addresses in the range 0x80000001-
0x40000399 will not be used, but will remain allocated.

This way we are losing 2kB in the descriptor tables.

-- 
Configure bugmail: https://www.rtems.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.


More information about the rtems-bugs mailing list