[Galaxy S Plus I9001 Android Development] Christopher83:
​

In this thread you may find my customized kernel 3.4.x for JB 4.3 rom (CM 10.2 and derivatives) that use ION+PMEM ADSP memory allocations.

Of course, your feedback, as always, are welcome and certainly valuable.

The main features are the following:

- Kernel 3.4.x

- Kernel based on more updated jb_2.5.5 branch of CAF (Code Aurora Forum)

- Sources synched with cm-10.2 repo branch of DevCon Team

- Built with my custom Linaro 4.9.1-2014.06 toolchain optimized for Cortex-A8

- Built with Cortex-A8 and NEON VFP optimization flags (both kernel and modules)

- Built with -O3 optimization flag (both kernel and modules)

- CPU overclockable up to 1824 MHz

- CPU frequencies undervolted (UV version) or extremely undervolted (EXUV version)

- CPU voltage control VDD sys interface (click for more details)

- Dynamic memory allocation of MM ION heap through CMA (Contiguous Memory Allocator)

- Dynamic memory allocation of PMEM ADSP heap through CMA (Contiguous Memory Allocator)

- 398MB of free RAM

- Init.d support

- Fast Charge support (default disabled, click for more details)

- Battery Life eXtender support (default disabled, click for more details)

- Ram Console support (click for more details)

- Backlight Notification v10 (BLNv10) (click for more details)

- USB OTG support (if also implemented on rom side)

- Customizable vibration intensity (click for more details)

- Lowered display panel voltage

- Lowered touchscreen voltage

- Lowered wifi voltage

- Lowered swappiness (60 -> 45)

- Increased CPU frequency during boot

- Optimized AES and SHA1 routines for ARM cpu architecture

- Fixed 100% battery notification after charger unplug

- Increased audio volume on board side

- Con Kolivas' CK3 Tweaks

- Optimized SLUB memory allocator

- Optimized ARM RWSEM (read/write semaphore) algorithm

- Optimized asynchronous I/O latency on solid state disks

- Disabled Gentle Fair Sleepers for better UI performance

- Filesystem dynamic read-ahead (based on disk size)

- CIFS support on boot

- Memory compaction

- Dynamic compression of clean pagecache pages

- Fast Random generator (frandom) support (click for more details)

- New display drivers from Samsung Galaxy SII

- Updated light sensor driver and display driver light sensor changes

- Updated sensor drivers

- Phantom key presses filter (click for more details)

- Dynamic FSync v1.2 (click for more details)

- Dynamic dirty page writebacks (click for more details)

- VM tweaks for performance and less battery consumption

- Revised LowMemoryKiller parameters for better performance (click for more details)

- Customizable timeout for touchkeys backlight after a key press or touchscreen press (click for more details)

- Customizable activation status of touchkeys backlight on touchscreen press (click for more details)

- Timer slack controller (click for more details)

- Dynamic management of the minimal timer slack value during suspend/resume (click for more details)

- LowMemoryKiller management of not killable processes (click for more details)

- exFAT support

- Additional TCP Congestion algorithms

- Updated ZRAM module

Available CPU governors:

- Adaptive

- BrazilianWax

- Conservative

- Hyper

- Intellidemand

- Interactive

- InteractiveX

- LionHeart

- LulzActive

- OnDemand (default)

- OnDemandX

- Performance

- Powersave

- SmartAssV2

Available I/O schedulers:

- BFQ

- CFQ

- Deadline

- Fiops

- Noop

- ROW

- SIO (default)

- V(R)

Kernel Downloads for JB 4.3 ION+PMEM ADSP:

K^Kernel JB-4.3 Mediafire Folder

[QRCODE]https://www.mediafire.com/folder/gv7oqxffbj6a6[/QRCODE]

- v1.4 -

for ADC CM 10.2 ION+PMEM ADSP Release 5

and the other roms based on this latest CM 10.2
​

Howto install the kernel:

1) Download the preferred kernel zip file to sdcard or external sdcard

2) Reboot to recovery mode

3) Flash the kernel zip file

4) Wipe cache and dalvik cache if you're coming from another kernel

5) Reboot the system

6) Be sure that

KSM is not active

inside Settings -> Performance -> Memory management -> Kernel samepage merging

Kernel sources (on GitHub):

Development branch of K^Kernel 3.4 for JB 4.3 ION+PMEM ADSP

​

Useful info:

- Special features and sysfs settings

- Frequently asked questions

​

Rom and kernel 3.4.x known problems:

- JB 4.3 needs a lot of free ram, it's a bit unstable on our device, it's better to use JB 4.2.2 or KK 4.4

Tables:

​

Changelog:

