forked from Imagelibrary/rtems
filesystem: Add SMP support
This commit is contained in:
@@ -249,12 +249,16 @@ static inline void rtems_filesystem_mt_unlock( void )
|
|||||||
rtems_libio_unlock();
|
rtems_libio_unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern rtems_interrupt_lock rtems_filesystem_mt_entry_lock_control;
|
||||||
|
|
||||||
#define rtems_filesystem_mt_entry_declare_lock_context( ctx ) \
|
#define rtems_filesystem_mt_entry_declare_lock_context( ctx ) \
|
||||||
rtems_interrupt_level ctx
|
rtems_interrupt_level ctx
|
||||||
|
|
||||||
#define rtems_filesystem_mt_entry_lock( ctx ) rtems_interrupt_disable( ctx )
|
#define rtems_filesystem_mt_entry_lock( ctx ) \
|
||||||
|
rtems_interrupt_lock_acquire( &rtems_filesystem_mt_entry_lock_control, ctx )
|
||||||
|
|
||||||
#define rtems_filesystem_mt_entry_unlock( ctx ) rtems_interrupt_enable( ctx )
|
#define rtems_filesystem_mt_entry_unlock( ctx ) \
|
||||||
|
rtems_interrupt_lock_release( &rtems_filesystem_mt_entry_lock_control, ctx )
|
||||||
|
|
||||||
static inline void rtems_filesystem_instance_lock(
|
static inline void rtems_filesystem_instance_lock(
|
||||||
const rtems_filesystem_location_info_t *loc
|
const rtems_filesystem_location_info_t *loc
|
||||||
|
|||||||
@@ -28,6 +28,9 @@
|
|||||||
#include <rtems/libio_.h>
|
#include <rtems/libio_.h>
|
||||||
#include <rtems/score/threaddispatch.h>
|
#include <rtems/score/threaddispatch.h>
|
||||||
|
|
||||||
|
rtems_interrupt_lock rtems_filesystem_mt_entry_lock_control =
|
||||||
|
RTEMS_INTERRUPT_LOCK_INITIALIZER;
|
||||||
|
|
||||||
static rtems_filesystem_global_location_t *deferred_released_global_locations;
|
static rtems_filesystem_global_location_t *deferred_released_global_locations;
|
||||||
|
|
||||||
rtems_filesystem_location_info_t *rtems_filesystem_location_copy(
|
rtems_filesystem_location_info_t *rtems_filesystem_location_copy(
|
||||||
|
|||||||
Reference in New Issue
Block a user