[Galaxy Note 10.1 (2014 Edition) Android Developmen] Andmoreagain:
The latest build has a bug that causes reboots when the screen is off. I'll fix it and upload a new build tonight.

v1.0 is good though, a bit battery-hungry but the performance is well above average.

Edit: fell asleep last night before I could finish this. I decided to start over with the gic backports and update the big.LITTLE switcher accordingly. The difficulties that I'm running into is that the stock bL_switcher code itself is a backport that skips the upstream MCPM dependencies and thus it looks a bit different than the upstream version.

I'm going to try to just add the MCPM patches with the upstream bL_switcher and see how it runs. I already know that it compiles but I don't know if it actually works because the kernel lacks the arm-cci driver. Then again, maybe the cci driver is only required for hmp support. Only one way to find out...

Edit 2:

:fingers-crossed: Just look at this: https://bitbucket.org/sigma-1/linux-android-3.4.y-exynos-lt03wifi/commits/branch/v2-test2

Multi-Cluster PM compiles now, but the big.LITTLE switcher is causing a different build error due to some missing dependencies. I can't wait to test this out as soon as these missing dependencies have been resolved. If MCPM works then it means that there's not much left to add for true octa core support.

Edit 3:

Bahh... gonna put this on hold for now. I'm getting some nonsensical "undefined reference" errors at the very end of the build. If anyone wishes to try and figure this one out, be my guest, because these are all defined as far as I can tell. :eek:

LD vmlinux.o
MODPOST vmlinux.o
GEN .version
CHK include/generated/compile.h
UPD include/generated/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
arch/arm/common/built-in.o: In function `bL_switch_to':
/home/valex/linux-android-3.4.y-exynos-lt03wifi/arch/arm/common/bL_switcher.c:196: undefined reference to `gic_get_sgir_physaddr'
/home/valex/linux-android-3.4.y-exynos-lt03wifi/arch/arm/common/bL_switcher.c:212: undefined reference to `gic_send_sgi'
/home/valex/linux-android-3.4.y-exynos-lt03wifi/arch/arm/common/bL_switcher.c:230: undefined reference to `gic_migrate_target'
arch/arm/common/built-in.o: In function `bL_switcher_halve_cpus':
/home/valex/linux-android-3.4.y-exynos-lt03wifi/arch/arm/common/bL_switcher.c:513: undefined reference to `gic_get_cpu_id'
arch/arm/mach-exynos/built-in.o: In function `exynos4_init_irq':
/home/valex/linux-android-3.4.y-exynos-lt03wifi/arch/arm/mach-exynos/common.c:875: undefined reference to `gic_init_bases'
/home/valex/linux-android-3.4.y-exynos-lt03wifi/arch/arm/mach-exynos/common.c:882: undefined reference to `gic_arch_extn'
/home/valex/linux-android-3.4.y-exynos-lt03wifi/arch/arm/mach-exynos/common.c:882: undefined reference to `gic_arch_extn'
arch/arm/mach-exynos/built-in.o: In function `gic_init':
/home/valex/linux-android-3.4.y-exynos-lt03wifi/include/linux/irqchip/arm-gic.h:76: undefined reference to `gic_init_bases'
arch/arm/mach-exynos/built-in.o: In function `exynos5_init_irq':
/home/valex/linux-android-3.4.y-exynos-lt03wifi/arch/arm/mach-exynos/common.c:915: undefined reference to `gic_arch_extn'
/home/valex/linux-android-3.4.y-exynos-lt03wifi/arch/arm/mach-exynos/common.c:915: undefined reference to `gic_arch_extn'
Makefile:882: recipe for target '.tmp_vmlinux1' failed
make: *** [.tmp_vmlinux1] Error 1

I'm just gonna get back on track, fix the screen-off-reboot bug and deal with this big.LITTLE stuff when I have the time and patience for it. Something good has come out of this though since now I have a bunch of commits that help preparing the kernel base for MCPM support. That's not to say that it will ever work with this kernel. Maybe it will, maybe it won't. The best chance for this to ever work would be a board file-to-device tree migration with linux 3.10 or higher. That requires some work on the device drivers though since a few of them are not in mainline or anywhere else for that matter, except our stock kernel (why Samsung haven't sent these to be supported upstream is beyond me).