[B]12/07/2014 - K^Kernel 3.4 v1.4 for JB 4.3 ION+PMEM ADSP[/B]
- Kernel 3.4.98
- Sources synched with cm-10.2 branch of DevCon Team
- Built with my latest custom Linaro 4.9.1-2014.06 toolchain optimized for Cortex-A8
- misc: bln: Cancel pending blinking/static light works on lights off (credits to Christopher83)
- media: Init the reserved fields of struct media_link_desc (credits to Deva Ramasubramanian)
- power: don't wait for timeout if sys_sync completes early (credits to Srinivasarao P)
- block: bfq: Squashed update from BFQ-v7r1 to BFQ-v7r2 (credits to arco68)
- cpufreq: Fix broken uevents for cpufreq governor and cpu devices (credits to myfluxi)
- msm_fb: Register frame buffer device for device shutdown (credits to raghavendra ambadas)
- cpufreq: interactive: delete timers for GOV_START (credits to Shridhar Rasal)
- cpufreq: interactive: restructure CPUFREQ_GOV_LIMITS (credits to Badhri Jagan Sridharan)
- cpufreq: interactive: turn boost_pulse off on boost off (credits to Ruchi Kandoi)
- prctl: adds PR_SET_TIMERSLACK_PID for setting timer slack of an arbitrary thread. (credits to Ruchi Kandoi)
- Power: Add guard condition for maximum wakeup reasons (credits to Ruchi Kandoi)
- Power: Changes the permission to read only for sysfs file /sys/kernel/wakeup_reasons/last_resume_reason (credits to Ruchi Kandoi)
- net: ipv4: current group_info should be put after using. (credits to JP Abgrall)
- HID: add missing hid usages mappings (credits to Olivier Gay)
- selinux: Report permissive mode in avc: denied messages. (credits to Stephen Smalley)
- ARM: fix executability of CMA mappings (credits to Russell King)
- ARM: dma-mapping: don't allow DMA mappings to be marked executable (credits to Russell King)
- msm: display: clear sec_active when the pipe is not for secure (credits to Ken Zhang)
- lib/scatterlist: error handling in __sg_alloc_table() (credits to Dan Carpenter)
- CHROMIUM: mm: Fix calculation of dirtyable memory (credits to Puneet Kumar)
- staging: android: ashmem: Avoid deadlock with mmap/shrink (credits to Laura Abbott)
- ARM: mm: remove IPI broadcasting on ASID rollover (credits to Will Deacon)
- genalloc: Correct nbytes calculation on long boundary (credits to Sunil Khatri)
- block: bfq: Squashed update from BFQ-v7r2 to BFQ-v7r3 (credits to arco68)
- Revert "netfilter: xt_IDLETIMER: Rename INTERFACE to LABEL in netlink notification." (credits to Christopher83)
- nf: IDLETIMER: time-stamp and suspend/resume handling. (credits to Ruchi Kandoi)
- nf: Remove compilation error caused by e254d2c28c880da28626af6d53b7add5f7d6afee (credits to Ruchi Kandoi)
- Revert "blktrace: fix accounting of partially completed requests" (credits to Christopher83)
- ksm: Provide support to use deferred timers for scanner thread (credits to Chintan Pandya)
- net: ipv6: ping: Use socket mark in routing lookup (credits to Lorenzo Colitti)
- net: ipv6: autoconf routes into per-device tables (credits to Lorenzo Colitti)
- net: add a sysctl to reflect the fwmark on replies (credits to Lorenzo Colitti)
- net: support marking accepting TCP sockets (credits to Lorenzo Colitti)
- radio: iris: Checking if driver's buffer is large enough. (credits to Satish Kodishala)
- misc: qfpfuse: Fix overflow condition. (credits to Venkatesh Yadav Abbarapu)
- misc: qfpfuse: validate ioctl input parameters. (credits to Venkatesh Yadav Abbarapu)
- mmc: core: enable eMMC5.0 card detection (credits to Subhash Jadavani)
- audio: Change to set the USB switch state correctly (credits to Shreyas Nagasandra Chandrasekhar)
- block: bfq: Squashed update from BFQ-v7r3 to BFQ-v7r4 (credits to arco68)
- futex: Prevent attaching to kernel threads (credits to Thomas Gleixner)
- futex: Add another early deadlock detection check (credits to Thomas Gleixner)
- futex-prevent-requeue-pi-on-same-futex.patch futex: Forbid uaddr == uaddr2 in futex_requeue(..., requeue_pi=1) (credits to Thomas Gleixner)
- futex: Validate atomic acquisition in futex_lock_pi_atomic() (credits to Thomas Gleixner)
- futex: Always cleanup owner tid in unlock_pi (credits to Thomas Gleixner)
- futex: Make lookup_pi_state more robust (credits to Thomas Gleixner)
- mach-msm: Use ION_CP_MM_HEAP_ID instead of ION_CAMERA_HEAP_ID (credits to Christopher83)
- Revert "msm: pm2: Setup memory for save/restore cpu registers early" (credits to Christopher83)
- msm7x30: Use CMA for MM ION heap (credits to Christopher83)
- msm7x30: Update defconfigs to enable CMA (credits to Christopher83)
- mm: try_to_unmap_cluster() should lock_page() before mlocking (credits to Vlastimil Babka)
- msm:vidc: Amend error checks on ION API failures (credits to Maheshwar Ajja)
- ion: cma: Add debug heap ops for CMA heap (credits to Chintan Pandya)
- ancora : update board (credits to madridii)
- ancora: Increased audio volume on board side (credits to madridii)
- ancora: Lowered WIFI voltage (credits to madridii)
- ancora: Lowered display panel voltage (credits to madridii)
- ancora: High Memory (credits to madridii)
- ancora: Lowered Vibetonz voltage (credits to madridii)
- ancora_tmo : update board (credits to doadin)
- ancora_tmo: Lowered WIFI voltage (credits to doadin)
- ancora_tmo: Lowered display panel voltage (credits to doadin)
- ancora_tmo: Lowered Vibetonz voltage (credits to doadin)
- ariesve: Revised high memory configuration descriptions (credits to Christopher83)
- msm7x30: Update default and custom configs (credits to Christopher83)
- ancora: High memory allocations (credits to Christopher83)
- ancora: Add custom defconfigs (credits to Christopher83)
- mmc: msm_sdcc: Advertise erase capability for ancora (credits to arco68)
- gpu: ion: Sync CMA caching logic with carveout heap. (credits to Blefish)
- defconfigs: Build crypto devices as modules (credits to arco68)
- msm: dma: Moving queue_work() function within spinlock (credits to Utsab Bose)
- sched: Reset rq->next_interval before going idle (credits to Srivatsa Vaddagiri)
- sched: re-calculate a cpu's next_balance point upon sched domain changes (credits to Srivatsa Vaddagiri)
- ARM: 7486/1: sched_clock: update epoch_cyc on resume (credits to Colin Cross)
- ARM: 7565/1: sched: stop sched_clock() during suspend (credits to Felipe Balbi 2)
- sched: Set MC (multi-core) sched domain's busy_factor attribute to 1 (credits to Srivatsa Vaddagiri)
- power: ancora_battery: Remove trailing spaces (credits to Christopher83)
- power: ancora_tmo_battery: Remove trailing spaces (credits to Christopher83)
- power: apache_battery: Remove trailing spaces (credits to Christopher83)
- power: ancora_tmo_battery: Add Battery Life eXtender (BLX) support (credits to Christopher83)
- power: apache_battery: Add Battery Life eXtender (BLX) support (credits to Christopher83)
- power: apache_battery: 100% battery notification after charger unplug (credits to Christopher83)
- power: ancora_battery: Increase battery check interval from 5 seconds to 15 seconds (credits to Christopher83)
- power: ancora_tmo_battery: Increase battery check interval from 5 seconds to 15 seconds (credits to Christopher83)
- power: apache_battery: Increase battery check interval from 5 seconds to 15 seconds (credits to Christopher83)
- ancora_tmo: High memory configurations (credits to Christopher83)
- apache: High memory configurations (credits to Christopher83)
- msm7x30: Better manage cpu frequencies for MSM8255 and MSM8255T (credits to Christopher83)
- ancora_tmo: Add custom defconfigs (credits to Christopher83)
- apache: Add custom defconfigs (credits to Christopher83)
- arm: Add a config option to use GLibC memcpy and memmove versions (credits to Christopher83)
- msm7x30: Update defconfigs to use GLibC versions of memcpy and memmove (credits to Christopher83)
- mmc: msm_sdcc: Advertise erase capability for ancora_tmo and apache (credits to arco68)
- ARM: 7693/1: mm: clean-up in order to reduce to call kmap_high_get() (credits to Joonsoo Kim)
- mm: Don't use CMA page for file cache (credits to Laura Abbott)
- mm/page_alloc.c: fix watermark check in __zone_watermark_ok() (credits to Tomasz Stanislawski)
- mm: cma: fix alignment requirements for contiguous regions (credits to Marek Szyprowski)
- drivers: cma: represent physical addresses as phys_addr_t (credits to Vitaly Andrianov)
- drivers: dma-contiguous: refactor dma_alloc_from_contiguous() (credits to Michal Nazarewicz)
- mm: cma: fix condition check when setting global cma area (credits to Marek Szyprowski)
- drivers: dma-contiguous: clean source code and prepare for device tree (credits to Marek Szyprowski)
- drivers: dma-contiguous: add initialization from device tree (credits to Marek Szyprowski)
- cma: Remove __init annotations from data structures (credits to Laura Abbott)
- cma: Fix up devicetree bindings (credits to Laura Abbott)
- cma: Add support for associating regions by name (credits to Laura Abbott)
- cma: Remove restriction on region names (credits to Laura Abbott)
- cma: use MEMBLOCK_ALLOC_ANYWHERE for placing CMA regions (credits to Laura Abbott)
- cma: Add API to get the start address of a CMA region (credits to Laura Abbott)
- cma: Remove potential deadlock situation (credits to Laura Abbott)
- cma: Add support for memory limits (credits to Laura Abbott)
- cma: Make locking finer grained (credits to Laura Abbott)
- cma: Drop the right mutex (credits to Laura Abbott)
- dma-contiguous: Return 'zero' pfn in case of error (credits to Chintan Pandya)
- ARM: dma-mapping: fix incorrect freeing of atomic allocations (credits to Aaro Koskinen)
- mm: vmalloc: use const void * for caller argument (credits to Marek Szyprowski)
- ARM: dma-mapping: remove custom consistent dma region (credits to Marek Szyprowski)
- mm: push lru index into shrink_[in]active_list() (credits to Konstantin Khlebnikov)
- swap: add per-partition lock for swapfile (credits to Shaohua Li)
- mm: vmscan: fix do_try_to_free_pages() livelock (credits to Lisa Du)
- mm: vmscan: remove lumpy reclaim (credits to Mel Gorman)
- mm: vmscan: do not stall on writeback during memory compaction (credits to Mel Gorman)
- mm: vmscan: remove reclaim_mode_t (credits to Mel Gorman)
- mm: remove lru type checks from __isolate_lru_page() (credits to Konstantin Khlebnikov)
- mm/memcg: kill mem_cgroup_lru_del() (credits to Konstantin Khlebnikov)
- mm/memcg: scanning_global_lru means mem_cgroup_disabled (credits to Hugh Dickins)
- mm/memcg: use vm_swappiness from target memory cgroup (credits to Konstantin Khlebnikov)
- mm: remove swap token code (credits to Rik van Riel)
- mm/vmscan: store "priority" in struct scan_control (credits to Konstantin Khlebnikov)
- kernel: cgroup: push rcu read locking from css_is_ancestor() to callsite (credits to Johannes Weiner)
- mm: memcg: count pte references from every member of the reclaimed hierarchy (credits to Johannes Weiner)
- mm/vmscan: push zone pointer into shrink_page_list() (credits to Konstantin Khlebnikov)
- mm/vmscan: push lruvec pointer into isolate_lru_pages() (credits to Konstantin Khlebnikov)
- mm/vmscan: remove update_isolated_counts() (credits to Konstantin Khlebnikov)
- mm: cma: discard clean pages during contiguous allocation instead of migration (credits to Minchan Kim)
- cma: decrease cc.nr_migratepages after reclaiming pagelist (credits to Minchan Kim)
- mm/compaction.c: fix deferring compaction mistake (credits to Minchan Kim)
- mm: compaction: Abort async compaction if locks are contended or taking too long (credits to Mel Gorman)
- mm: compaction: update comment in try_to_compact_pages (credits to Mel Gorman)
- mm: compaction: capture a suitable high-order page immediately when it is made available (credits to Mel Gorman)
- mm: compaction: abort compaction loop if lock is contended or run too long (credits to Shaohua Li)
- mm: compaction: move fatal signal check out of compact_checklock_irqsave (credits to Mel Gorman)
- mm: compaction: Update try_to_compact_pages()kerneldoc comment (credits to Mel Gorman)
- mm: compaction: acquire the zone->lru_lock as late as possible (credits to Mel Gorman)
- mm: compaction: acquire the zone->lock as late as possible (credits to Mel Gorman)
- mm: compaction: cache if a pageblock was scanned and no pages were isolated (credits to Mel Gorman)
- mm: cma: WARN if freed memory is still in use (credits to Marek Szyprowski)
- mm: do not use page_count() without a page pin (credits to Minchan Kim)
- mm: clean up __count_immobile_pages() (credits to Minchan Kim)
- mm: compaction: Restart compaction from near where it left off (credits to Mel Gorman)
- mm: compaction: clear PG_migrate_skip based on compaction and reclaim activity (credits to Mel Gorman)
- CMA: migrate mlocked pages (credits to Minchan Kim)
- mm: compaction: correct the nr_strict va isolated check for CMA (credits to Mel Gorman)
- mm: compaction: validate pfn range passed to isolate_freepages_block (credits to Mel Gorman)
- mm: compaction: Move migration fail/success stats to migrate.c (credits to Mel Gorman)
- mm: compaction: Add scanned and isolated counters for compaction (credits to Mel Gorman)
- mm: cma: skip watermarks check for already isolated blocks in split_free_page() (credits to Marek Szyprowski)
- mm: compaction: partially revert capture of suitable high-order page (credits to Mel Gorman)
- compaction: fix build error in CMA && !COMPACTION (credits to Minchan Kim)
- mm: vmscan: do not keep kswapd looping forever due to individual uncompactable zones (credits to Johannes Weiner)
- mm: vmscan: Fix build error (credits to Christopher83)
- msm: Allow lowmem to be non contiguous and mixed. (credits to Neeti Desai)
- msm: Increase the kernel virtual area to include lowmem (credits to Neeti Desai)
- mm: Remove __init annotations from free_bootmem_late (credits to Laura Abbott)
- kernel/lib: add additional debug capabilites for data corruption (credits to Syed Rameez Mustafa)
- mm: panic on the first bad page table entry access (credits to Pushkar Joshi)
- mm: Update is_vmalloc_addr to account for vmalloc savings (credits to Laura Abbott)
- slub: tid must be retrieved from the percpu area of the current processor (credits to Christoph Lameter)
- mm: vmscan: Move pages that fail swapout to LRU active list (credits to Olav Haugan)
- mm: swap: Rate limit swap write errors (credits to Olav Haugan)
- mm: change freepage state correctly in __isolate_free_page (credits to Laura Abbott)
- mm: make is_vmalloc_addr lockless (credits to Laura Abbott)
- mm/compaction: Break out of loop on !PageBuddy in isolate_freepages_block (credits to Laura Abbott)
- mm: compaction: fix bit ranges in {get,clear,set}_pageblock_skip() (credits to Bartlomiej Zolnierkiewicz)
- gpu: ion: Don't call virt_to_page on addresses from dma_alloc (credits to Laura Abbott)
- gpu: ion: Explictly mark DMA allocations as GFP_KERNEL (credits to Laura Abbott)
- msm7x30: Disable unsupported features (credits to Blefish)
- Revert "nohz: Fix another inconsistency between CONFIG_NO_HZ=n and nohz=off" (credits to Christopher83)
- apache: Fix board build error (credits to Christopher83)
- block: bfq: Squashed update from BFQ-v7r4 to BFQ-v7r5 (credits to arco68)
- misc: pmem: Support for dynamic allocation through CMA (credits to Christopher83)
- msm7x30: Simplify the code for hybrid memory allocations on board side (credits to Christopher83)
- msm7x30: Allow to optionally enable the use of CMA for ION MM and PMEM ADSP heaps (credits to Christopher83)
- msm7x30: Use CMA for PMEM ADSP (credits to Christopher83)
- msm7x30: Update defconfigs (credits to Christopher83)
- msm7x30: Use a higher memory allocation if CMA is used for ION MM heap (credits to Christopher83)
- mmc: core: enhance card removal judgement for slow removal (credits to Kevin Liu)
- mmc: core: invoke low power mode if card is not present (credits to Asutosh Das)
- block: row: Fix crash when adding a new field in bio struct (credits to Tanya Brokhman)
- android/lowmemorykiller: Selectively count free CMA pages (credits to Liam Mark)
- msm: Remove old unused sdio related code (credits to Venkat Gopalakrishnan)
- msm7x30: Update defconfigs (credits to Christopher83)
- misc: pmem: Retry again a few times if DMA allocation fails (credits to Christopher83)

