Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,742,912 Members 40,183 Now Online
XDA Developers Android and Mobile Development Forum

[KERNEL][14FEB'12]RedPillKernel_Rev1.3[RedPill Touch CWM Recovery by AF974]"TAKE IT!"

Tip us?
 
hyperdroid
Old
(Last edited by D.O.C; 19th June 2012 at 04:54 PM.)
#11  
hyperdroid's Avatar
Junior Member
Thanks Meter 306
Posts: 26
Join Date: Sep 2011
[FONT="Arial"]
Beta Testing


No betas currently active, use official v3.0 version

Todo:
  • Update Superuser.apk inside kernel
  • Suggestion please
The Following 30 Users Say Thank You to hyperdroid For This Useful Post: [ Click to Expand ]
 
pongster
Old
(Last edited by pongster; 4th January 2012 at 04:00 AM.)
#12  
pongster's Avatar
Recognized Developer - OP
Thanks Meter 5932
Posts: 7,081
Join Date: Apr 2005
Location: Quezon City

 
DONATE TO ME
Default Kernel Changelog

HyperKernel HDK: The underrated, quietly confident and remarkably smooth kernel...

Kernel Source:

Download Link:
The Latest HyperKernel is bundled with the newest HyperDroid.
A separate thread will be introduced that will usher in the release of the kernel download separately.
v1.2 is already in testing and will be released as soon as my heavy usage with heavy UV and OC are done. (In 3-5 days)


Quote:
Quote:
FYI If anyone should ask... we currently use the CodeSourcery Lite Toolchain. I was just about to play with other Toolchains but decided against it because after doing some research I found this R&D by Ezekeel. Thanks to Ezekeel for the useful information.
Quote:
Quote:
HyperKernel HDK v1.1
-Cleaned up choice of CPU Governors and reaaranged them so that when selecting them in CPU Control Apps such as VoltageControl by xan (which is highly recommended fo use with this kernel), its arranged by its "focus and intent" (based on extensive testing on all default Clocks and Voltages) from "battery focused to performance driven".
-With this focus on simplicity stated above, the only governors available are the following:
-lulzactive (interactive based cpu governor by Tegrak) extremely flexible... by default it has a screen off profile and can be tweaked using init.d scripts or the lulzactive app by Tegrak to be battery centric or performance oriented.
-sleepy (ondemand based cpu governor formerly called "solo" edited by Pongster) loves to sleep and idle at the lowest set frequency, hence the name change from "solo" to "sleepy". This can be tweaked and tuned using init.d scripts as well.
-conservative (good battery savings by default due to its slow ramp up and ramp down but tunable for performance) defaults are slightly tweaked for better performance than default conservative.
-lazy (ondemand based cpu governor by Ezekeel) described by Ezekeel as "maybe a better version of ondemand" and for good reason as it gives a good balance between battery life and performance. also tunable using init.d scripts.
-ondemandx (ondemand based cpu governor by Imoseyon) this features earlysuspend features and downsampling which looks for the lowest frequency which can sustain the load while keeping idle time over 30% and tries to try to decrease to this frequency.
-ondemand (old reliable thats been tweak by arighi to support deep_sleep and fast_start) these features try to detect if the CPU is coming from a deep sleep and is more likely to sleep again and thus limits its frequency to the lowest possible that can handle the operations needed. fast_start checks if the CPU needs more "ooomph" and jumps to the highest frequency faster to enable it to complete the operation the system needs to complete. (like during boot-up)
-Added sysfs interface for setting suspend frequency for sleepy CPU Governor. Default is 500Mhz. Min Frequency is 100Mhz, Max is 1.2Ghz (Why would you need to suspend beyond that right?)
-Added some tested tweaks from the past few months of testing with HyperDroid ROM.
-Removed the + sign at the end of the versioning thanks to franciscofranco.
Quote:
Quote:
HyperKernel - HDKv1.0
-Consolidated all current features of the Ultimate Kernel and feel its matured enough to go by the name of the ROM. Enter the HyperKernel or HDK...
-Removed some governors that are not as effective based on testing. (Removed skywalker, SmartAssV2) Use lulzactive if you want an interactive based governor. There are 8 governors in total available. Default is kenobi. You can tweak it by echoing into sysfs as usual.
-Added some tweaks in Kernel thanks to Erasmux and everyone involved in the discussions HERE: http://forum.xda-developers.com/showthread.php?t=786919
-Enabled Kernel Debugging and Schedule Debugging for the tweaks from Erasmux et. al.
-Fixed LOUDER App Compatibility thanks to @supercurio and @gokhanmoral
-Integrated gokhanmoral's implementation of Tegrak's updated lulzactiveV2 (Huge props to Tegrak and gokhanmoral)
-Tuned lulzactive for HyperDroid defaults. (Can be changed using tegrak's lulzactive app from the market)
-[PATCH] ext4: fix ext4_end_io_dio() racing against fsync() from https://lkml.org/lkml/2011/12/16/311
Reported-by: Kent Overstreet <koverstreet@google.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: stable@kernel.org
-[PATCH] ext4: avoid hangs in ext4_da_should_update_i_disksize() from https://lkml.org/lkml/2011/12/16/344
Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: stable@kernel.org
-Added RWSEM from cattleprod's Github Repo c/o Code Aurora

-Change default AC charge current to 650
-Change Internal Voltage for each CPU Level from L2 to L7
-Change Bus Frequency Voltages (less 100mV)
-Fix typo in suspend.h and suspend.c
-Several Code Cleanups and optimizations for stability and performance

-Disabled Net_Sched Queueing and Traffic Shaping via Heirarchical Token Buckets (HTB) as no one was maximizing its use/presence in the kernel
-[PATCH] Added missing Android common patches that were previously included but overwritten by the 2.3.4 code drop, Samsung have not applied any new patches from the Android common kernel tree to their kernels. by Adam Green <greena88@gmail.com>
-Added lazy CPU governor by Ezekeel <notezekeel@googlemail.com>
-Updated Kenobi to use lazy governor features + fast_start and deep_sleep detection
-Updated "LOUDER" kernel driver created by supercurio (Kernel drivers are ready and waiting for his App to increase volume)

-Add support for Tegrak's touchmove thanks to tegrak
-Modified cpufreq.h to follow samsung update3 default behavior when HI_ARMCLK_THAN_1_2GHZ is enabled
-Modified touchscreen locking CPU at L3 thanks to AndreiLux for pointing that out.
-Updated su binary thanks to ChainsDD (added ICS support for su)
Quote:
Quote:
v2.3 Ultimate
-Add [PATCH] kernel:smp: Match on_each_cpu behaviour on UP to SMP by Gilad Ben-Yossef <gilad@codefidence.com>
-Add [PATCH] nohz: Remove ts->inidle checks before restarting the tick by Frederic Weisbecker <fweisbec@gmail.com>
-Enabled Smooth Scaling by default (Please use Voltage Control or init.d scripts to control your CPU or it will not work as expected)
-Now using Chainfire's CWM 5.0.2.7 Recovery (with no back key)
-Faster Recovery and Boot (slightly) due to the use of gzip for initramfs instead of xz... (still using xz for the kernel so the kernel is still 5.0MB)
Quote:
Quote:
v2.2 Ultimate
-Add other ARM Topology Patches [ARM: cpu topology: Add update_cpu_topology function]
-Added supercurio's voodoo modules (Huge props to supercurio)
-Load these via insmod at boot during post-init

Source for patches found here:
Exynos Yamaha Tweaks
https://github.com/project-voodoo/mc1n2_voodoo

Exynos ld9040 Tweaks
https://github.com/project-voodoo/ld...ynos_galaxysii

ARM Topology Patches:
http://patches.linaro.org/5095/

v2.1 Ultimate
-Enabled AFTR by default and tweaked scheduling a little bit for performance.
-Patched to Add v5 ARM cpu topology definition by "Vincent Guittot"
-Enabled sched_mc_power_savings

Add ARM cpu topology definition

The affinity between ARM processors is defined in the MPIDR register.
We can identify which processors are in the same cluster,
and which ones have performance interdependency. We can define the
cpu topology of ARM platform, that is then used by sched_mc and sched_smt.

The default state of sched_mc and sched_smt config is disable.
When enabled, the behavior of the scheduler can be modified with
sched_mc_power_savings and sched_smt_power_savings sysfs interfaces.

ARM CPU topology
https://lkml.org/lkml/2011/7/4/250
Quote:
Quote:
v2.0 Ultimate
Release Date 09/DEC/2011

Added the Ultimate CFS Patch
- Added [PATCH] CFS Autogroup: Implementation by Mike Galbraith as ported by faux123 for 2.6.35 kernels.
I (sarcastillo) additionally edited some things in sched.c to make it compile properly for 2.6.35.14 Samsung Sourced kernels

More info on this here: https://lkml.org/lkml/2010/11/20/91

Added some PPP Patches
- Added [PATCH] net: Reorder incoming packets in PPPoLAC and PPPoPNS by Chia-chi Yeh

Added some RCU and CPU-Hotplug Patches
- Added [PATCH] cpu-hotplug: Add the function 'cpu_hotplug_inprogress' by Maya Spivak
- Added [PATCH] printk: Don't allow cpu to get console lock during hotplugging by Maya Spivak
- Added [PATCH] rcu-tree: Check for extended quiescent state at start of gp by Maya Spivak
- Added [PATCH] sched: Do not block when waiting to free old root domain by Maya Spivak

More details on commit message on bitbucket

- Turned Off STACKTRACE, FTRACE and SEC_LOG
- Set USB_VBUS Draw to 450
Quote:
Quote:
v1.9 Ultimate
- Added latest cpufreq patch by arighi that brings down battery consumption when the screen is on. More details on actual commit on my bitbucket git repo.
- Removed some files from initramfs to bring kernel down to 5.1MB (without sacrificing key features we want in our kernel)
Quote:
Quote:
v1.8 Ultima
- Kenobi set as default CPU governor
- Disabled ARM_UNWIND
- Fixed Recovery Loader to enable ROM Tool/OTA App to work with CWM 5
- Revert to --lzma2=dict=1MiB (increases initramfs a little and adds some gains in speed vs compression)
- Added zcache as backported by faux123 here: https://bitbucket.org/faux123 BUT I only enabled cleancache for now

zcache, tmem, cleancache info here: https://lwn.net/Articles/454795/
Quote:
Quote:
v1.7 SynergySeries
- BFQv3r1 as default I/O scheduler
- Removed NTFS Support in the kernel as that's handle by ntfs-3g now
- Removed ReiserFS support here as well (as Recovery may not support it properly)
- Removed ext 2 support as the option for using ext4 as ext2 and ext3 is enabled
Quote:
Quote:
v1.6 SynergySeries
- Added XZ decompression support for kernel headers and initramfs... (Thanks to faux123)
- Added some XZ related fixes thanks to the original contributors.
- Tweaked XZ compression to compress at -9 instead of the default -6 (since XZ decompresses faster when the archive is larger)
and since in kernel land you don't need to worry about compressing anything back to XZ, these gains in size were enough of a trade-off instead of using gzip by default.
(Technically, gzip compressed kernels and initramfs are faster than any other compression method...
but for our device we have a lot of raw CPU power and a lot of RAM) If you don't trust me, trust the smoothness of the kernel at its current setup.
Code:
Select Code
Why XZ? Some XZ Decompression details: (more here http://tukaani.org/xz/)

- Its about 30% smaller and decompresses at just half the speed of gzip... 
I decided to use it as we have a lot of ram and raw cpu power that can easily handle the extra load xz compressed kernels and initramfs bring... 
based on my current understanding, it decompresses really fast so the boot time and other processes that depend on these are still fast while keeping the kernel lean and mean 
- Huge props to Lasse Collin and Igor Pavlov for XZ... quite an amazing piece of work there.  
- Our kernel with initramfs and complete features (nothing made as modules or removed) is only 5.8MB yup... you read that right...

Quote:
Quote:
v1.5
- BFQv3r1 included (backported from 2.6.38)
- Enable Net Scheduling and Queueing for a more stable and faster loading of pages and apps that depend on a network connection (e.g. Market)
HTB by default http://luxik.cdi.cz/~devik/qos/htb/
Why HTB? See here: http://luxik.cdi.cz/~devik/qos/htb
- Experimental Support for Non-Samsung ROM's thanks to gokhanmoral's siyah_feature_set which I ported from his kernel tree and used his initramfs as a base
- Experimental NTFS automount for OTG devices (you'll have to do a little more work to enable sdcard as ntfs) (Thanks to gokhan for the hotplug script)
Note: fuse.ko is built in statically into the kernel, as is cifs.ko and usbserial.ko
- Enabled fsync disabled (can be disabled by doing an echo "1" > /sys/module/sync/parameters/fsync_disabled in a terminal emulator or as a script for gscript or scriptmanager)
- Enabled fast_start and deep_sleep for 2 other ondemand based governors: solo and kenobi
- Turned Off CFS bandwidth for a small performance gain
Quote:
Quote:
v1.4
- Made FUSE, CIFS and other .ko's part of the kernel.
- Fixed Voltage COntrol scripts not being set correctly at boot time.
Quote:
Quote:
v1.3
- bfq by default
- Experimental use of NET scheduling (HTB) for faster page loading when browsing (Market included)
- CWMManager now backups to external as required.
Quote:
Quote:
v1.2
- cleaned up kernel source code and initramfs
- User-level Release only (disabled kernel debugging)
Quote:
Quote:
v1.1
- User-Level release removes kernel debugging to increase smoothness
- Touchscreen fix set to "3" for more responsiveness during games, etc.
- reorganized initramfs scripts (easier for devs to find as they're centralized now)
- fixed USB charge current by using the latest charge_current related code from Gokhan (he's the author of this feature)
- removed userspace, lagfree and SavagedZen, InteractiveX and brazilianwax governors
- brought kernel size down a little bit more
Quote:
Quote:
Kernel Androidmeda TJK v1.0
Release Date 20/NOV/2011
Included Solo, Kenobi and Skywalker governors.
Reverted to Recovery 5.0.2.7 for stability and internal testings.
Tweaked recovery to show internal sd and external sd and point to correct path.
Included CWM 3.0
speeded up loading of init.d scripts
fuse.ko is now also loaded on boot
Deadline is default scheduler
OLD CHANGELOG

Quote:
Quote:
Kernel Androidmeda TWD v2.5
Release Date 09/NOV/2011
Included lulzactive gorvernor
Reverted to Recovery 4.0.0.2 for stability and internal testings.
Reverted to stock voltage values to avoid SOD of cpus not handling well lower frequencies
Initramfs totally restructured again.

Kernel Androidmeda TWD v2.3
Release Date 30/OCT/2011
Fixed yet again inst-root.sh script
Included Fuse.ko and gspca.ko to lib modules (sorry about that)

Kernel Androidmeda TWD v2.2
Release Date 28/OCT/2011
Upgraded to recovery 5.0.2.7
Fixed instant root script as it was not working (thanks to pongster)
Enabled Thumbee for testing

Kernel Androidmeda TWD v2.0
Release Date 27/OCT/2011
Added the following features thanks to Speedmod huge thanks to him for sharing and the credits go to him and pongster for the merge into our kernel.
- MDNIE screen sharpness tuning (improves text readability)
- MDNIE color tuning (reduces over-saturation of color)
- Lower brightness at low-light levels
Updated Superuser.apk to 3.06 and latest bin for rooting
Updated Recovery to 5.0.2.6 (still no back key, sorry, we are working on that 24/7)

Kernel Androidmeda TWD v1.0
Release Date 24/OCT/2011
Based on update3 from samsung.
Removed CUSE support
cifs.ko is loaded now via init.d
user customizable charging speed (use at your own risk).via script on init.d, thanks to gokhanmoral
Committed Patch to fix fuel alert wakelock Thanks to Entropy512

Kernel Androidmeda DNR v3.1
Release Date 17/OCT/2011
CWM app backups on external sd card, to restore them u will have to manually copy those onto internal sd card (we actually find this useful to backups, so, while we are linked to sources on how to build recoery from source, we will stick with this option)
Making the backup from recovery makes the backup into internal sd card
Changed from SLQB to SLUB
Enabled Brazilinawax and SavagedZen governors for testing purposes
Released as an independent CWM zip file.

Kernel Androidmeda DNR v2.0
Release Date 14/OCT/2011
Initramfs from kI8
Dalvik is now back to data/dalvik-cache
ClockworkMod Recovery v5.0.2.3
Support for internal and external sd card on recovery
Several patches to kernel, see github for changelog
Superuser 3.05 (thanks to chainsdd)

Kernel Androidmeda DNR v1.0
Release Date 05/OCT/2011
Initramfs from kI3
Samsung kernel-update2 (patched for deep sleep fix)
Based on Arighi sources (arighi)
ClockworkMod Recovery v4.0.1.5
Custom boot logo and support for custom bootanimations (Props to Hellcat)
Dalvik cache moved to /dalvik located on p12 hidden partition and symlinked to data/dalvik-cache (Androidmeda Original Feature)
recovery modded to format /dalvik (currently wipe dalviks cache does not work, will be fixed in near future, as of right now, please use format /dalvik to wipe dalvik cache.)
Instant root (modded script by gokhanmoral of SiyahKernel with a few edits by pongster to ensure latest SU apk and binary are used.)
Superuser 3.0 (thanks to chainsdd)
Touchscreenfix (vitalij)
Init.d support
Experimental CPU Governors:


Quote:
Quote:
*Experimental CPU Governors:

Added 3 modded CPU Governors tweaked and optimized for the SGS2

*skywalker is a smart and smooth tweaked and optimized for the SGS2 based on SavagedZen. (Right now I just tweaked the numbers, but I plan to try and add more mini features. In order to keep all bugs properly attributed to my experiments and not the original author's, I have renamed it accordingly.)

It suspends at a freq of 500Mhz. It wakes up at 800Mhz.

*kenobi is an aggressively smart and smooth tweaked and optimized for the SGS2 based on ondemand as tweaked by arighi. I also ported the features of Ezekeel's lazy governor. (which is based on ondemand as well) (In order to keep all bugs properly attributed to my experiments and not the original author's, I have renamed it accordingly.)

*solo is an attempt to balance performance and battery life. Its based on the tweaked ondemand by arighi and is optimized for the SGS2. It includes imoseyon's ondemandx tweaks with some down_sampling and other features that users can set by echo'ing into sysfs.

It also features arighi's fast_start and deep_sleep detection features. It also suspends at a freq of 500Mhz.
Check out the Insanely Fast, Uber Smooth, Exceptionally Stable Firmware & Kernels Built by the HyperDroid Dev Team...Get the latest updates... Click to Follow me on Twitter! Like our page on Facebook!

If you're enjoying the work we share with you please Press the THANKS button and RATE the thread... its FREE!


The Following 8 Users Say Thank You to pongster For This Useful Post: [ Click to Expand ]
 
pongster
Old
(Last edited by pongster; 12th December 2011 at 06:25 AM.)
#13  
pongster's Avatar
Recognized Developer - OP
Thanks Meter 5932
Posts: 7,081
Join Date: Apr 2005
Location: Quezon City

 
DONATE TO ME
If you're having trouble with anything, the only way we can find out what's causing your Issues is If we have complete information.

The logcat/wakelocks/last_kmsg will do just that...

Simply reporting something doesn't work will not help... we all have different devices, different setups, different device manufacturing dates, etc...
If everything is set to default, everything works on our devices.

Quote:
Quote:
How To File a Bug Report with Logcat:
  1. Install android sdk
  2. Install drivers for adb on PC
  3. connect phone to PC
  4. open cmd.exe or terminal
  5. type 'adb logcat' without the quotes
  6. start the app that causes the issues
  7. wait for the app to close or get to the error
  8. copy logcat contents and put in pastebin
  9. copy pastebin links here
Quote:
Quote:
How To Find Wakelocks:
  1. Install android sdk
  2. Install drivers for adb on PC
  3. connect phone to PC
  4. open cmd.exe or terminal
  5. type 'adb shell cat /proc/wakelocks > /sdcard/wakelocks.txt' without the quotes
  6. copy contents and put in pastebin
  7. copy pastebin links on your post
Quote:
Quote:
How To Get last_kmsg logs:
  1. Install android sdk
  2. Install drivers for adb on PC
  3. connect phone to PC
  4. open cmd.exe or terminal
  5. type 'adb shell cat /proc/last_kmsg > /sdcard/last_kmsg.txt' without the quotes
  6. copy contents and put in pastebin
  7. copy pastebin links on your post
Quote:
Quote:
Before filing a bug report, please consider the answer to these:
  1. Is the bug reproducible?
  2. How do you reproduce it?
  3. What is the expected behavior?
  4. What actually happens?
  5. Do you have a Task Killer running?
  6. Are you on the default Kernel?
  7. Did you restore data of System Apps using Titanium Backup?
Check out the Insanely Fast, Uber Smooth, Exceptionally Stable Firmware & Kernels Built by the HyperDroid Dev Team...Get the latest updates... Click to Follow me on Twitter! Like our page on Facebook!

If you're enjoying the work we share with you please Press the THANKS button and RATE the thread... its FREE!


The Following 6 Users Say Thank You to pongster For This Useful Post: [ Click to Expand ]
 
donalgodon
Old
(Last edited by donalgodon; 4th October 2011 at 06:13 PM.)
#14  
donalgodon's Avatar
Senior Member
Thanks Meter 651
Posts: 3,779
Join Date: Jan 2010
Exciting news!

Can't wait to see what you've developed.

(First! )
PHONE: Samsung Galaxy Note 3 (SM-N900)
ROM: [KitKat][4.4.2] Stock N900UBUDND1 APR 17, 2014 CF-Auto-Root
RADIO: N900UBUDNC1
KERNEL: Stock
RECOVERY: CWM 6.0.4.7
WARRANTY BIT: 1

TABLET: Kindle Fire HD 8.9 Stock

STATUS: Flashing Addict!





Quote:
“He who answers a matter before he hears it, It is folly and shame to him.” Proverbs 18:13
The Following User Says Thank You to donalgodon For This Useful Post: [ Click to Expand ]
 
seavers11
Old
#15  
seavers11's Avatar
Senior Member
Thanks Meter 74
Posts: 1,155
Join Date: May 2007
Great use your hyperdroid on my HD2... Best Rom ever... I want to test what is better LeoMar75 Revolution rom or your hyperdroid rom!!!!

Send from my Revolution GT-I9100 using Tapatalk
The Following User Says Thank You to seavers11 For This Useful Post: [ Click to Expand ]
 
tonz22
Old
#16  
tonz22's Avatar
Senior Member
Thanks Meter 58
Posts: 305
Join Date: Dec 2006
Location: singapore
well come to gs2 , waiting for your rom.

I'm from hd2.. Hyper is the best for ever.
sorry for my poor English.
---------------
SamSung Galaxy S2.
HTC HD2 @android
 
sicopat
Old
#17  
sicopat's Avatar
Senior Member
Thanks Meter 942
Posts: 789
Join Date: Oct 2007

 
DONATE TO ME
Yes, finally released...

I didn't help much for this release but, i will give you my full support for next releases
Please, if you are happy, just push Thanks button
The Following User Says Thank You to sicopat For This Useful Post: [ Click to Expand ]
 
vtec303
Old
#18  
vtec303's Avatar
Senior Member
Thanks Meter 124
Posts: 610
Join Date: Sep 2007
Location: Manchester
Woooo, hyperdroid, I remember the days I had HD2, used to love your roms with 160 or 180 dpi screen resolution, welcome waiting for your rom, Regards.
 
karan999
Old
(Last edited by karan999; 4th October 2011 at 05:51 PM.)
#19  
karan999's Avatar
Recognized Developer
Thanks Meter 88
Posts: 1,801
Join Date: Dec 2008
Welcome pongster !!!!!!!!! warm greatings from India too !!!!!!!
We are honoured to have you on the Samsung Galaxy S2 forums !!!
Eagerly waiting for your work.

We need performance !!! Looks are secondary !!!

Best Regards,
Karan.


My Custom W.M.6.1 ROMSMy Custom WM 6.5 ROMSHTC Audio convertersStorage card info for P3400i

If you like my work on Xda,please donate.

 
hedayat7
Old
#20  
hedayat7's Avatar
Senior Member
Thanks Meter 68
Posts: 465
Join Date: Feb 2011
Location: Kuala Lumpur

 
DONATE TO ME
sweet and warm welcome !! nice to have you here !!

will support 100%

The Following User Says Thank You to hedayat7 For This Useful Post: [ Click to Expand ]
Tags
beautiful, best battery life, different looking, functional, intuitive, placebo free, pretty, red pill kernel, responsive, solid, surgeon
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes