Skip to content
Snippets Groups Projects
  • Alessandro Rubini's avatar
    general: add copyright notes · 394d1405
    Alessandro Rubini authored
    This adds copyright notes to all non-trivial source files,
    unless they where already there (i.e. dev/endpoint.c alone).
    
    I found authorship using the following script, run on commit "a2721762
    
    
    documentation updated" (i.e, before automatic reindentation and other
    trivial stuff by me):
    
      git grep -l . | grep -v sockitowm/ | \
      while read F; do
           echo "##### $F"
           git blame -w $F | \
             sed -e 's/^[^ ]* .//' -e 's/-[0-9][0-9]-[0-9][0-9] .*$//' | \
             sort | uniq -c | sort -rn
      done
    
    Then I augmented each file with this boilerplate:
    
    /*
     * This work is part of the White Rabbit project
     *
     * Copyright (C) 2011 CERN (www.cern.ch)
     * Copyright (C) 2011,2012 CERN (www.cern.ch)
     * Copyright (C) 2012 CERN (www.cern.ch)
     * Copyright (C) 2011 GSI (www.gsi.de)
     * Copyright (C) 2011,2012 GSI (www.gsi.de)
     * Copyright (C) 2012 GSI (www.gsi.de)
     * Author: Tomasz Wlostowski <tomasz.wlostowski@cern.ch>
     * Author: Grzegorz Daniluk <grzegorz.daniluk@cern.ch>
     * Author: Wesley W. Terpstra <w.terpstra@gsi.de>
     *
     * Released according to the GNU GPL, version 2 or any later version.
     */
    
    Then I removed all the lines that didn't apply. Sometimes I reordered
    the authors to reflect who is the main author.
    
    Signed-off-by: default avatarAlessandro Rubini <rubini@gnudd.com>
    394d1405
irq.c 1013 B
/*
 * This work is part of the White Rabbit project
 *
 * Copyright (C) 2011 CERN (www.cern.ch)
 * Author: Tomasz Wlostowski <tomasz.wlostowski@cern.ch>
 *
 * Released according to the GNU GPL, version 2 or any later version.
 */
#include "irq.h"

void disable_irq()
{
	unsigned int ie, im;
	unsigned int Mask = ~1;

	/* disable peripheral interrupts in case they were enabled */
	asm volatile ("rcsr %0,ie":"=r" (ie));
	ie &= (~0x1);
	asm volatile ("wcsr ie, %0"::"r" (ie));

	/* disable mask-bit in im */
	asm volatile ("rcsr %0, im":"=r" (im));
	im &= Mask;
	asm volatile ("wcsr im, %0"::"r" (im));

}

void enable_irq()
{
	unsigned int ie, im;
	unsigned int Mask = 1;

	/* disable peripheral interrupts in-case they were enabled */
	asm volatile ("rcsr %0,ie":"=r" (ie));
	ie &= (~0x1);
	asm volatile ("wcsr ie, %0"::"r" (ie));

	/* enable mask-bit in im */
	asm volatile ("rcsr %0, im":"=r" (im));
	im |= Mask;
	asm volatile ("wcsr im, %0"::"r" (im));

	ie |= 0x1;
	asm volatile ("wcsr ie, %0"::"r" (ie));
}