[B]04/03/2014 - K^Kernel 3.4 v1.3 for JB 4.3 ION+PMEM ADSP[/B]
- Kernel 3.4.82
- Sources synched with cm-10.2_ion_pmem_adsp branch of DevCon Team
- Built with my latest custom Linaro 4.8.3-2014.02 toolchain optimized for Cortex-A8
- s6e63m0: added new brightness levels to decrease more the brightness (credits to CastagnaIT)
- fix false disconnect due to a signal sent to the reading process (credits to keunyoung)
- MDP: correct clock calculation logic for up-scaling scenario (credits to Nirmal Abraham)
- sync: don't block the flusher thread waiting on IO (credits to Dave Chinner)
- timer: optimize apply_slack() (credits to Felix Fietkau)
- writeback: fix writeback cache thrashing (credits to Namjae Jeon)
- block/partitions: optimize memory allocation in check_partition() (credits to Ming Lei)
- rtc: alarm: Add power-on alarm feature (credits to Ashay Jaiswal)
- rtc: alarm: Set power-on alarm 120 sec before actual alarm time (credits to Mohit Aggarwal)
- kernel: alarm: fix the BUG that device automatically powers on (credits to Figo Wang)
- kernel: alarm: add dedicated alarm type for poweroff alarm (credits to Figo Wang)
- kernel: alarm: Do not call rtc_alarm_irq_enable in IRQ Disabled context (credits to Prasad Sodagudi)
- power: add an API to log wakeup reasons (credits to Ruchi Kandoi)
- power: fix compile warnings in log_wakeup_reason (credits to Ruchi Kandoi)

