diff options
author | yalei wang <wylandrea@gmail.com> | 2018-08-27 02:21:23 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@fd.io> | 2018-08-27 02:21:23 +0000 |
commit | 496c79e387313825c37b303b1c9fc123e34e6165 (patch) | |
tree | 466fbc34feba5c98cfb3dae535eb6f04e41886c0 /src/framework/common/include/arch | |
parent | ea6eab2f7fb9e849c719fa7374616cc1d6b736a3 (diff) | |
parent | b63ec47559ad7b90f348dd733b805d78d156893d (diff) |
Merge "Feat: add new share memory module"
Diffstat (limited to 'src/framework/common/include/arch')
-rw-r--r-- | src/framework/common/include/arch/x86/dmm_atomic.h | 21 | ||||
-rw-r--r-- | src/framework/common/include/arch/x86/dmm_barrier.h | 21 | ||||
-rw-r--r-- | src/framework/common/include/arch/x86/dmm_pause.h | 30 | ||||
-rw-r--r-- | src/framework/common/include/arch/x86/dmm_rwlock.h | 21 | ||||
-rw-r--r-- | src/framework/common/include/arch/x86/dmm_spinlock.h | 21 |
5 files changed, 114 insertions, 0 deletions
diff --git a/src/framework/common/include/arch/x86/dmm_atomic.h b/src/framework/common/include/arch/x86/dmm_atomic.h new file mode 100644 index 0000000..fae99c2 --- /dev/null +++ b/src/framework/common/include/arch/x86/dmm_atomic.h @@ -0,0 +1,21 @@ +/* +* +* Copyright (c) 2018 Huawei Technologies Co.,Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at: +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +#ifndef _DMM_ATOMIC_H__ARCH_X86_ +#define _DMM_ATOMIC_H__ARCH_X86_ + +#include "generic/dmm_atomic.h" + +#endif /* #ifndef _DMM_ATOMIC_H__ARCH_X86_ */ diff --git a/src/framework/common/include/arch/x86/dmm_barrier.h b/src/framework/common/include/arch/x86/dmm_barrier.h new file mode 100644 index 0000000..bf53650 --- /dev/null +++ b/src/framework/common/include/arch/x86/dmm_barrier.h @@ -0,0 +1,21 @@ +/* +* +* Copyright (c) 2018 Huawei Technologies Co.,Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at: +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +#ifndef _DMM_BARRIER_H__ARCH_X86_ +#define _DMM_BARRIER_H__ARCH_X86_ + +#include "generic/dmm_barrier.h" + +#endif /* #ifndef _DMM_BARRIER_H__ARCH_X86_ */ diff --git a/src/framework/common/include/arch/x86/dmm_pause.h b/src/framework/common/include/arch/x86/dmm_pause.h new file mode 100644 index 0000000..56c60f0 --- /dev/null +++ b/src/framework/common/include/arch/x86/dmm_pause.h @@ -0,0 +1,30 @@ +/* +* +* Copyright (c) 2018 Huawei Technologies Co.,Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at: +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +#ifndef _DMM_PAUSE_H_ +#define _DMM_PAUSE_H_ + +#include <emmintrin.h> + +inline static void +dmm_pause (void) +{ + _mm_pause (); +} + +#define DMM_PAUSE_WHILE(cond) do { dmm_pause(); } while (!!(cond)) +#define DMM_WHILE_PAUSE(cond) do { while (!!(cond)) dmm_pause(); } while (0) + +#endif /* #ifndef _DMM_PAUSE_H_ */ diff --git a/src/framework/common/include/arch/x86/dmm_rwlock.h b/src/framework/common/include/arch/x86/dmm_rwlock.h new file mode 100644 index 0000000..0c31329 --- /dev/null +++ b/src/framework/common/include/arch/x86/dmm_rwlock.h @@ -0,0 +1,21 @@ +/* +* +* Copyright (c) 2018 Huawei Technologies Co.,Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at: +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +#ifndef _DMM_RWLOCK_H__ARCH_X86_ +#define _DMM_RWLOCK_H__ARCH_X86_ + +#include "generic/dmm_rwlock.h" + +#endif /* #ifndef _DMM_RWLOCK_H__ARCH_X86_ */ diff --git a/src/framework/common/include/arch/x86/dmm_spinlock.h b/src/framework/common/include/arch/x86/dmm_spinlock.h new file mode 100644 index 0000000..69ed9a6 --- /dev/null +++ b/src/framework/common/include/arch/x86/dmm_spinlock.h @@ -0,0 +1,21 @@ +/* +* +* Copyright (c) 2018 Huawei Technologies Co.,Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at: +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +#ifndef _DMM_SPINLOCK_H__ARCH_X86_ +#define _DMM_SPINLOCK_H__ARCH_X86_ + +#include "generic/dmm_spinlock.h" + +#endif /* #ifndef _DMM_SPINLOCK_H__ARCH_X86_ */ |