Well.. i'll try to digest all your explanation.. (start to have headache already.. :what
Anyway, great post..
Sent from my LG-P990 using XDA
Anyway, great post..
Sent from my LG-P990 using XDA
Well.. i'll try to digest all your explanation.. (start to have headache already.. :what
Anyway, great post..
Sent from my LG-P990 using XDA
Downloaded from Google Docs and unpacked without incident. Now compiling under VirtualBox, which also worked without any modification.
...and as I was writing this it finished. Whole compilation job took less than 2 mins on a 4-core VM. ;-)
Explaination of values in the files guestekrnl.c, guestekrnl.h and nvrm_clocks_limits.c:
guestekrnl.c
-------------------------------------
- GUESTE_USE_FSYNC = 1; -> should fsync be used by default? values 0 or 1
- NVRM_CPU1_ON_MIN_KHZ = 366000; -> frequency (366MHz) where second core should be turned off when it was running and cpu freq is lower than this freq for a time of 600 milliseconds (NVRM_CPU1_OFF_PENDING_MS)
- NVRM_CPU1_OFF_MAX_KHZ = 666000; -> frequency (666MHz) where second core should be turned on when it was off and cpu freq is higher than this freq for a time of 2000 milliseconds (NVRM_CPU1_ON_PENDING_MS)
- NVRM_CPU1_ON_PENDING_MS = 2000; // time for the things above in milliseconds
- NVRM_CPU1_OFF_PENDING_MS = 600; // time for the things above in milliseconds
- AUTO_SECONDCORE_LIMITS = 0; // should second core activation values be calculated intelligently by default instead of using the fixed values above? values 0 or 1
- GUESTE_USE_SECOND_CORE = 1; // should second core be used by default? values 0 or 1
- LED_BUTTON_BRIGHTNESS = 8; // default value for LED button brightness - values 0-100, but I fear the default is also on another place hard-coded so changes won't help
- AUTO_BACKLIGHT_BRIGHTNESS = 6; // default step for the auto brightness intensity (this is stock default), dunno if changes here make any difference
- MAX_SCREENOFF_CPUFREQ = 503000; // max default screenOff cpu frequency (=503 MHz)
- MAX_CPU_SCALING_FREQ = 1000000; // default maximum cpu frequency (=1000 MHz), if you change this, remove the file Desktop/kernel_source/zipstructure/data/gueste2/oc/maxcpufreq in order to use the default kernel speed right at kernel boot (the file maxcpufreq also contains the value 1000000, this is the value GuesteOC tool will set the kernel to at boot, removing the file means GuesteOC does not change default kernel speed)
- MIN_CPU_SCALING_FREQ = 216000; // default minimum cpu frequency (=216 MHz)
- unsigned int STRONG_HAPTIC_VIBRATION = 0; // default value for strong vibration -- values 0 or 1
- unsigned int STRONG_RINGING_VIBRATION = 1; // default value for incoming call vibration -- values 0 or 1
guestekrnl.h - Explainations will come soon!
-------------------------------------
// Second Core Activation Auto Limits Multiplikator
// Clocking & Volting
- #define G_SECCORE_MULT (6)
// Scheduler
- #define MAX_OVERCLOCK (1300000)
- #define MAX_VOLTAGE (1150)
- #define GUESTE_DDR_FREQ_STATIC (325000)
- #define GUESTE_EMC_VOLT (1200)
- #define NVRM_AP20_LOW_CORE_MV (850)
- #define NVRM_AP20_LOW_CPU_MV (750)
- #define NVRM_AP20_SUSPEND_CORE_MV (900)
- #define NVRM_AP20_DDR2_MIN_KHZ (50000)
- #define NVRM_AP20_LPDDR2_MIN_KHZ (18000)
- #define GUESTE_AVP_FREQ (280000)
- #define GUESTE_EMC2_FREQ (660000)
- #define GUESTE_GPU_FREQ (345000)
- #define GUESTE_DDR_FREQ (325000)
- #define sysctl_sched_latency_default 10000000ULL
- #define normalized_sysctl_sched_latency_default 10000000ULL
- #define sysctl_sched_min_granularity_default 2000000ULL
- #define normalized_sysctl_sched_min_granularity_default 2000000ULL
- #define sched_nr_latency_default 5
- #define sysctl_sched_wakeup_granularity_default 2000000UL
- #define normalized_sysctl_sched_wakeup_granularity_default 2000000UL
Desktop/kernel_source/arch/arm/mach-tegra/nvrm/core/common/nvrm_clocks_limits.c - Explainations will come soon!
-------------------------------------
- NvU32 FakeShmooVoltages[] = {
755,
770,
800,
850,
900,
1000,
1050,
MAX_VOLTAGE,
};
- NvRmScaledClkLimits FakepScaledCpuLimits = {
101, // FakepScaledCpuLimits.HwDeviceId
0, // FakepScaledCpuLimits.SubClockId
32, // FakepScaledCpuLimits.MinKHz
// Clock table
{
216000,
389000,
503000,
655000,
816000,
1000000,
1100000,
MAX_OVERCLOCK,
}
};
Mention where guesete.c and gueste.h came from.
Mention credits to Original Author of OTF
Yes this public bash you wrote http://xdaforums.com/showthread.php?p=25503366#post25503366Not necessary as the credit to OTF has been already given to you during kernel development and in kernel releases multiple times. Everyone already knows you made the 20 lines code for OTF.
Apart from this the things I posted and you quoted are only containing variables and none of your OTF logic. You can't get credit for variables bro
If you want maximum smoothness and responsiveness combined with all guestekrnL features, here comes my guestekrnL-FlixEdition Kernel
http://www.mediafire.com/?jlfq920eil4h1yl
Changelog:
- compiled with latest working toolchain (04-2012)
- activated cpu alignment
- other standard settings
- other name
- the rest is like in latest guestekrnL
Please test it and report about stability, performance and battery!
If you want maximum smoothness and responsiveness combined with all guestekrnL features, here comes my guestekrnL-FlixEdition Kernel
http://www.mediafire.com/?jlfq920eil4h1yl
Changelog:
- compiled with latest working toolchain (04-2012)
- activated cpu alignment
- other standard settings
- other name
- the rest is like in latest guestekrnL
Please test it and report about stability, performance and battery!
If you want maximum smoothness and responsiveness combined with all guestekrnL features, here comes my guestekrnL-FlixEdition Kernel
http://www.mediafire.com/?jlfq920eil4h1yl
Changelog:
- compiled with latest working toolchain (04-2012)
- activated cpu alignment
- other standard settings
- other name
- the rest is like in latest guestekrnL
Please test it and report about stability, performance and battery!
Hey, I love your and gueste's work, but can someone compile this kernel with force ac/usb patch?
Sent from my LG-P990 using XDA
Stefan,
I'll appreciate your feedback. The next days, I'll work on better build flags.
Boss, Stefan, post a link to this danger ROM too. Let me have some fun with all these unexpected gifts
( You guys are all crazy , you know that.. ? First your unpronouncable kernel name, and then a GhostRider , for gods sake..!!!! How you people come up with such names??? ).
to
in file Desktop/kernel_source/arch/arm/configs/gueste_defconfig -- otherwise kernel won't boot!
CFLAGS_GUESTE = -O3 -ffast-math \
-mtune=cortex-a9 -march=armv7-a \
-mfloat-abi=softfp -mfpu=vfpv3-d16 \
-fsingle-precision-constant -fgraphite-identity \
-ftree-loop-distribution -ftree-loop-linear \
-floop-interchange -floop-strip-mine -floop-block \
-fmodulo-sched -fmodulo-sched-allow-regmoves \
-fno-inline-functions
Stefan, will your tutorial works with original source (eg, V20q) and others (eg, spica HP)? and which file/folder to make our kernel support ext4?
My idea was using stock kernel but add ext4..
to
if you use v20 sources or to
if you use v10 sources
to
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_XATTR=y
# CONFIG_EXT4_FS_POSIX_ACL is not set
# CONFIG_EXT4_FS_SECURITY is not set
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
in there!
Great initiative Stefan. Download stops at ~300MB for me as well, looking forward to trying it.
Are the guestekrnl-scripts included in the finished kernel installer? (Just wondering if GuesteOC will work out of the box.)