[B]18/02/2014 - K^Kernel 3.4 v1.2 for JB 4.3 ION+PMEM ADSP[/B]
- Kernel 3.4.80
- Sources synched with cm-10.2_ion_pmem_adsp repo branches of DevCon Team
- Built with my latest custom Linaro 4.8.3-2014.02 toolchain optimized for Cortex-A8
- misc: bln: Turn off touch-keys after the completion of a notification (credits to Christopher83)
- msm: camera: Set correct mount angle for S5KA3DFX front camera (credits to Christopher83)
- block: bfq: Squashed update from v6r2 to v7 (credits to arco68)
- cpufreq: Fix policy getting stuck when user & kernel min/max don't overlap (credits to Saravana Kannan)
- arm: if there's no handler we need to restore sigmask, syscall or no syscall (credits to Al Viro)
- arm: new way of handling ERESTART_RESTARTBLOCK (credits to Al Viro)
- driver core: fix possible missing of device probe (credits to Sagar Dharia)
- mach-msm:bus_config:fix possible missing error check (credits to Swetha Chikkaboraiah)
- diag: Reduce error message frequency (credits to Katish Paran)
- Rotator getting stuck leading to fence timeout (credits to Justin Philip)
- block: add a flag to identify PM request (credits to Lin Ming)
- block: add runtime pm helpers (credits to Lin Ming)
- block: implement runtime pm strategy (credits to Lin Ming)
- blkpm: avoid sleep when holding queue lock (credits to Aaron Lu)
- block: allow REQ_PM requests even when the device is suspended (credits to Sujit Reddy Thumma)
- block: do not notify urgent request, when flush with data in flight (credits to Konstantin Dorfman)
- Bluetooth: Replace sprintf with snprintf (credits to Juffin Alex Varghese)
- msm_serial_hs: Discard Clock On/Off request after Port Close (credits to Dilip Kota)
- block: bfq: Squashed update from v7 to v7r1 (credits to arco68)
- cpufreq: interactive: fix compiling warnings (credits to Chih-Wei Huang)
- cpufreq: interactive: Allow 1 ms error in above_hispeed_delay comparisons (credits to Rohit Gupta)
- cpufreq: interactive: Reset floor_validate_time if busy at max for 100ms (credits to Rohit Gupta)
- cpufreq: interactive: Add a sampling_down_factor for max frequencies (credits to Rohit Gupta)
- cpufreq: interactive: Remove trace event from idle_start handler (credits to Rohit Gupta)
- cpuidle: make a single register function for all (credits to Daniel Lezcano)
- debug-pagealloc: Panic on pagealloc corruption (credits to Subbaraman Narayanamurthy)
- ext4: speed up truncate/unlink by not using bforget() unless needed (credits to Andrey Sidorov)
- jbd2: optimize jbd2_journal_force_commit (credits to mrg666)
- mm: methods for teaching filesystems about PG_swapcache pages (credits to Mel Gorman)
- msm: kgsl: Fix mem leak when page allocation fails (credits to Hareesh Gundu)
- msm: kgsl: Change an overflow check to be "smart" compiler proof (credits to Jordan Crouse)
- msm: kgsl: Fix overflow check in mmap_range_valid (credits to Jordan Crouse)
- msm: vidc: enable pic_order_cnt_type for H264 encoding (credits to srikarri)
- ping: prevent NULL pointer dereference on write to msg_name (credits to Hannes Frederic Sowa)
- SELinux: Fix kernel BUG on empty security contexts. (credits to Stephen Smalley)
- sync: Fix a race condition between release_obj and print_obj (credits to Alistair Strachan)
- tcp: add a sysctl to config the tcp_default_init_rwnd (credits to JP Abgrall)
- uio: msm_shared: Add support for platform data (credits to Pratibhasagar V)
- writeback: fix race that cause writeback hung (credits to Junxiao Bi)
- crypto: Several updates and fixes to crypto drivers (credits to CAF Team)
- msm: kgsl: Add an input handler to power up the GPU on a touch event (credits to Tk-Glitch)
- ARM: be strict about FP exceptions in kernel mode (credits to mrg666)
- ARM: add support for kernel mode NEON (credits to mrg666)
- ARM: crypto: add NEON accelerated XOR implementation (credits to Ard Biesheuvel)
- ARM: 7835/2: fix modular build of xor_blocks() with NEON enabled (credits to Ard Biesheuvel)
- ARM: move VFP init to an earlier boot stage (credits to Ard Biesheuvel)
- ARM: Perform the creation of procfs node for VFP later (credits to Christopher83)
- ARM: only allow kernel mode neon with AEABI This prevents the linker erroring with: (credits to Russell King)
- ARM: 7626/1: arm/crypto: Make asm SHA-1 and AES code Thumb-2 compatible (credits to Dave Martin)
- ARM: 7723/1: crypto: sha1-armv4-large.S: fix SP handling (credits to Ard Biesheuvel)
- ARM: 7837/3: fix Thumb-2 bug in AES assembler code (credits to Ard Biesheuvel)
- crypto: create generic version of ablk_helper (credits to Ard Biesheuvel)
- ARM: pull in <asm/simd.h> from asm-generic (credits to Ard Biesheuvel)
- ARM: move AES typedefs and function prototypes to separate header (credits to Ard Biesheuvel)
- ARM: add support for bit sliced AES using NEON instructions (credits to Ard Biesheuvel)
- ARM: add .gitignore entry for aesbs-core.S (credits to Russell King)
- CRYPTO: Fix more AES build errors (credits to Russell King)
- workqueues: Introduce new flag WQ_POWER_EFFICIENT for power oriented workqueues (credits to Viresh Kumar)
- workqueue: Add system wide power_efficient workqueues (credits to Viresh Kumar)
- block: queue work on power efficient wq (credits to Viresh Kumar)
- xsched: Optimize build_sched_domains() for saving first SD node for a cpu (credits to Viresh Kumar)
- PHYLIB: queue work on system_power_efficient_wq (credits to Viresh Kumar)
- ASoC: pcm: Use the power efficient workqueue for delayed powerdown (credits to Mark Brown)
- ASoC: jack: Use power efficient workqueue (credits to Luis Cruz)
- regulator: core: Use the power efficient workqueue for delayed powerdown (credits to Luis Cruz)
- ASM: word-at-a-time: make the interfaces truly generic (credits to Chad Goodman and poondog)
- LIB: use generic strnlen_user and strncpy_from_user functions (credits to Chad Goodman and poondog)
- ARM: dcache: select DCACHE_WORD_ACCESS for little-endian ARMv6+ CPUs (credits to Chad Goodman and poondog)
- ARM: 7927/1: dcache: select DCACHE_WORD_ACCESS for big-endian CPUs (credits to Will Deacon)
- sched: Add sysinterface for GENTLE_FAIR_SLEEPERS (credits to Tk-Glitch)
- sched: Consider max cost of idle balance per sched domain (credits to Paul Reioux)
- sched: Periodically decay max cost of idle balance (credits to Paul Reioux)
- cpufreq: Optimize cpufreq_frequency_table_verify() (credits to Viresh Kumar)
- msm: camera: Don't set a flip for S5KA3DFX front camera on Ariesve (credits to Christopher83)
- mach-msm: Revised VIDC memory reservation to fix video re-encoding issues (credits to Christopher83)
- Update default and custom defconfigs (credits to Christopher83)

