[PR 13] LEON3: make SHM driver configurable using weak
Gedare Bloom
gedare at rtems.org
Mon Feb 6 15:50:12 UTC 2012
On Mon, Feb 6, 2012 at 9:15 AM, Daniel Hellstrom <daniel at gaisler.com> wrote:
> Since the configuration struct is always present one can let
> DATA initialize it to reduce footprint, at the same time it
> is made weak to let the user able to configure the SHM driver
> without editing the driver code.
>
> Signed-off-by: Daniel Hellstrom <daniel at gaisler.com>
> ---
> c/src/lib/libbsp/sparc/leon3/shmsupp/getcfg.c | 10 ++++++----
> 1 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/c/src/lib/libbsp/sparc/leon3/shmsupp/getcfg.c b/c/src/lib/libbsp/sparc/leon3/shmsupp/getcfg.c
> index 3711777..55b5659 100644
> --- a/c/src/lib/libbsp/sparc/leon3/shmsupp/getcfg.c
> +++ b/c/src/lib/libbsp/sparc/leon3/shmsupp/getcfg.c
> @@ -76,8 +76,12 @@ extern rtems_mpci_entry Shm_Send_packet(
> #define INTERRUPT 0 /* XXX: */
> #define POLLING 1 /* XXX: fix me -- is polling ONLY!!! */
>
> -
> -shm_config_table BSP_shm_cfgtbl;
> +/* Let user override this configuration by declaring this a weak variable */
> +shm_config_table BSP_shm_cfgtbl __attribute__((weak)) =
> +{
> + (vol_u32 *)0x40000000,
> + 0x00001000,
> +};
>
> void Shm_Get_configuration(
> uint32_t localnode,
> @@ -88,8 +92,6 @@ void Shm_Get_configuration(
> int i;
> unsigned int tmp;
>
> - BSP_shm_cfgtbl.base = 0x40000000;
> - BSP_shm_cfgtbl.length = 0x00001000;
> BSP_shm_cfgtbl.format = SHM_BIG;
>
> /*
> --
> 1.7.0.4
>
> _______________________________________________
> rtems-devel mailing list
> rtems-devel at rtems.org
> http://www.rtems.org/mailman/listinfo/rtems-devel
Any reason not to include other fields in the initialization?
More information about the devel
mailing list