[PATCH 1/2] bsp/xilinx-zynq: Add SLCR driver

Chris Johns chrisj at rtems.org
Thu Apr 20 21:50:16 UTC 2017

On 21/04/2017 07:22, Patrick Gauvin wrote:
>     I so not like the reset value being written to like this. I know you
>     need to set the lower 4 bits to 1 when loading the fabric via PCAP
>     but there are 4 independent resets and I have applications that have
>     individual control once loaded. What about a mask be provided and
>     only the bits we are interested in are set or cleared depending on
>     the mask?
>     Note adding mask support will require a lock to be SMP safe.
> I see, masking sounds good. Since the lock will need to be initialized
> before the SLCR functions are called, should I turn this into a full
> driver like device config, or is it acceptable to call an SLCR init
> function during BSP startup?

I suggest you take the simple approach first and create a static 
initialised lock:

static rtems_interrupt_lock slcr_lock = 

To use:

  void foo(void)
    rtems_interrupt_lock_context lcontext;
    rtems_interrupt_lock_acquire(&slcr_lock, &lcontext);

    blah_blah = ho_hum;

    rtems_interrupt_lock_release(&slcr_lock, &lcontext);


More information about the devel mailing list