[B]26/01/2014 - K^Kernel 3.4 v1.1 for JB 4.3 ION+PMEM ADSP[/B]
- Kernel 3.4.77
- Sources synched with cm-10.2_ion_pmem_adsp repo branches of DevCon Team
- Built with my latest custom Linaro 4.8.3-2014.01 toolchain optimized for Cortex-A8
- ancora: don't use FB console (credits to hadidjapri)
- msm: rotator: Wait for the pending commits in finish IOCTL (credits to Padmanabhan Komanduru)
- Updates and fixes to ARM memory management, timers and specific architecture routines (credits to CAF Team)
- Updates and fixes to ALSA and ASOC sound drivers (credits to CAF Team)
- Updates and fixes to Bluetooth drivers (credits to CAF Team)
- Updates and fixes to diagnostics driver (credits to CAF Team)
- Updates and fixes to EMMC/SD drivers (credits to CAF Team)
- Updates and fixes to IPC Router driver (credits to CAF Team)
- Updates and fixes to ION driver (credits to CAF Team)
- Updates and fixes to OnDemand CPU governor (credits to CAF Team)
- Updates and fixes to power management drivers (credits to CAF Team)
- Updates and fixes to serial drivers (credits to CAF Team)
- Updates and fixes to sync drivers (credits to CAF Team)
- Updates and fixes to framebuffer and display drivers (credits to CAF Team)
- Updates and fixes to qseecom driver (credits to AnilKumar Chimata)
- Updates and fixes to radio drivers (credits to CAF Team)
- Updates and fixes to USB drivers (credits to Rajkumar Raghupathy, Pavankumar Kondeti, Manu Gautam)
- Updates and fixes to video encoder/decoder drivers (credits to CAF Team)
- Updates and fixes to ZRam and ZSMalloc drivers (credits to CAF Team)
- Fix OTG support (credits to Rajkumar Raghupathy, Murali Nalajala, Vijayavardhan Vennapusa)
- drivers: staging: Fix Zcache (credits to Steve Kondik)
- mach-msm: Some changes to Ancora, Ancora_Tmo, Apache and Ariesve boards (credits to arco68)
- netfilter: xt_qtaguid: report only uid tags to non-privileged processes (credits to JP Abgrall)
- netfilter: x_tables: fix ordering of jumpstack allocation and table update (credits to Will Deacon)
- msm: kgsl: Protect against a potential overflow in kgsl_sg_alloc (credits to Jordan Crouse)
- msm: kgsl: avoid zero length scatterlist allocation (credits to Prakash Kamliya)
- msm: pm2: Setup memory for save/restore cpu registers early (credits to Christopher83)
- workqueue: Added null check and warning (credits to Srinivasarao P)
- android: lowmemorykiller: add lmk parameters tunning code. (credits to seungho1.park)
- android/lowmemorykiller: Account for total_swapcache_pages (credits to Liam Mark)
- defconfig: Disable CONFIG_ENABLE_VMALLOC_SAVING (credits to arco68)
- defconfig: Disable KGSL shadow writes (credits to arco68)
- ARM: kconfig: select HAVE_EFFICIENT_UNALIGNED_ACCESS for CPUv6+ && MMU (credits to Will Deacon)
- usb: msm72k_otg: Update OTG status management (credits to Christopher83)
- usb: msm72k_otg: Allow USB bus overdraw for Legacy OTG (credits to Christopher83)
- msm: Qdsp5v2: audio: Migrate to ION. (credits to Kalyani Polepeddy)
- audio: msm: qdsp5v2: Switch hostPCM driver to ION (credits to Kalyani Polepeddy)
- Initial commit for ION compilation errors (credits to Kalyani Polepeddy)
- msm: audio : Enable LPA (credits to Kalyani polepeddy)
- audio : Copyright correction. (credits to Kalyani polepeddy)
- msm: audio VOIP fixes. (credits to Kalyani polepeddy)
- msm: Remove all references to pmem from audio files (credits to Laura Abbott)
- qdsp5: memset stack buffer allocation (credits to Asish Bhattacharya)
- exFAT: Update to v1.2.5 (credits to arco68)
- defconfig: Disable NTFS and build exFAT as built-in (credits to arco68)
- Revert lowmem and vmalloc patches (credits to arco68)
- sensors_ariesve: gp2a_proximity: Fix unbalanced enable for proximity IRQ (credits to Christopher83)
- misc: bln: New implementation and changes for BLNv10 (credits to Christopher83)
- Update default and custom defconfigs (credits to Christopher83)

