| # SPDX-License-Identifier: (GPL-2.0+ OR MIT) |
| |
| menuconfig AMLOGIC_MEMORY_EXTEND |
| bool "AMLOGIC memory extend support" |
| depends on AMLOGIC_DRIVER |
| depends on AMLOGIC_BREAK_GKI |
| depends on AMLOGIC_BREAK_GKI_20 |
| select SWIOTLB if !AMLOGIC_MEMORY_OPT |
| select DMA_RESTRICTED_POOL if !AMLOGIC_MEMORY_OPT |
| default n |
| help |
| Amlogic memory extend is drivers which extend for memory management |
| functions, can be used for memory debug or other features. |
| |
| config AMLOGIC_PAGE_TRACE |
| tristate "Amlogic trace for page allocate" |
| depends on KALLSYMS |
| depends on !NUMA_BALANCING |
| default n |
| help |
| Amlogic page trace will record function address of caller for page |
| allocate/free, according with allocate flags and order. trace |
| information is stored in a pre-allocated memory block. And can be shown |
| with allocate page count information of each caller functions from |
| /proc/pagetrace |
| |
| config AMLOGIC_PAGE_TRACE_INLINE |
| bool "page trace inline into page flags" |
| depends on AMLOGIC_BREAK_GKI_20 |
| depends on AMLOGIC_PAGE_TRACE |
| depends on 64BIT |
| depends on !KASAN_HW_TAGS && !KASAN_SW_TAGS |
| default n |
| help |
| This feature enable to inline page trace into high 32bits of |
| page->flags on 64 bit kernel. Because other total page flags |
| are less than 32bit, so It can help to save memory when |
| use page trace. But it conflict with KASAN tags, so when kasan |
| tags enabled, this feature will be auto disabled |
| |
| config AMLOGIC_SLAB_TRACE |
| bool "Amlogic trace for slab usage" |
| depends on AMLOGIC_BREAK_GKI_20 |
| depends on SLUB |
| depends on AMLOGIC_MEMORY_EXTEND |
| default n |
| help |
| Amlogic slab trace will record function address of caller for |
| slab allocate/free(kmalloc-xxxx only). trace information is |
| stored in rb tree. And can be shown with allocate size |
| information of each caller functions from /proc/slabtrace |
| |
| config AMLOGIC_CMA |
| bool "Amlogic CMA change" |
| depends on AMLOGIC_BREAK_GKI_20 |
| depends on AMLOGIC_MEMORY_EXTEND |
| depends on CMA |
| default n |
| help |
| Amlogic CMA optimization for cma alloc/free problems |
| Including policy change of CMA usage |
| |
| config AMLOGIC_MEM_DEBUG |
| bool "Amlogic debug mem" |
| depends on AMLOGIC_BREAK_GKI_20 |
| depends on AMLOGIC_MEMORY_EXTEND |
| default n |
| help |
| Memory debug which hacking to kernel mm source. |
| |
| config AMLOGIC_STACKPROTECTOR |
| bool "Amlogic stack protector" |
| depends on AMLOGIC_MEMORY_EXTEND |
| default n |
| help |
| This config is used to disable CONFIG_STACKPROTECTOR |
| if enabled AMLOGIC_VMAP. CONFIG_STACKPROTECTOR have |
| bad effect to save stack usage. |
| |
| config AMLOGIC_VMAP |
| bool "Amlogic kernel stack" |
| depends on AMLOGIC_BREAK_GKI_20 |
| depends on AMLOGIC_MEMORY_EXTEND |
| depends on AMLOGIC_STACKPROTECTOR |
| default n |
| help |
| This config is used to enable amlogic kernel stack |
| usage optimization with vmalloc. It depends on |
| AMLOGIC_MEMORY_EXTEND. This config only opened |
| on 64 bit platform. |
| |
| config AMLOGIC_USER_FAULT |
| bool "Amlogic user fault helper" |
| depends on AMLOGIC_BREAK_GKI_20 |
| depends on AMLOGIC_MEMORY_EXTEND |
| default n |
| help |
| show more information when catch user fault. Including: |
| memory around all registers |
| maps with pc/lr |
| pfn for all virtual address of registers |
| |
| config AMLOGIC_ZSTD |
| tristate "Amlogic zstd optimize" |
| depends on AMLOGIC_BREAK_GKI_20 |
| depends on AMLOGIC_MEMORY_EXTEND |
| default n |
| help |
| This config is an optimization of zstd, |
| in zram, to improve the compression ratio |
| and save memory |
| |
| config AMLOGIC_MEMORY_STAT |
| bool "Amlogic stat memory info" |
| depends on AMLOGIC_BREAK_GKI_20 |
| depends on AMLOGIC_MEMORY_EXTEND |
| default n |
| help |
| This config use to stat memory info, |
| include count free pages in migrate |
| list, print more memory information. |
| |
| config AMLOGIC_CMA_DIS |
| bool "Amlogic CMA disable change fot gki" |
| depends on AMLOGIC_MEMORY_EXTEND |
| depends on CMA |
| default n |
| help |
| Amlogic disable CMA optimization for gki needs. |
| |
| config AMLOGIC_MEMORY_OPT |
| bool "Amlogic memory optimization support" |
| depends on AMLOGIC_BREAK_GKI_20 |
| depends on AMLOGIC_MEMORY_EXTEND |
| default n |
| help |
| Amlogic memory optimization support, |
| distinguish from AMLOGIC_MEMORY_EXTEND, |
| because of gki requirements, enable in |
| aarch32. |
| |
| config AMLOGIC_PIN_LOCKED_FILE |
| bool "Amlogic pin locked file" |
| depends on AMLOGIC_BREAK_GKI_20 |
| depends on AMLOGIC_MEMORY_EXTEND |
| default n |
| help |
| If we pin a file in android, the whole daa of this |
| file will be loaded to DDR, but most of these data |
| may not be used, this caused memory waste. |
| delay mark mlocked flags for unevictable pages until |
| it has been faulted. |
| |
| config AMLOGIC_PIN_LOCKED_FILE_V2 |
| bool "Amlogic pin locked file new version" |
| depends on AMLOGIC_BREAK_GKI_20 |
| depends on AMLOGIC_MEMORY_EXTEND |
| default n |
| help |
| If we pin a file in android, the whole daa of this |
| file will be loaded to DDR, but most of these data |
| may not be used, this caused memory waste. |
| delay mark mlocked flags for unevictable pages until |
| it has been faulted. |
| |
| config AMLOGIC_PCIE_DMA_OPS |
| tristate "Amlogic PCIE dma_ops" |
| depends on AMLOGIC_MEMORY_EXTEND |
| default n |
| help |
| custom a dma_ops to limit the memory for PCIE device |
| operations to a fixed area |
| |
| config AMLOGIC_FAKE_SMMU |
| tristate "Amlogic fake smmu" |
| depends on AMLOGIC_PCIE_DMA_OPS |
| depends on AMLOGIC_MEMORY_EXTEND |
| default n |
| help |
| Register a fake smmu device to replace ops for 64bit |
| |