make.base -- renamed OBJECTS to OBJECTS-1 to allow conditional compilation of objects
ldscript.base -- realized that assignemnts to the location counter inside of sections
are relative to their start so simplfied the code
pirq_routing.h -- includeded types.h so we don't have suprises
hardwaremain.c -- unconditionally included arch/smp/mpsec.h
arch/i386/smp/Config introduced conitional on the compilation objects into
the compilation process
ioapic.c -- removed (now) unneeded ifdef around this file
mpsec.c -- removed (now) unneeded ifdef around this file
cpu/cpufixup.h -- Fix typo in the case when no cpufixup is needed.
parts/framebuffer.h -- Added a missing semicolon.
smp/atomic.h -- renamed second atmoic_inc to atomic_dec oops.
tyan/guinnes/Config -- reordered the options so they are grouped a little
better and said mptable.o is dependent on HAVE_MP_TABLE
tyan/guiness/mainboard.c -- small change for clarity.
northsouthbridge/sis/630/northbridge.c
northsouthbridge/sis/630/southbridge.c
-- Remove unused include of the now dead param.h
NLBConfig.py
-- Only include numeric options in the linker script
-- Update to handle adding a condition for when to build
objects
53 lines
1.2 KiB
C
53 lines
1.2 KiB
C
#ifndef SMP_ATOMIC_H
|
|
#define SMP_ATOMIC_H
|
|
|
|
#ifdef SMP
|
|
#include <arch/smp/atomic.h>
|
|
#else
|
|
|
|
typedef struct { int counter; } atomic_t;
|
|
#define ATOMIC_INIT(i) { (i) }
|
|
|
|
/**
|
|
* atomic_read - read atomic variable
|
|
* @v: pointer of type atomic_t
|
|
*
|
|
* Atomically reads the value of @v. Note that the guaranteed
|
|
* useful range of an atomic_t is only 24 bits.
|
|
*/
|
|
#define atomic_read(v) ((v)->counter)
|
|
|
|
/**
|
|
* atomic_set - set atomic variable
|
|
* @v: pointer of type atomic_t
|
|
* @i: required value
|
|
*
|
|
* Atomically sets the value of @v to @i. Note that the guaranteed
|
|
* useful range of an atomic_t is only 24 bits.
|
|
*/
|
|
#define atomic_set(v,i) (((v)->counter) = (i))
|
|
|
|
|
|
/**
|
|
* atomic_inc - increment atomic variable
|
|
* @v: pointer of type atomic_t
|
|
*
|
|
* Atomically increments @v by 1. Note that the guaranteed
|
|
* useful range of an atomic_t is only 24 bits.
|
|
*/
|
|
#define atomic_inc(v) (((v)->counter)++)
|
|
|
|
|
|
/**
|
|
* atomic_dec - decrement atomic variable
|
|
* @v: pointer of type atomic_t
|
|
*
|
|
* Atomically decrements @v by 1. Note that the guaranteed
|
|
* useful range of an atomic_t is only 24 bits.
|
|
*/
|
|
#define atomic_dec(v) (((v)->counter)--)
|
|
|
|
|
|
#endif /* SMP */
|
|
|
|
#endif /* SMP_ATOMIC_H */
|