[B]22/12/2013 - K^Kernel 3.4 v1.0 for JB 4.3 ION+PMEM ADSP[/B]
- Initial release that includes all the features already released on K^Kernel 3.4 v2.6 for JB 4.3 PMEM
- Kernel 3.4.75
- Kernel based on more updated jb_2.5.5 branch of CAF (Code Aurora Forum)
- Sources synched with cm-10.2_ion_pmem_adsp repo branches of DevCon Team
- Built with my latest custom Linaro 4.8.3-2013.11 toolchain optimized for Cortex-A8
- Hybrid memory allocation ION + PMEM ADSP for camera lib support (credits to Christopher83)
- msm: rotator: Wait for the pending commits in finish IOCTL (credits to Padmanabhan Komanduru)
- gpu: ion: enable the kmalloc heap (credits to Mitchel Humpherys)
- msm: Add support for ION Flushing without virtual address (credits to Neeti Desai)
- gpu: ion: Use correct type for variables (credits to Olav Haugan)
- gpu: ion: Free the sgtable for CMA based heaps (credits to Laura Abbott)
- cpufreq: Resolve CPUFREQ_NOTIFY issue (credits to Archana Sathyakumar)
- msm: cpufreq: Unable to handle kernel NULL pointer (credits to Swetha Chikkaboraiah)
- cpufreq: ondemand: Fix kernel warning in cpufreq_governor_dbs (credits to Anji Jonnala)
- cpufreq: ondemand: Fix locking issue in store_powersave_bias (credits to Rohit Gupta)
- cpufreq: ondemand: Fix NULL check for dbs_info->cur_policy (credits to Swetha Chikkaboraiah)
- cpufreq: ondemand: Fix store_powersave_bias() race with hotplug (credits to Matt Wagantall)
- cpufreq: ondemand: Fix locking in store_powersave_bias (credits to Matt Wagantall)
- cpufreq: ondemand: kernel NULL pointer dereference at dbs_check_cpu (credits to Swetha Chikkaboraiah)
- drivers: staging: rename synaptics_i2c_rmi4 to avoid confusion (credits to Amy Maloche)
- switch: Reset device's drvdata before destroying it (credits to Deva Ramasubramanian)
- Add security hooks to binder and implement the hooks for SELinux (credits to Stephen Smalley)
- Update defconfigs for ZRAM (as module) and ZSMALLOC (credits to Christopher83)
- Several updates, bug fixes and changes for zram and zsmalloc drivers (credits to CAF team)
- Several updates, bug fixes and changes for framebuffer, display, video encoder/decoder drivers (credits to CAF team, CastagnaIT and Christopher83)
- Several updates, bug fixes and changes for Adreno kgsl drivers (credits to CAF team and CastagnaIT)
- ariesve: High memory configurations (credits to Christopher83)
- ariesve: Update default config and add additional custom configs (credits to Christopher83)
- Ramdisk updates

Credits and Thanks to:

Arco68, CastagnaIT and Ivendor for their awesome work and their kernel sources

Ezekeel, Doomlord, Faux123, Stratosk, Tegrak, ErasmuX, Imoseyon and other devs I'm surely missing

CyanogenMod, Kernel.org, Code Aurora Forum, Google, Linaro GCC developers

KTulu84, Smeroni68, XeLLaR* and Rhonin86 for their support in testing

Sament83, B1tt1, Dellup, Pierm, Leonbeson, Cippoz89, Marco Z. and Rhonin86, modog, Ludovic D. for their donations

XDA:DevDB Information

[GT-I9001][ION] K^Kernel 3.4 for JB 4.3 ION+PMEM ADSP, Kernel for the Samsung Galaxy S I9000

Contributors

Christopher83

Source Code: https://github.com/Christopher83/samsung-kernel-msm7x30/tree/cm-10.2_ion_pmem_adsp

Kernel Special Features: Customized kernel 3.4.x for JB 4.3 rom (CM 10.2 and derivatives) with ION memory allocations

Version Information

Status: Stable

Current Stable Version: v1.4

Stable Release Date: 2014-07-12

Created 2013-12-22

Last Updated 2015-06-08