From 5ec3d217146dfd12bd4d0cde2fe25832fed5cad9 Mon Sep 17 00:00:00 2001 From: halcanary Date: Thu, 5 Jun 2014 08:16:34 -0700 Subject: remove ashmem from skia R=scroggo@google.com, djsollen@google.com Author: halcanary@google.com Review URL: https://codereview.chromium.org/319533004 --- src/utils/android/ashmem.cpp | 95 -------------------------------------------- src/utils/android/ashmem.h | 50 ----------------------- 2 files changed, 145 deletions(-) delete mode 100644 src/utils/android/ashmem.cpp delete mode 100644 src/utils/android/ashmem.h (limited to 'src/utils/android') diff --git a/src/utils/android/ashmem.cpp b/src/utils/android/ashmem.cpp deleted file mode 100644 index 1e512be2b1..0000000000 --- a/src/utils/android/ashmem.cpp +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright 2008 The Android Open Source Project - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -/* - * Implementation of the user-space ashmem API for devices, which have our - * ashmem-enabled kernel. See ashmem-sim.c for the "fake" tmp-based version, - * used by the simulator. - */ - -#include - -#include -#include -#include -#include -#include -#include - -#include - -#include // SkASSERT - -#define ASHMEM_DEVICE "/dev/ashmem" - -/* - * ashmem_create_region - creates a new ashmem region and returns the file - * descriptor, or <0 on error - * - * `name' is an optional label to give the region (visible in /proc/pid/maps) - * `size' is the size of the region, in page-aligned bytes - */ -int ashmem_create_region(const char *name, size_t size) -{ - int fd, ret; - - fd = open(ASHMEM_DEVICE, O_RDWR); - if (fd < 0) - return fd; - - if (name) { - char buf[ASHMEM_NAME_LEN]; - - strlcpy(buf, name, sizeof(buf)); - ret = ioctl(fd, ASHMEM_SET_NAME, buf); - if (ret < 0) - goto error; - } - - ret = ioctl(fd, ASHMEM_SET_SIZE, size); - if (ret < 0) - goto error; - - return fd; - -error: - close(fd); - return ret; -} - -int ashmem_set_prot_region(int fd, int prot) -{ - return ioctl(fd, ASHMEM_SET_PROT_MASK, prot); -} - -int ashmem_pin_region(int fd, size_t offset, size_t len) -{ - // Skia only calls this when offset=len=0. - struct ashmem_pin pin = { static_cast<__u32>(offset), - static_cast<__u32>(len) }; - SkASSERT(pin.offset == offset && pin.len == len); - return ioctl(fd, ASHMEM_PIN, &pin); -} - -int ashmem_unpin_region(int fd, size_t offset, size_t len) -{ - // Skia only calls this when offset=len=0. - struct ashmem_pin pin = { static_cast<__u32>(offset), - static_cast<__u32>(len) }; - SkASSERT(pin.offset == offset && pin.len == len); - return ioctl(fd, ASHMEM_UNPIN, &pin); -} - -int ashmem_get_size_region(int fd) -{ - return ioctl(fd, ASHMEM_GET_SIZE, NULL); -} - -int ashmem_purge_all_caches(int fd) -{ - return ioctl(fd, ASHMEM_PURGE_ALL_CACHES, NULL); -} diff --git a/src/utils/android/ashmem.h b/src/utils/android/ashmem.h deleted file mode 100644 index 94ffe1a33b..0000000000 --- a/src/utils/android/ashmem.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2008 The Android Open Source Project - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#ifndef _CUTILS_ASHMEM_H -#define _CUTILS_ASHMEM_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -int ashmem_create_region(const char *name, size_t size); -int ashmem_set_prot_region(int fd, int prot); - -/** - * @return ASHMEM_NOT_PURGED if the memory was not purged. - * ASHMEM_WAS_PURGED if the memory was purged. - * -1 on error. - */ -int ashmem_pin_region(int fd, size_t offset, size_t len); -int ashmem_unpin_region(int fd, size_t offset, size_t len); -int ashmem_get_size_region(int fd); -int ashmem_purge_all_caches(int fd); - -#ifdef __cplusplus -} -#endif - -#ifndef __ASHMEMIOC /* in case someone included too */ - -#define ASHMEM_NAME_LEN 256 - -#define ASHMEM_NAME_DEF "dev/ashmem" - -/* Return values from ASHMEM_PIN: Was the mapping purged while unpinned? */ -#define ASHMEM_NOT_PURGED 0 -#define ASHMEM_WAS_PURGED 1 - -/* Return values from ASHMEM_UNPIN: Is the mapping now pinned or unpinned? */ -#define ASHMEM_IS_UNPINNED 0 -#define ASHMEM_IS_PINNED 1 - -#endif /* ! __ASHMEMIOC */ - -#endif /* _CUTILS_ASHMEM_H */ -- cgit v1.2.3