2011-11-30 12:18:14 +01:00
|
|
|
menu "Android"
|
|
|
|
|
|
|
|
config ANDROID
|
|
|
|
bool "Android Drivers"
|
|
|
|
---help---
|
|
|
|
Enable support for various drivers needed on the Android platform
|
|
|
|
|
|
|
|
if ANDROID
|
|
|
|
|
|
|
|
config ANDROID_BINDER_IPC
|
|
|
|
bool "Android Binder IPC Driver"
|
2013-09-02 11:11:57 +02:00
|
|
|
depends on MMU
|
2011-11-30 12:18:14 +01:00
|
|
|
default n
|
2012-12-22 00:00:46 +01:00
|
|
|
---help---
|
|
|
|
Binder is used in Android for both communication between processes,
|
|
|
|
and remote method invocation.
|
|
|
|
|
|
|
|
This means one Android process can call a method/routine in another
|
|
|
|
Android process, using Binder to identify, invoke and pass arguments
|
|
|
|
between said processes.
|
2011-11-30 12:18:14 +01:00
|
|
|
|
2014-02-21 23:40:26 +01:00
|
|
|
config ANDROID_BINDER_IPC_32BIT
|
2014-02-26 23:29:07 +01:00
|
|
|
bool
|
2014-02-21 23:40:27 +01:00
|
|
|
depends on !64BIT && ANDROID_BINDER_IPC
|
|
|
|
default y
|
2014-02-21 23:40:26 +01:00
|
|
|
---help---
|
|
|
|
The Binder API has been changed to support both 32 and 64bit
|
|
|
|
applications in a mixed environment.
|
|
|
|
|
|
|
|
Enable this to support an old 32-bit Android user-space (v4.4 and
|
|
|
|
earlier).
|
|
|
|
|
|
|
|
Note that enabling this will break newer Android user-space.
|
|
|
|
|
ashmem: Anonymous shared memory subsystem
The anonymous shared memory (ashmem) subsystem provides a
Unix-y,file-based shared memory interface to user-space. It
works like anonymous memory (e.g. mmapping fd=0) except if
you share the file descriptor via the usual means, you will
share the mapping. The shared memory can be accessed via both
mmap or file I/O. The backing store is a simple shmem file.
Additionally, ashmem introduces the concept of page pinning.
Pinned pages (the default) behave like any anonymous memory.
Unpinned pages are available to the kernel for eviction during
VM pressure. When repinning the pages, the return value
instructs user-space as to any eviction. In this manner,
user-space processes may implement caching and similar
resource management that efficiently integrates with kernel
memory management.
Signed-off-by: Robert Love <rlove@google.com>
ashmem: Don't install fault handler for private mmaps.
Ashmem is used to create named private heaps. If this heap is backed
by a tmpfs file it will allocate two pages for every page touched.
In 2.6.27, the extra page would later be freed, but 2.6.29 does not
scan anonymous pages when running without swap so the memory is not
freed while the file is referenced. This change changes the behavior
of private ashmem mmaps to match /dev/zero instead tmpfs.
Signed-off-by: Arve Hjønnevåg <arve@android.com>
ashmem: Add common prefix to name reported in /proc/pid/maps
Signed-off-by: Arve Hjønnevåg <arve@android.com>
ashmem: don't require a page aligned size
This makes ashmem more similar to shmem and mmap, by
not requiring the specified size to be page aligned,
instead rounding it internally as needed.
Signed-off-by: Marco Nelissen <marcone@android.com>
[jstultz: Improved commit subject and included patch description
from rlove. Also moved ashmem files to staging dir, and reworked
code to avoid touching mm/shmem.c while we're in staging.]
CC: Brian Swetland <swetland@google.com>
CC: Colin Cross <ccross@android.com>
CC: Arve Hjønnevåg <arve@android.com>
CC: Dima Zavin <dima@android.com>
CC: Robert Love <rlove@google.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-21 01:49:48 +01:00
|
|
|
config ASHMEM
|
|
|
|
bool "Enable the Anonymous Shared Memory Subsystem"
|
|
|
|
default n
|
2013-03-14 10:41:39 +01:00
|
|
|
depends on SHMEM
|
2012-12-22 00:00:46 +01:00
|
|
|
---help---
|
ashmem: Anonymous shared memory subsystem
The anonymous shared memory (ashmem) subsystem provides a
Unix-y,file-based shared memory interface to user-space. It
works like anonymous memory (e.g. mmapping fd=0) except if
you share the file descriptor via the usual means, you will
share the mapping. The shared memory can be accessed via both
mmap or file I/O. The backing store is a simple shmem file.
Additionally, ashmem introduces the concept of page pinning.
Pinned pages (the default) behave like any anonymous memory.
Unpinned pages are available to the kernel for eviction during
VM pressure. When repinning the pages, the return value
instructs user-space as to any eviction. In this manner,
user-space processes may implement caching and similar
resource management that efficiently integrates with kernel
memory management.
Signed-off-by: Robert Love <rlove@google.com>
ashmem: Don't install fault handler for private mmaps.
Ashmem is used to create named private heaps. If this heap is backed
by a tmpfs file it will allocate two pages for every page touched.
In 2.6.27, the extra page would later be freed, but 2.6.29 does not
scan anonymous pages when running without swap so the memory is not
freed while the file is referenced. This change changes the behavior
of private ashmem mmaps to match /dev/zero instead tmpfs.
Signed-off-by: Arve Hjønnevåg <arve@android.com>
ashmem: Add common prefix to name reported in /proc/pid/maps
Signed-off-by: Arve Hjønnevåg <arve@android.com>
ashmem: don't require a page aligned size
This makes ashmem more similar to shmem and mmap, by
not requiring the specified size to be page aligned,
instead rounding it internally as needed.
Signed-off-by: Marco Nelissen <marcone@android.com>
[jstultz: Improved commit subject and included patch description
from rlove. Also moved ashmem files to staging dir, and reworked
code to avoid touching mm/shmem.c while we're in staging.]
CC: Brian Swetland <swetland@google.com>
CC: Colin Cross <ccross@android.com>
CC: Arve Hjønnevåg <arve@android.com>
CC: Dima Zavin <dima@android.com>
CC: Robert Love <rlove@google.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-21 01:49:48 +01:00
|
|
|
The ashmem subsystem is a new shared memory allocator, similar to
|
|
|
|
POSIX SHM but with different behavior and sporting a simpler
|
|
|
|
file-based API.
|
|
|
|
|
2012-12-22 00:00:46 +01:00
|
|
|
It is, in theory, a good memory allocator for low-memory devices,
|
|
|
|
because it can discard shared memory units when under memory pressure.
|
|
|
|
|
2011-11-30 12:18:14 +01:00
|
|
|
config ANDROID_LOGGER
|
|
|
|
tristate "Android log driver"
|
|
|
|
default n
|
2012-12-22 00:00:46 +01:00
|
|
|
---help---
|
|
|
|
This adds support for system-wide logging using four log buffers.
|
|
|
|
|
|
|
|
These are:
|
|
|
|
|
|
|
|
1: main
|
|
|
|
2: events
|
|
|
|
3: radio
|
|
|
|
4: system
|
|
|
|
|
|
|
|
Log reading and writing is performed via normal Linux reads and
|
|
|
|
optimized writes. This optimization avoids logging having too
|
|
|
|
much overhead in the system.
|
2011-11-30 12:18:14 +01:00
|
|
|
|
|
|
|
config ANDROID_TIMED_OUTPUT
|
|
|
|
bool "Timed output class driver"
|
|
|
|
default y
|
|
|
|
|
|
|
|
config ANDROID_TIMED_GPIO
|
|
|
|
tristate "Android timed gpio driver"
|
2013-03-28 12:34:56 +01:00
|
|
|
depends on GPIOLIB && ANDROID_TIMED_OUTPUT
|
2011-11-30 12:18:14 +01:00
|
|
|
default n
|
|
|
|
|
|
|
|
config ANDROID_LOW_MEMORY_KILLER
|
|
|
|
bool "Android Low Memory Killer"
|
|
|
|
---help---
|
2012-12-22 00:00:46 +01:00
|
|
|
Registers processes to be killed when memory is low
|
2011-11-30 12:18:14 +01:00
|
|
|
|
2012-04-20 21:31:47 +02:00
|
|
|
config ANDROID_INTF_ALARM_DEV
|
2014-06-13 08:19:43 +02:00
|
|
|
tristate "Android alarm driver"
|
2012-02-09 23:24:36 +01:00
|
|
|
depends on RTC_CLASS
|
2012-02-09 23:24:37 +01:00
|
|
|
default n
|
2012-12-22 00:00:46 +01:00
|
|
|
---help---
|
2012-02-09 23:24:36 +01:00
|
|
|
Provides non-wakeup and rtc backed wakeup alarms based on rtc or
|
|
|
|
elapsed realtime, and a non-wakeup alarm on the monotonic clock.
|
2012-04-20 21:31:47 +02:00
|
|
|
Also exports the alarm interface to user-space.
|
2012-02-09 23:24:36 +01:00
|
|
|
|
2013-03-01 01:42:57 +01:00
|
|
|
config SYNC
|
|
|
|
bool "Synchronization framework"
|
|
|
|
default n
|
|
|
|
select ANON_INODES
|
2014-07-01 12:57:31 +02:00
|
|
|
select DMA_SHARED_BUFFER
|
2013-09-03 14:05:05 +02:00
|
|
|
---help---
|
2013-03-01 01:42:57 +01:00
|
|
|
This option enables the framework for synchronization between multiple
|
|
|
|
drivers. Sync implementations can take advantage of hardware
|
|
|
|
synchronization built into devices like GPUs.
|
|
|
|
|
2013-03-01 01:42:58 +01:00
|
|
|
config SW_SYNC
|
|
|
|
bool "Software synchronization objects"
|
|
|
|
default n
|
|
|
|
depends on SYNC
|
2013-09-03 14:05:05 +02:00
|
|
|
---help---
|
2013-03-01 01:42:58 +01:00
|
|
|
A sync object driver that uses a 32bit counter to coordinate
|
|
|
|
syncrhronization. Useful when there is no hardware primitive backing
|
|
|
|
the synchronization.
|
|
|
|
|
|
|
|
config SW_SYNC_USER
|
|
|
|
bool "Userspace API for SW_SYNC"
|
|
|
|
default n
|
|
|
|
depends on SW_SYNC
|
2013-09-03 14:05:05 +02:00
|
|
|
---help---
|
2013-03-01 01:42:58 +01:00
|
|
|
Provides a user space API to the sw sync object.
|
|
|
|
*WARNING* improper use of this can result in deadlocking kernel
|
|
|
|
drivers from userspace.
|
|
|
|
|
2013-12-14 04:38:38 +01:00
|
|
|
source "drivers/staging/android/ion/Kconfig"
|
|
|
|
|
2011-11-30 12:18:14 +01:00
|
|
|
endif # if ANDROID
|
|
|
|
|
|
|
|
endmenu
|