mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-20 09:46:20 +00:00
parent
790a57041c
commit
ef8140cce5
@ -21,6 +21,9 @@ ifeq ($(filter-out $(SPECS),arm),)
|
||||
ARCH_SRC_INC_DIR += $(REP_DIR)/src/include/spec/arm_v7
|
||||
endif # arm_v7
|
||||
endif # arm
|
||||
ifeq ($(filter-out $(SPECS),arm_64),)
|
||||
ARCH_SRC_INC_DIR += $(REP_DIR)/src/include/spec/arm_64
|
||||
endif # arm_v7
|
||||
|
||||
#
|
||||
# The order of include-search directories is important, we need to look into
|
||||
|
31
repos/dde_linux/src/include/spec/arm_64/lx_emul/barrier.h
Normal file
31
repos/dde_linux/src/include/spec/arm_64/lx_emul/barrier.h
Normal file
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* \brief ARMv8-specific part of the Linux API emulation
|
||||
* \author Christian Prochaska
|
||||
* \date 2014-05-28
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2019 Genode Labs GmbH
|
||||
*
|
||||
* This file is distributed under the terms of the GNU General Public License
|
||||
* version 2.
|
||||
*/
|
||||
|
||||
/*******************
|
||||
** asm/barrier.h **
|
||||
*******************/
|
||||
|
||||
#define mb() asm volatile ("dsb ld": : :"memory")
|
||||
#define rmb() mb()
|
||||
#define wmb() asm volatile ("dsb st": : :"memory")
|
||||
|
||||
/*
|
||||
* This is the "safe" implementation as needed for a configuration
|
||||
* with bufferable DMA memory and SMP enabled.
|
||||
*/
|
||||
|
||||
#define smp_mb() asm volatile ("dmb ish": : :"memory")
|
||||
#define smp_rmb() smp_mb()
|
||||
#define smp_wmb() asm volatile ("dmb ishst": : :"memory")
|
||||
|
||||
static inline void barrier() { asm volatile ("": : :"memory"); }
|
Loading…
x
Reference in New Issue
Block a user