
IA64 atomic support was deleted some time ago. Some of the references to the architecture were not removed when the atomic support was. This commit removes those lingering references. IA64 will continue to work unsupported with the built-in atomics. Signed-off-by: Nathan Hjelm <hjelmn@google.com>
95 строки
2.5 KiB
C
95 строки
2.5 KiB
C
/*
|
|
* Copyright (c) 2011-2012 IBM Corporation. All rights reserved.
|
|
* Copyright (c) 2016 Los Alamos National Security, LLC. All rights
|
|
* reserved.
|
|
* Copyright (c) 2017 Research Organization for Information Science
|
|
* and Technology (RIST). All rights reserved.
|
|
* Copyright (c) 2020 Google, LLC. All rights reserved.
|
|
* $COPYRIGHT$
|
|
*/
|
|
|
|
/** @file
|
|
*
|
|
* Cross Memory Attach syscall definitions.
|
|
*
|
|
* These are only needed temporarily until these new syscalls
|
|
* are incorporated into glibc
|
|
*/
|
|
|
|
#ifndef OPAL_SYS_CMA_H
|
|
#define OPAL_SYS_CMA_H 1
|
|
|
|
#if !defined(OPAL_ASSEMBLY_ARCH)
|
|
/* need opal_config.h for the assembly architecture */
|
|
#include "opal_config.h"
|
|
#endif
|
|
|
|
#include "opal/sys/architecture.h"
|
|
|
|
#ifdef HAVE_SYS_TYPES_H
|
|
#include <sys/types.h>
|
|
#endif
|
|
|
|
#ifdef HAVE_UNISTD_H
|
|
#include <sys/unistd.h>
|
|
#endif
|
|
|
|
#ifdef __linux__
|
|
|
|
/* Cross Memory Attach is so far only supported under linux */
|
|
|
|
#if OPAL_ASSEMBLY_ARCH == OPAL_X86_64
|
|
#define __NR_process_vm_readv 310
|
|
#define __NR_process_vm_writev 311
|
|
#elif OPAL_ASSEMBLY_ARCH == OPAL_IA32
|
|
#define __NR_process_vm_readv 347
|
|
#define __NR_process_vm_writev 348
|
|
#elif OPAL_ASSEMBLY_ARCH == OPAL_POWERPC32
|
|
#define __NR_process_vm_readv 351
|
|
#define __NR_process_vm_writev 352
|
|
#elif OPAL_ASSEMBLY_ARCH == OPAL_POWERPC64
|
|
#define __NR_process_vm_readv 351
|
|
#define __NR_process_vm_writev 352
|
|
#elif OPAL_ASSEMBLY_ARCH == OPAL_ARM
|
|
|
|
#define __NR_process_vm_readv 376
|
|
#define __NR_process_vm_writev 377
|
|
|
|
#elif OPAL_ASSEMBLY_ARCH == OPAL_ARM64
|
|
|
|
/* ARM64 uses the asm-generic syscall numbers */
|
|
|
|
#define __NR_process_vm_readv 270
|
|
#define __NR_process_vm_writev 271
|
|
|
|
#else
|
|
#error "Unsupported architecture for process_vm_readv and process_vm_writev syscalls"
|
|
#endif
|
|
|
|
|
|
static inline ssize_t
|
|
process_vm_readv(pid_t pid,
|
|
const struct iovec *lvec,
|
|
unsigned long liovcnt,
|
|
const struct iovec *rvec,
|
|
unsigned long riovcnt,
|
|
unsigned long flags)
|
|
{
|
|
return syscall(__NR_process_vm_readv, pid, lvec, liovcnt, rvec, riovcnt, flags);
|
|
}
|
|
|
|
static inline ssize_t
|
|
process_vm_writev(pid_t pid,
|
|
const struct iovec *lvec,
|
|
unsigned long liovcnt,
|
|
const struct iovec *rvec,
|
|
unsigned long riovcnt,
|
|
unsigned long flags)
|
|
{
|
|
return syscall(__NR_process_vm_writev, pid, lvec, liovcnt, rvec, riovcnt, flags);
|
|
}
|
|
|
|
#endif /* __linux__ */
|
|
|
|
#endif /* OPAL_SYS_CMA_H */
|