All the talk of kanging…

So, some well known developers (or patch monkeys) are claiming I kanged them.

I personally feel this is an attempt to make me post my source, so they could kang the updates in the features being questioned.
faux123 ( Paul Reioux )claims I kanged his f/sync, showp1984 ( Dennis Rassmann )claims i kanged his mpdecision.  there is ZERO proof of this, as I did not kang this.
There is proof that proves I had these features before faux and showp.  This proof is the fact I had these features while I was on XDA.  Anyone can look at my profile on XDA and see my last activity date.  This date is long before showp1984 invented mpdecision, and long before faux123 invented f/sync.
On XDA – these features were discussed, and the sysfs files/paths used back then are identical to the paths used by these other developers, as well as my newer kernels.

Yes, the authored date, and commit dates can be “faked” but the date you push the code to a public repo such as bitbucket or github can not be faked.  Something else that can not be faked.. having the feature in the hands of end users long before other developers claim to have invented the feature.

Both my f/sync and mpdecision mods today contain enhancements that do not exist in showp’s or faux’s code.  Why?  Cause I have not posted my updated source.

When I 1st released f/sync, it was NOT dynamic, it was on or off depending on what users set in sysfs.  faux’s f/sync patch added early suspend code to my base, making it dynamic.  If one was to remove the dynamic part of his f/sync, the code (except for about 4 or 5 lines) would be 100% identical to my open sourced f/sync mod.  Yes, I have adopted faux’s improvements, and unlike him – I did infact give him credit both in my change log, and in the actual code itself for his additions to my patch.

When showp1984 “pushed” mpdecision to his sensation kernel, this exact code had already been in my code.google.com repo, as well as in the hands of end users for more than 4 months.  Except for the copyright and author, the code was identical.
Yet, so many people choose to stand by faux and showp, even they both have been proven to be kangers – other developers with no connection to me have posted proof on xda and other social media sites proof that both these people kang over 95% of the “original work”

No one can prove I kanged faux or showp, cause I didn’t.  There is proof on the internet that will prove I had the features in question long before these 2 other developers.  Yet, so many people choose to just take their word for it.  Even developers I have helped in the past turned against me, even when I shared the code in question with them before the other developer “invented it”

This is why I stopped sharing source.

Why would these other developers insist they came up with the features in question?  well – money.. donations…. to make them look better.  I do not ask for donations – and have not even accepted donations for over 1 year since I started making kernels.  While these other developers “beg” for donations – or make posts that “donations motivate them to provide updates”  Some developers even sell apps on play store that make use of my original code, and claim that app is required in order to make use of the feature.  *In reality – the feature can be used via sysfs, and the paths are fully disclosed on my website)

Kernel Based MPDECISION and THERMALD

So, I wanted to post more fun facts about a specific feature that has been in my kernel since the days I was back on XDA

1st fact:
I left XDA just about 1 year ago.

While I was on XDA, my friend Eric and I made kernel based mpdecision and kernel based thermald.  Since “Authored on” and “commited on” dates can easlity be faked, I will talk about push dates.. the date the repo server, be it github.com or bitbucket.org physically receive the patch.

On Jan 3rd, 2012 I pushed experimental versions of both of these mods to code.google.com for my open source kernels I posted on XDA.

This patch was uppdated on Feb 26th and pushed to bitbucket, and the binary containing both of these features was uploaded to XDA for the masses to consume.

After a few more updates and test kernels, the feature was advertised on XDA on March 8th 2012, and openly discussed on xda starting on this date.  my OP title was even modified to include the words “mpdecision” and “thermald”

11 months ago as of today showp1984 (aka Dennis Rassmann ) invents this same feature after I had already left xda.

Now, if we look at showp’s repo – and look at the date github physically received the code ( here is the link -> https://github.com/showp1984/bricked-pyramid-3.0/commits/master/arch/arm/mach-msm/msm_mpdecision.c ) we can see his source was authored 11 months ago, but pushed to the repo on Jun 22, 2012.

so – as shown in the link above, his code was not even public until AFTER I had this feature in the hands of end users, as well as it being openly discussed on xda in my threads.

even if we go by his authored by date, I still clearly had it 1st.

yet Dennis Rassmann claims to this day that I kanged / stole this code from him.

He also accused me un public on xda of kanging his “3d fix patch” – a patch that was line for line identical to the code found in the rezound kernel found at htcdev.com.  Since I got the code from htc, htc was gi ven credit – and this upset showp, as he felt the patch was his, so I guess it is same to assume htc stole the code from showp/Dennis Rassmann.

if we look at

https://github.com/showp1984/bricked-pyramid-3.0/commit/95093f23850616f8a4631e6668782a769be5b6fb.patch

From 95093f23850616f8a4631e6668782a769be5b6fb Mon Sep 17 00:00:00 2001 From: showp1984 <[email protected]> Date: Thu, 21 Jun 2012 06:08:02 +0200 Subject: [PATCH] mach-msm: Add msm_mpdecision This currently only does the following thing: Screen on -> CPU1 online Screen off -> CPU1 offline More to come.

it is clear he made this on Thu, 21 Jun 2012
this is long after I had left XDA.  How can i have a feature advertised on xda, and discussed on xda, when i stole it from him 2+ months before he even invented it???

if you look at my xda profile it will clearly say
Last Activity: 11th May 2012 01:12 AM

non-dynamic f/sync hack, and how it became dynamic

As a reminder, my last activity on XDA was May 11, 2012.
A kernel I had on XDA for GB roms on the HTC evo 3d had a f/sync hack.  Since this kernel was on XDA, it was open sourced.  f/sync could be enabled and disabled via sysfs using the same sysfs paths/files that exist in my current kernels.

This feature was tested, and feedback was provided in my threads on xda.

on Sept 16, 2012 faux123 (Paul Reioux ) pushed a f/sync hack to github (as seen here: https://github.com/faux123/msm8660-htc-ics/commits/xe_exp/fs/dyn_sync_cntrl.c )

This is months after I was already gone from XDA.

This patch from faux was dynamic f/sync.  If you striped the early suspend code (the dynamic part) of this patch, there are less than 5 lines of code that differ from the code I had in my open sourced GB kernels on xda.

I later adopted faux’s change to my code, and not only gave him credit in my change log, but also i n the code itself. (line 3)

Yet, faux123 claims credit for the entire patch, and he and several of his buddies are accusing me of steeling this code from him in public forum.

This is just one more example of why I stopped sharing my source code.

GPL Compliance Update

I wish to address the false information (in other words, the lies) being said about me by Eric Appleman (aka llstarks), Dan Pasanen (aka invisiblek) and their associates.

Eric is spreading lies and false information about me “breaking the law” in regards to me releasing kernels.  He is also saying im out of GPL compliance, and my kernels are available to the general public, so I wish to address a few of these subjects.

First, I know a lot of people who believe in Open Source, such as other developers, resent me, and don’t like me, due to the fact I stopped release source.  I wish to remind everyone that the opinion these others may have of me has zero impact on the actual laws, contracts, or license agreements that will be touched upon in this post.

The GPL is a software license agreement.  In other words, it is a “contract” so to speak.  It is not a law, it does not have any penal or civil codes connected to it.

When you violate the GPL, you loose your rights granted to you by the GPL.  Some of these rights is being able to use the source code used for the linux kernel, modify it, and post it (pubic-ally or privately).  Now, im not picking on anyone, but below is a perfect example of a GPL violation that would have resulted in the developer being discussed below loosing any and all rights granted to him under the GPL.

Paul Reioux (aka faux123 ) , who is a well known developer, and well respected on XDA-Develoeprs.com violated the GPL for several months.  How do I know this?  He admitted to it.  Since he admitted to it, there is no investigation needed – He lost all rights granted to him under the GPL v2.0.  This means he can not legally distribute any linux.  Any kernel he released on or after the date he admitted to violation the GPL is a violation of copyright law, as he lost his rights under GPL v2.0 to distribute any linux kernels.  While it appears he has become compliant with the GPL again, he still has no rights until every copyright holder agrees to grant him a “new license”.  My friend Eric who is active on this forum is a copyright holder.  He also worked for a company that is a copyright holder.  Eric openly stated he will never agree to grant Paul Reioux a new software license.  This means every kernel Paul Reioux released is a true violation of copyright law.  Paul Reioux said he could not post source as his wife was having medical issues (that lasted for about 3 months).  While his wife was having medical issues, he did fail to keep his source repos current, he openly admitted to this.  But – I would like to point out the fact that during this same time frame, he had time to update and support his paid apps that he sells on google play, as well as maintain and post “social network” builds of his kernels, for more than 1 device.

Eric Appleman is 100% OK that Paul Reioux violated the GPL because Paul Reioux is “cool with him” (the exact quote from Eric Appleman in IRC was “I dont agree with the fact that faux123 violated GPL, but we are cool with each other”).

When Paul Reioux was reported to gpl-violations, Eric Appleman immediately made attempts to move the focus from Paul Reioux to myself.  Everything that was said about me was already said on the gpl-violatins mailing list, but when Paul Reioux came up, Eric Appleman felt the need to repeat what he had already said about me.  When anything at all was said about Paul, others put great effort into changing the subject to “chad” and “anthrax” in an attempt to bury faux’s non-compliance, to make people forget or overlook it.

Eric Appleman has lied, stating anyone and everyone could download my kernels.  If you read XDA, you will see many people are upset they can not download it.  I share my work with a select few.

I would like to now quote some information from gnu.org regarding GPL v2.0, and comment on each of the quote

Eric Appleman insists that I must make source available to anyone who requests it, even if they do not have access to my kernel.  He said any 3rd party should be allowed to ask for and obtain source code.  This is wrong.  The only information posted about 3rd parties requesting source in the GPL is quoted below.  I do not commercially distribute my kernel,  The link is here ->  http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#WhatDoesWrittenOfferValid

What does this “written offer valid for any third party” mean? Does that mean everyone in the world can get the source to any GPL’ed program no matter what?
If you choose to provide source through a written offer, then anybody who requests the source from you is entitled to receive it.If you commercially distribute binaries not accompanied with source code, the GPL says you must provide a written offer to distribute the source code later. When users non-commercially redistribute the binaries they received from you, they must pass along a copy of this written offer. This means that people who did not get the binaries directly from you can still receive copies of the source code, along with the written offer.The reason we require the offer to be valid for any third party is so that people who receive the binaries indirectly in that way can order the source code from you.

I would also like to quote part of the GPL that states if I did sell my kernel for a fee, I could also charge for source code, as long as the charge for source did not exceed the charge of the actual kernel.  Link here -> http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#TOCDoesTheGPLAllowDownloadFee

Does the GPL allow me to charge a fee for downloading the program from my site?
Yes. You can charge any fee you wish for distributing a copy of the program. If you distribute binaries by download, you must provide “equivalent access” to download the source—therefore, the fee to download source may not be greater than the fee to download the binary.

I would also like to quote 2 more parts from gnu.org here.  First is at http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#GPLRequireSourcePostedPublic  and states the following:

Does the GPL require that source code of modified versions be posted to the public?
The GPL does not require you to release your modified version. You are free to make modifications and use them privately, without ever releasing them. This applies to organizations (including companies), too; an organization can make a modified version and use it internally without ever releasing it outside the organization.But if you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the program’s users, under the GPL.Thus, the GPL gives permission to release the modified program in certain ways, and not in other ways; but the decision of whether to release it is up to you.

Second is post I want to quote is the definition of “distribution” found here -> http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#TOCInternalDistribution

Is making and using multiple copies within one organization or company “distribution”?
No, in that case the organization is just making the copies for itself. As a consequence, a company or other organization can develop a modified version and install that version through its own facilities, without giving the staff permission to release that modified version to outsiders.However, when the organization transfers copies to other organizations or individuals, that is distribution. In particular, providing copies to contractors for use off-site is distribution.

Now I would like to point out a few facts about the 2 posts I just quoted.  “Organization” and “Company” are not defined in the GPL, so the common meaning of the word is used.  By googles definition of organization, anthrax-kernels is in fact an organization.  I would also like to point out that anthrax-kernels is a branch of a company I have a federal tax id number for, so this in fact makes it a company as well.

Eric Appleman insists that the author of the GPL does not define anthrax-kernels as an organization.  It does not matter if this is true or not, as it was not addressed within the gpl v2 software license text, it was mentioned just recently.

Even if my kernels were public, not 1 person has asked for (or requested) source until after the thread at gpl-violations were 2 days deep.

Some more quotes I would like to address.

http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#TOCCanIDemandACopy

If I know someone has a copy of a GPL-covered program, can I demand he give me a copy?
No. The GPL gives him permission to make and redistribute copies of the program if he chooses to do so. He also has the right not to redistribute the program, if that is what he chooses.

As stated above, I can pick who I give my kernel to, and who I dont give it to.  Eric Appleman, Dan Pasanen, and anyone associated with them or their team are not permitted to use my kernel by me.  This means if they get a copy of my kernel, it was not from me.  Being Eric Appleman claims he has a copy of my kernel, if he wants source, it is up to him to request it from the person who leaked my kernel to him.  It has already been discussed on the gpl-violations mailing list that if person/company A gives a kernel to person/company B, and person/company B gives it to person/company C it is up to person/company B to provide person/company C with source if person/company C requests source.  So, if I give my kernel to a member of my organization, I do not need to provide source, as I am not distributing my kernel.  Now if you give this kernel to Eric Appleman for example, and he requests source, that is 100% on you, as you are the one who distributed the kernel.

And, as stated here -> http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#TOCGPLRequireSourcePostedPublic

Does the GPL require that source code of modified versions be posted to the public?
The GPL does not require you to release your modified version. You are free to make modifications and use them privately, without ever releasing them. This applies to organizations (including companies), too; an organization can make a modified version and use it internally without ever releasing it outside the organization.But if you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the program’s users, under the GPL.Thus, the GPL gives permission to release the modified program in certain ways, and not in other ways; but the decision of whether to release it is up to you.

If i released my kernel to the public, I would only need to make source code available to the programs users.

Since I have left XDA, my kernels are not for public use or distribution, and I have never posted any kernels that were available to the general public since the day I left XDA. .  While I was on XDA, my kernels posted, and supported on xda were public, and I have a full public repo available for these kernels to anyone who asked for it (or for those who would look at my OP on xda would find a link if they read the entire post).

If there are any public links to my kernel, they are unauthorized by me.  Any kernels downloaded from any such link, mirror, or what ever you wish to call it is considered a leak.  Unless I have given you written, signed and notorized approval to have my kernel, what you have is considered a leak.

Any kernels I release to the public in the future will also have full current and correct source code.  Any “public” kernel released by me to the general public will have information in /sbin/readme  on how to acquire source (since per the GPL I only need to provide source to the programs users – once the program is installed, they can read how to obtain source).

I would like to point out the fact that Eric Appleman requested on xda in public forum for all to read a request.  He made a request for someone to post publicly a leaked version of a pre-release samsung kernel, knowing there would never be any source available for that exact build.  So, its ok if you violate the GPL as long as your cool with Eric Appleman, and/or his associates.

I would also like to point out that while both Eric Appleman and Dan Pasanen both had accounts here (well multiple accounts) – they were never granted download rights, so they never even had access to any of my kernels via my site using their login information.  If they used someone elses log in information, that is considered a leaked kernel they downloaded.  So, even if anthrax-kernels is not an organization or company – the only 2 people who ever asked for source never had access to the binary from me, therefore are not entitled to any source.   Dan did have a public link containing old htc evo 3d kernels, he asked for source code for the kernels contained in that file download site, and his request was granted – he was linked to a repo containing my htc evo 3d source code from those kernels.

I wanted to touch on 1 more thing.  Eric Appleman states over and over that this site at one time was public and anyone could join.  He claims it was after the thread that was started at gpl-violations when this site went “invite only”.  To set the record straight here, this site has never for 1 day since its existence been public.  Yes in the beginning any one could “request” to join, but every request was manually reviewed by a human, and 60% of the requests were in fact rejected/denied.  Even if you were approved to join this site did not mean you had (or have) access to any downloads.  This site has over 6000 active user accounts, and only 479 of these 6000+ users have (or had) download rights.  This means less than 8% of the users here have (or had) access to download anything, be it roms, kernels, or anything else.  As far as this site being invite only, yes – this is what is advertised, buy anyone with a established facebook account can still “request” to join, and their request will be reviewed, then approved or denied – just like it has been the policy here since day one.

The question that has still not been answered by any official member of the gpl violation is if I am in fact distributing my kernel or not.  As distribution is defined at gnu.org – it is clear that I am not.  A lot of copyright holders as well as people how truly  believe in and live by open source state that “organization” was intended to be something other than how I am defining it.  The problem is, distribution is defined in the gpl, as well as at gnu.org, but organization and facilities were never defined in the gpl or by gnu.org.  Since these terms were not defined, the common meaning of these words take presidence.  over what may have been the “intended” meaning of the words.  I am using the definitions provided by google.com. This means that using the definitions provided by google for “define: organization”  and “define: facilities” – using the defination of “distributing” provided by gnu.org, I am not distributing any kernels, they are being used within a private organization, so per the gpl and per gnu – source does not need to be posted.

GPU and CPU multipliers and PLL tables

On March 18th, 2013 GoodAndEvo.net did a article about a kernel I released.  This kernel was a 1.72GHz kernel, but every kernel tuner and even sysfs would report it was a 3GHz kernel.  I also posted here on this site, where everyone could see it, how to obtain the correct frequencies and how to ensure your PLL tables were in fact correct.  This information was also posted at goodandevo.net, so most everyone had access on how to fix their broken kernels.  Please note that Marth 18th is when this information webt public, but the correct PLL tables and multipliers have been in my kernels since day one, even the open source kernels I posted on XDA.

For the hell of it, I did look at several kerne source repos for both htc and samsung devices for kernels posted on XDA, and every source repo I looked at had atleast one error in their tables (CPU and/or GPU). (I looked at over 20 kernels, some from well known “developers” such as faux, showp1984, and even cm)

Then came the idea of underclocking msm8960 devices to 192mhz. Almost every developer use the 384MHz multipliers, so while their kernels reported they were running at 192, in reality, they were running at 384MHz.

After I personally pointed this out to a few developers (and told them how to get the correct settings), these other developers adjusted pll8 from 384 to 192, not knowing this also impacted the speed of several other clocks that relied on pll8.  Even after I pointed this out, other developers insisted they were right. (GREP for pll8 in a kernel source repo, and see just what relies on pll8, when you reduce pll8 from 384 to 192, you are reducing the base speed of every clock that relies on this base clock – including some GPU clocks)

Now – months later, one specific developer is looking at a ton of repos, including CM and team hydra’s repo, as well as a few others making comments related to these pll / multipliers, acting as if he is the one who knows all, acting as if he is the one who found this fix, yet this one specific developer had errors in their tables prior to the article posted at GoodAndEvo.net, and a few even after the article was posted.

I find it truly amazing that other developers will come up with a fix, long after I did, and make others believe that this fix was their fix, and they had it before anyone else.  This same developer “invented” a few features MONTHS after I did, and claimed them as his own original work as well.  These “features” were commited to this other developers repo after I had already left XDA, yet – while I was on XDA – some of these features were openly discussed, and tested – and the kernel containing these features was open sourced, as was every kernel I posted and supported on XDA.

Whats even more amazing is that I will release a feature here on my site, have it in your hands… and 3-4 days later – someone on XDA will “invent” the same feature and claim it as original work, and users believe these other developers, cause if it dont exist on XDA, it just dont exist at all.

 

below is a list of every clock that is affected by these other “developers” reducing pll8 from 384mhz to 192mhz.  This reduction of pll8 seems to be the common “fix” to achieve 192MHz in 8960 based kernels.  A lot of “well known” developers accepted this reduction of pll8 as “acceptable”.  My kernels go as low as 162MHz, and use correct multipliers, without editing any base / core reference clocks such as pll8.

./clock-8960.c:    F_GP( 64000000, pll8, 2, 1, 3),
./clock-8960.c:    F_GP( 76800000, pll8, 1, 1, 5),
./clock-8960.c:    F_GP( 96000000, pll8, 4, 0, 0),
./clock-8960.c:    F_GP(128000000, pll8, 3, 0, 0),
./clock-8960.c:    F_GP(192000000, pll8, 2, 0, 0),
./clock-8960.c:    F_GP(384000000, pll8, 1, 0, 0),
./clock-8960.c:    F_GSBI_UART( 1843200, pll8, 1,  3, 625),
./clock-8960.c:    F_GSBI_UART( 3686400, pll8, 1,  6, 625),
./clock-8960.c:    F_GSBI_UART( 7372800, pll8, 1, 12, 625),
./clock-8960.c:    F_GSBI_UART(14745600, pll8, 1, 24, 625),
./clock-8960.c:    F_GSBI_UART(16000000, pll8, 4,  1,   6),
./clock-8960.c:    F_GSBI_UART(24000000, pll8, 4,  1,   4),
./clock-8960.c:    F_GSBI_UART(32000000, pll8, 4,  1,   3),
./clock-8960.c:    F_GSBI_UART(40000000, pll8, 1,  5,  48),
./clock-8960.c:    F_GSBI_UART(46400000, pll8, 1, 29, 240),
./clock-8960.c:    F_GSBI_UART(48000000, pll8, 4,  1,   2),
./clock-8960.c:    F_GSBI_UART(51200000, pll8, 1,  2,  15),
./clock-8960.c:    F_GSBI_UART(56000000, pll8, 1,  7,  48),
./clock-8960.c:    F_GSBI_UART(58982400, pll8, 1, 96, 625),
./clock-8960.c:    F_GSBI_UART(64000000, pll8, 2,  1,   3),
./clock-8960.c:    F_GSBI_QUP(15060000, pll8, 1, 2, 51),
./clock-8960.c:    F_GSBI_QUP(24000000, pll8, 4, 1,  4),
./clock-8960.c:    F_GSBI_QUP(25600000, pll8, 1, 1, 15),
./clock-8960.c:    F_GSBI_QUP(48000000, pll8, 4, 1,  2),
./clock-8960.c:    F_GSBI_QUP(51200000, pll8, 1, 2, 15),
./clock-8960.c:    F_PRNG(64000000, pll8),
./clock-8960.c:    F_SDC(   400000, pll8,  4, 1, 240),
./clock-8960.c:    F_SDC( 16000000, pll8,  4, 1,   6),
./clock-8960.c:    F_SDC( 17070000, pll8,  1, 2,  45),
./clock-8960.c:    F_SDC( 20210000, pll8,  1, 1,  19),
./clock-8960.c:    F_SDC( 24000000, pll8,  4, 1,   4),
./clock-8960.c:    F_SDC( 48000000, pll8,  4, 1,   2),
./clock-8960.c:    F_SDC( 64000000, pll8,  3, 1,   2),
./clock-8960.c:    F_SDC( 96000000, pll8,  4, 0,   0),
./clock-8960.c:    F_SDC(192000000, pll8,  2, 0,   0),
./clock-8960.c:    F_USB(60000000, pll8, 1, 5, 32),
./clock-8960.c:    F_USB(60000000, pll8, 1, 5, 32),
./clock-8960.c:    F_CE3( 48000000, pll8,  8),
./clock-8960.c:    F_CAM(  6000000, pll8, 4, 1, 16),
./clock-8960.c:    F_CAM(  8000000, pll8, 4, 1, 12),
./clock-8960.c:    F_CAM( 12000000, pll8, 4, 1,  8),
./clock-8960.c:    F_CAM( 16000000, pll8, 4, 1,  6),
./clock-8960.c:    F_CAM( 19200000, pll8, 4, 1,  5),
./clock-8960.c:    F_CAM( 24000000, pll8, 4, 1,  4),
./clock-8960.c:    F_CAM( 32000000, pll8, 4, 1,  3),
./clock-8960.c:    F_CAM( 48000000, pll8, 4, 1,  2),
./clock-8960.c:    F_CAM( 64000000, pll8, 3, 1,  2),
./clock-8960.c:    F_CAM( 96000000, pll8, 4, 0,  0),
./clock-8960.c:    F_CAM(128000000, pll8, 3, 0,  0),
./clock-8960.c:    F_CSI( 85330000, pll8, 1, 2, 9),
./clock-8960.c:    F_CSI_PHYTIMER( 85330000, pll8, 1, 2, 9),
./clock-8960.c:    F_GFX2D( 48000000, pll8, 1,  8),  // pll8 = 384   384*1/8 = 48
./clock-8960.c:    F_GFX2D( 54857000, pll8, 1,  7),  // pll8 = 384   384*1/7 = 54.85
./clock-8960.c:    F_GFX2D( 64000000, pll8, 1,  6),  // pll8 = 384   384*1/6 = 64
./clock-8960.c:    F_GFX2D( 76800000, pll8, 1,  5),  // pll8 = 384   384*1/5 = 76.8
./clock-8960.c:    F_GFX2D( 96000000, pll8, 1,  4),  // pll8 = 384   384*1/4 = 96
./clock-8960.c:    F_GFX2D(128000000, pll8, 1,  3),  // pll8 = 384   384*1/3 = 128
./clock-8960.c:    F_GFX3D( 48000000, pll8, 1, 8), //pll8 = 384, 384*1/8 = 48
./clock-8960.c:    F_GFX3D( 54857000, pll8, 1, 7), //pll8 = 384, 384*1/7 = 54.85
./clock-8960.c:    F_GFX3D( 64000000, pll8, 1, 6), //pll8 = 384, 384*1/6 = 64
./clock-8960.c:    F_GFX3D( 76800000, pll8, 1, 5), //pll8 = 384, 384*1/5 = 76.8
./clock-8960.c:    F_GFX3D( 96000000, pll8, 1, 4), //pll8 = 384, 384*1/4 = 96
./clock-8960.c:    F_GFX3D(128000000, pll8, 1, 3), //pll8 = 384, 384*1/3 = 128
./clock-8960.c:    F_GFX3D( 48000000, pll8, 1, 8), //pll8 = 384, 384*1/8 = 48
./clock-8960.c:    F_GFX3D( 54857000, pll8, 1, 7), //pll8 = 384, 384*1/7 = 54.85
./clock-8960.c:    F_GFX3D( 64000000, pll8, 1, 6), //pll8 = 384, 384*1/6 = 64
./clock-8960.c:    F_GFX3D( 76800000, pll8, 1, 5), //pll8 = 384, 384*1/5 = 76.8
./clock-8960.c:    F_GFX3D( 96000000, pll8, 1, 4), //pll8 = 384, 384*1/4 = 96
./clock-8960.c:    F_GFX3D(128000000, pll8, 1, 3), //pll8 = 384, 384*1/3 = 128
./clock-8960.c:    F_GFX3D( 48000000, pll8, 1, 8), //pll8 = 384, 384*1/8 = 48
./clock-8960.c:    F_GFX3D( 54857000, pll8, 1, 7), //pll8 = 384, 384*1/7 = 54.85
./clock-8960.c:    F_GFX3D( 64000000, pll8, 1, 6), //pll8 = 384, 384*1/6 = 64
./clock-8960.c:    F_GFX3D( 76800000, pll8, 1, 5), //pll8 = 384, 384*1/5 = 76.8
./clock-8960.c:    F_GFX3D( 96000000, pll8, 1, 4), //pll8 = 384, 384*1/4 = 96
./clock-8960.c:    F_GFX3D(128000000, pll8, 1, 3), //pll8 = 384, 384*1/3 = 128
./clock-8960.c:    F_VCAP( 54860000, pll8, 1,  7),
./clock-8960.c:    F_VCAP( 64000000, pll8, 1,  6),
./clock-8960.c:    F_VCAP( 76800000, pll8, 1,  5),
./clock-8960.c:    F_VCAP(128000000, pll8, 1,  3),
./clock-8960.c:    F_IJPEG( 36570000, pll8, 1, 2, 21),
./clock-8960.c:    F_IJPEG( 54860000, pll8, 7, 0,  0),
./clock-8960.c:    F_IJPEG( 96000000, pll8, 4, 0,  0),
./clock-8960.c:    F_IJPEG(109710000, pll8, 1, 2,  7),
./clock-8960.c:    F_IJPEG(128000000, pll8, 3, 0,  0),
./clock-8960.c:    F_IJPEG(153600000, pll8, 1, 2,  5),
./clock-8960.c:    F_JPEGD( 64000000, pll8, 6),
./clock-8960.c:    F_JPEGD( 76800000, pll8, 5),
./clock-8960.c:    F_JPEGD( 96000000, pll8, 4),
./clock-8960.c:    F_MDP(  9600000, pll8, 1, 40),
./clock-8960.c:    F_MDP( 13710000, pll8, 1, 28),
./clock-8960.c:    F_MDP( 29540000, pll8, 1, 13),
./clock-8960.c:    F_MDP( 34910000, pll8, 1, 11),
./clock-8960.c:    F_MDP( 38400000, pll8, 1, 10),
./clock-8960.c:    F_MDP( 59080000, pll8, 2, 13),
./clock-8960.c:    F_MDP( 76800000, pll8, 1,  5),
./clock-8960.c:    F_MDP( 85330000, pll8, 2,  9),
./clock-8960.c:    F_MDP( 96000000, pll8, 1,  4),
./clock-8960.c:    F_MDP(128000000, pll8, 1,  3),
./clock-8960.c:    F_ROT( 29540000, pll8, 13),
./clock-8960.c:    F_ROT( 32000000, pll8, 12),
./clock-8960.c:    F_ROT( 38400000, pll8, 10),
./clock-8960.c:    F_ROT( 48000000, pll8,  8),
./clock-8960.c:    F_ROT( 54860000, pll8,  7),
./clock-8960.c:    F_ROT( 64000000, pll8,  6),
./clock-8960.c:    F_ROT( 76800000, pll8,  5),
./clock-8960.c:    F_ROT( 96000000, pll8,  4),
./clock-8960.c:    F_VCODEC( 32000000, pll8, 1, 12),
./clock-8960.c:    F_VCODEC( 48000000, pll8, 1,  8),
./clock-8960.c:    F_VCODEC( 54860000, pll8, 1,  7),
./clock-8960.c:    F_VCODEC( 96000000, pll8, 1,  4),
./clock-8960.c:    F_VPE( 34909000, pll8, 11),
./clock-8960.c:    F_VPE( 38400000, pll8, 10),
./clock-8960.c:    F_VPE( 64000000, pll8,  6),
./clock-8960.c:    F_VPE( 76800000, pll8,  5),
./clock-8960.c:    F_VPE( 96000000, pll8,  4),
./clock-8960.c:    F_VFE( 13960000, pll8,  1, 2, 55),
./clock-8960.c:    F_VFE( 36570000, pll8,  1, 2, 21),
./clock-8960.c:    F_VFE( 38400000, pll8,  2, 1,  5),
./clock-8960.c:    F_VFE( 45180000, pll8,  1, 2, 17),
./clock-8960.c:    F_VFE( 48000000, pll8,  2, 1,  4),
./clock-8960.c:    F_VFE( 54860000, pll8,  1, 1,  7),
./clock-8960.c:    F_VFE( 64000000, pll8,  2, 1,  3),
./clock-8960.c:    F_VFE( 76800000, pll8,  1, 1,  5),
./clock-8960.c:    F_VFE( 96000000, pll8,  2, 1,  2),
./clock-8960.c:    F_VFE(109710000, pll8,  1, 2,  7),
./clock-8960.c:    F_VFE(128000000, pll8,  1, 1,  3),
./clock-8960.c:    F_VFE(153600000, pll8,  1, 2,  5),

 

Im asked “Why make a kernel if you dont share it, or restrict who you share it with?”

I get asked the following questions a lot, I also see people on XDA posting similar questions, so I figured I would address these.

  1. Why do you make kernels if you dont openly share?
  2. Why restrict who has access to your kernels

I make my kernels for devices I own and use daily.

I do not make kernels to collect donations or money.  I actually refused donations for the longest time.

I do not own a VZW or ATT samsung s3, but building a kernel for these devices after I built it for my Sprint S3 device only takes 10 minutes.

So,Why not share with a small group of people what I personally run on my device?

This is why I do not develop for devices I do not own, even though the patches I use could be applied to almost any device.

Even if I stopped sharing, I would still keep my kernels up to date, as I personally want the best on my devices. :)

MSM8960 Kernels (HTC & SAMSUNG) hit 7000+ quad at stock cpu speed

My recent builds of 8960 kernels for the Samsung S3 as well as the HTC EVO 4G LTE have several original features, as well as the ability to hit 7000+ in quad, 12000+ an antutu, and 300+ in linpack, all at stock CPU clocks (1.5GHz)

You ask how I am able to do this?

Well its simple, optimization, correct PLL tables, and overclocking the device subsystems.  I synced the L2 cache to the cpu clock, so this adds 300MHz over stock source. I allow you to OC the gpu with a anthrax original max_gpuclk sysfs file. and I push the limits of the device’s FSB using a custom written from scratch Dynamic FSB controller.  While most kernels can set a specific FSB clock at each L2 speed, all my clocks are pre-set to 800, and a 4.5second test is performed at boot time to set the FSB that is ideal for your specific device.  This is done by monitoring L2, and RAM ECC reties, and adjusting your max fsb clock on the fly.

The downside to the dynamic FSB: currently once your clock is decreased due to excessive errors, the only way to reset or increase your FSB clock is to reboot the device.  During boot up, the driver tests for a good base frequency for your device.  While the device is powered on and the screen is on, the driver monitors ECC errors, as well as ram and cpu temperature, and decreases the clock to keep your device stable.

This may cause slowness after a few days as with excessive errors, the FSB bus can be reduced to as low as 192MHz, I am working on a “safe” method to reset the clock or increase it without a reboot.

Anthrax kernels starting with my 100% public source kernels I had on xda were the 1st kernels to use 100% correct PLL tables for the CPU, L2, GPU as well as the Video Frame Buffer.  I was also the first to use correct bandwidth settings for GPU to CPU communications as well as FSB clocks. (based off of searches of kernels posted on XDA at the time I applied the fix)

Some other features; back in January I had pushed some 8660 audio driver enhancements that allowed for sysfs control over some sound parameters.  I recently adopted this patch to work with the audio chipset in the 8960 devices.   I also allow the OC of the GPU to 533MHz, and disabled the forced “vsync=on” code in the kernel.  VSYNC is still enabled in the rom, but can be disabled by rom developers, if they so desire.

Below is a list of modifications and patches that did not exist on xda at the time I pushed the patch to my repo, either public or private.  I also made all my public repo’s hidden due to some other developers stealing my code, claiming it as their own, then accusing me of stealing it from them. (my sound modification for example…)

  1. sysfs control over audio settings
  2. sysfs control over max gpu clock
  3. allow aroma to customize kernel settings such as gpu and cpu clocks, i oscheduler, cpu governor, and sweep2wake options
  4. sysfs control over sweep2wake start/end points
  5. fastcharge (yes chad0989 and yank555-lu enhanced it with sysfs control, but I had fastcharge in my kerenls long before anyone else – just with no on/off switch.
  6. correct PLL tables for cpu, gpu, and video framebuffer
  7. correct bandwidth settings for cpu to gpu bus as well as fsb
  8. pm=fast, pm=max adjustable via sysfs in my 8660 kernels
  9. HBR bluetooth
  10. 100% kernel side beats support for htc and samsung devices that did not originally support beats.
  11. 120hz / 3d support over hdmi/mhl
  12. +mA mod (charging battery while MHL is in use)
  13. USB OTG 100% working for 8660 and 8960 devices
  14. Fully working exFAT for the samsung devices, and partial support for the htc evo 4g lte and htc evo 3d (the only non-stock samsung kernel with working exFAT per searches at XDA)
  15. the features that msm-dcvs brings you, but available on ALL governors, on the S3 as well as the htc evo 3d, sensation, and htc evo 4g lte. (dynamic clock and voltage scaling – for both GPU and CPU)
  16. Kernel based thermal management with full sysfs interface
  17. Kernel absed mpdecision with full sysfs interface
  18. native support for erandom, and frandom without the need for a loadable module
  19. dynamic f/sync with sysfs control
  20. dynamic read-ahead
  21. kernel side support for CRT-MOD (still requires rom side support)

This is a short list of features I brought to your devices that did not exist on XDA at the time I applied the patch.

I was also the 1st developer to provide a bootable and 100% fully working linux 3.4 kernel for the Samsung S3 devices, as well as a AOSP rom built 100% from google and samsung source, with ZERO lines of code from CM.  This rom did not have the uissues that to this day are unresolved on CM builds, and was 100% functional and fully working, even 4G/LTE :)

Public reply to all the recent GPL drama…

Kernels are licensed under GPL v2.0.  A small group of people who never had rights to download from my site acquired some kernels that I developed.  This group of peiople were never entitled to the compiled binary, let alone the source code for said binaries.

Using a ‘leaked’ password, one member of this group downloaded some binaries from a password protected website, claims he “legally” downloaded the kernel and therefore he is legally entitled to source.  This is 100% untrue.  He was never entitled to the password that was required to download these non-public kernels.  What he did would be no different than if I have you a user name and password to download unreleased RUU files from HTC’s secured web servers, you downloaded the RUU, and under GPL v2.0, you expected HTC to release source to you for the kernel contained in the RUU, when you had no right downloaded the RUU to begin with.

To clarify, not every member of my forum (organization) has rights to download any software.  Violation of any of the rules, such as duplicate accounts, use of proxy servers, or other anonymous web surfing services for example is cause for immediate termination for any rights within my organization, with or without notice.

Now, in regards to the recent claims of non-compliance, I wish to point out that under the information provided directly by gpl-violations.org ( http://gpl-violations.org/faq/sourcecode-faq.html ), It is clearly stated (before the FAQ page turned in to a error 404) that kernels released within a private organization do not have to have source posted.  Using the definitions in the US English dictionary, anthrax-kernels is a private organization, and the anthrax-kernels.us website is a facility.  Organization and Facilit / Facilities are not redefined in the GPL verbiage, therefore the common meaning of the word is what shall be used.  The common meaning of these words is what is stated in the US English dictionary.

I am fully aware that many developers are not happy about this loophole I have found.  Some developers have said what I have done is spit on what they live by… the PL.  Peoples opinions do not change the law, and the law is based off of facts, not what others think.  4 weeks have passed since I was reported to gpl-violations.org, and I have not received a C&D order, nor have I been found guilty of a violation.  Some copyright owners have insisted that gpl-violations and FSF serve me with a C&D order – 4 weeks later, I still was not served.  Why?  Unless a judge wishes to redefine “organization” as well as “facility’ to something other than what is stated in the dictionary, there is no violation of the GPL, now matter how many developers this upsets.  Yes, I know I have made a lot of enemies for not sharing my fixes.  IMO, these other developers should be able to come up with the same fixes without my source, since they all claim I have ZERO original development in my kernels (yet, I have features and fixes no other kernel has).

Kernels that I have developed or worked on that are available to the general public do have a public source repo viewable by the general public.  In fact, my public kernels meet every requirement of the GPL v2, not just have source posted.  Less than 1% of the kernels posted on XDA are fully GPL v2 compliant.

Kernels that I do not release to the public or distribute will not have source posted, as these kernels are not for use or distribution to the public, or outside of my organization.

If you have come across a copy of my kernel via a ‘leaked’ password, bit torrent, or from a friend, you are technically running a ‘leak’, and I am not obligated to support ‘leaked’ software in any way, shape or forum, this includes GPL compliance.  The same goes for when HTC kernels are ‘leaked’ and posted on XDA as part of a ruu or rom update that was not officially released by HTC, they are not required to comply with GPL requirements, as they are not the ones who ‘distributed’ the binary.

 

 

Samsung GS3 (domestic) Kernels available for 8960 devices. now with exFAT support.

As everyone knew (and verified), my LJ7 kernels supported exFAT (except the last 3-4 updates, something broke).  I have fixed what was broken, and exFAT support is fully worknig in my latest MA6 based kernels.  Please be aware this modification requires both kernel and rom side support, as has been tested using freeza’s MA6 stock +root odex’ed rom.

Some highlights of the latest kernel:

  • kernel based mpdecision
  • kernel based thermal/thermald management
  • custom audio drivers
  • file system support: exFAT , ntfs (r/w), fat32, cifs
  • overclockable to 1.6ghz (and out performs other kernels that are running 1.8+ GHz).  6300 Quadrant, 11,000 Antutu, and 320 linback at 1.5GHz stock speed.
  • can be configured via aroma (using kernels command line)
  • sysfs control over max gpu clock
  • lots of linux 3.4 and 3.6 patches applied (as well as features from 3.4+ )
  • 2wcr (in a few select versions – cause issues for some) (2 way call record)
  • ability to override samsungs 1.15 min voltage via sysfs
  • support for screen-off crt mod (requires rom-side support)
  • linaro dynamic voltage scaling available to all cpu governors
  • fully linaro optimized -O3 with zero warnings and errors (a test was conducted, same exact source code  -Os vs -O3 – huge differences)
  • this is the 1st kernel not to need scripts or ramdisk edits to enhance performance
  • this is the only non-synergy kernel that is synergy friendly

Want a stable kernel?  look no further.  testing has proven this kernel to be 100% stable on a 100% stock untweaked, unmodified rom. (freeza’s ma6 odex’ed build used for testing)

visit the thread for more details and full list of features.  ==> http://anthrax-kernels.us/forum/showthread.php?t=2120

FIRST NON-CYANOGENMOD BASED ROM FOR SG3 RELEASED

ANTHRAX ROM – GOOGLE AOSP, ZERO DEPENDENCIES ON ANY CYANOGENMOD CODE

OFFICAL ROM BUILD LOG/CHANGE LOG

WHAT IS THIS?

Code:
USERS ON XDA INSIST THAT WITHOUT CYANOGENMOD, AOSP WOULD NOT EXIST ON ANY NON-NEXUS DEVICE.  THIS ROM
WAS CREATED TO PROVE THIS IS NOT THE CASE.  AS SHOWN IN THE MANIFEST BELOW, THIS ROM IS BASED OFF OF SAMSUNG/GOOGLE
CODE, NOT CYANOGENMOD.  WHILE THIS ROM CONTAINS CYANOGEN FEATURES, THEY ARE INCLUDED AS REQUESTED BY USERS, BUT ARE
NOT REQUIRED FOR THIS ROM TO RUN.  THIS ROM CONTAINS ALL OF THE LINARO SPECIFIC PATCHES, OPTIMIZATIONS AND FIXES.  I ALSO
SPENT 4+ MONTHS ADDRESSING AND RESOLVING EVERY WARNING CREATED DURING THE BUILD, SO UNLIKE CYANOGENMOD, THERE ARE NO
WARNINGS OR ERRORS DURING THE BUILD, AND I REMOVED EVERY -WNO AND -FNO FLAG.  THIS IS ALSO ANDROID 4.2.1_R_1.2.
THE DEVICE SPECIFIC FIELS ARE FROM SAMSUNG FOR ANDROID 4.1, AND MODIFIED BY ME FOR ANDROID 4.2.1.

THE MAIN INTENT OF THIS ROM IS TO HAVE A STABLE AND HIGH PERFORMANCE AOSP BASED ROM WITHOUT "DEPENDING" ON CYANOGENMOD.
THIS ROM DOES NOT HAVE MANY OF THE ISSUES CYANOGENMOD ROMS FOR THIS DEVICE HAVE.  SOME ISSUES CYANOGENMOD HAS WILL
EXIST IN THIS ROM DUE TO THE FACT WE DO NOT HAVE AN OFFIICAL ANDROID 4.2.1 KERNEL FOR 8960 DEVICES.


ROOT / PRIMARY MANIFEST

Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <manifest>

      <remote  name="aosp"
               fetch=".."
               review="https://android-review.googlesource.com/" />
      <default revision="refs/tags/android-4.2.1_r1.2"
               remote="aosp"
               sync-j="4" />

      <project path="build" name="platform/build" >
        <copyfile src="core/root.mk" dest="Makefile" />
      </project>
      <project path="abi/cpp" name="platform/abi/cpp" />
      <project path="bionic" name="platform/bionic" />
      <project path="bootable/bootloader/legacy" name="platform/bootable/bootloader/legacy" />
      <project path="bootable/diskinstaller" name="platform/bootable/diskinstaller" />
      <project path="bootable/recovery" name="platform/bootable/recovery" />
      <project path="cts" name="platform/cts" />
      <project path="dalvik" name="platform/dalvik" />
      <project path="development" name="platform/development" />
      <project path="device/asus/grouper" name="device/asus/grouper" groups="device" />
      <project path="device/asus/tilapia" name="device/asus/tilapia" groups="device" />
      <project path="device/common" name="device/common" />
      <project path="device/generic/armv7-a-neon" name="device/generic/armv7-a-neon" />
      <project path="device/generic/armv7-a" name="device/generic/armv7-a" />
      <project path="device/generic/common" name="device/generic/common" />
      <project path="device/generic/goldfish" name="device/generic/goldfish" />
      <project path="device/generic/mips" name="device/generic/mips" />
      <project path="device/generic/x86" name="device/generic/x86" />
      <project path="device/google/accessory/arduino" name="device/google/accessory/arduino" groups="device" />
      <project path="device/google/accessory/demokit" name="device/google/accessory/demokit" groups="device" />
      <project path="device/lge/mako" name="device/lge/mako" groups="device" />
      <project path="device/lge/mako-kernel" name="device/lge/mako-kernel" groups="device" />
      <project path="device/sample" name="device/sample" />
      <project path="device/samsung/maguro" name="device/samsung/maguro" groups="device" />
      <project path="device/samsung/manta" name="device/samsung/manta" groups="device" />
      <project path="device/samsung/toro" name="device/samsung/toro" groups="device" />
      <project path="device/samsung/toroplus" name="device/samsung/toroplus" groups="device" />
      <project path="device/samsung/tuna" name="device/samsung/tuna" groups="device" />
      <project path="device/ti/panda" name="device/ti/panda" groups="device" />
      <project path="docs/source.android.com" name="platform/docs/source.android.com" />
      <project path="external/aac" name="platform/external/aac" />
      <project path="external/android-clat" name="platform/external/android-clat" />
      <project path="external/android-mock" name="platform/external/android-mock" />
      <project path="external/ant-glob" name="platform/external/ant-glob" />
      <project path="external/antlr" name="platform/external/antlr" />
      <project path="external/apache-harmony" name="platform/external/apache-harmony" />
      <project path="external/apache-http" name="platform/external/apache-http" />
      <project path="external/apache-qp" name="platform/external/apache-qp" />
      <project path="external/apache-xml" name="platform/external/apache-xml" />
      <project path="external/arduino" name="platform/external/arduino" />
      <project path="external/astl" name="platform/external/astl" />
      <project path="external/bison" name="platform/external/bison" />
      <project path="external/blktrace" name="platform/external/blktrace" />
      <project path="external/bluetooth/bluedroid" name="platform/external/bluetooth/bluedroid" />
      <project path="external/bouncycastle" name="platform/external/bouncycastle" />
      <project path="external/bsdiff" name="platform/external/bsdiff" />
      <project path="external/bzip2" name="platform/external/bzip2" />
      <project path="external/checkpolicy" name="platform/external/checkpolicy" />
      <project path="external/chromium" name="platform/external/chromium" />
      <project path="external/chromium-trace" name="platform/external/chromium-trace" />
      <project path="external/cibu-fonts" name="platform/external/cibu-fonts" />
      <project path="external/clang" name="platform/external/clang" />
      <project path="external/compiler-rt" name="platform/external/compiler-rt" />
      <project path="external/dbus" name="platform/external/dbus" />
      <project path="external/dexmaker" name="platform/external/dexmaker" />
      <project path="external/dhcpcd" name="platform/external/dhcpcd" />
      <project path="external/dnsmasq" name="platform/external/dnsmasq" />
      <project path="external/doclava" name="platform/external/doclava" />
      <project path="external/dropbear" name="platform/external/dropbear" />
      <project path="external/e2fsprogs" name="platform/external/e2fsprogs" />
      <project path="external/easymock" name="platform/external/easymock" />
      <project path="external/eclipse-basebuilder" name="platform/external/eclipse-basebuilder" />
      <project path="external/eclipse-windowbuilder" name="platform/external/eclipse-windowbuilder" />
      <project path="external/elfutils" name="platform/external/elfutils" />
      <project path="external/embunit" name="platform/external/embunit" />
      <project path="external/emma" name="platform/external/emma" />
      <project path="external/esd" name="platform/external/esd" />
      <project path="external/expat" name="platform/external/expat" />
      <project path="external/eyes-free" name="platform/external/eyes-free" />
      <project path="external/fat32lib" name="platform/external/fat32lib" />
      <project path="external/fdlibm" name="platform/external/fdlibm" />
      <project path="external/flac" name="platform/external/flac" />
      <project path="external/freetype" name="platform/external/freetype" />
      <project path="external/fsck_msdos" name="platform/external/fsck_msdos" />
      <project path="external/ganymed-ssh2" name="platform/external/ganymed-ssh2" />
      <project path="external/gcc-demangle" name="platform/external/gcc-demangle" />
      <project path="external/genext2fs" name="platform/external/genext2fs" />
      <project path="external/giflib" name="platform/external/giflib" />
      <project path="external/google-diff-match-patch" name="platform/external/google-diff-match-patch" />
      <project path="external/grub" name="platform/external/grub" />
      <project path="external/gtest" name="platform/external/gtest" />
      <project path="external/guava" name="platform/external/guava" />
      <project path="external/hamcrest" name="platform/external/hamcrest" />
      <project path="external/harfbuzz" name="platform/external/harfbuzz" />
      <project path="external/hyphenation" name="platform/external/hyphenation" />
      <project path="external/icu4c" name="platform/external/icu4c" />
      <project path="external/iproute2" name="platform/external/iproute2" />
      <project path="external/ipsec-tools" name="platform/external/ipsec-tools" />
      <project path="external/iptables" name="platform/external/iptables" />
      <project path="external/jack" name="platform/external/jack" />
      <project path="external/javasqlite" name="platform/external/javasqlite" />
      <project path="external/javassist" name="platform/external/javassist" />
      <project path="external/jdiff" name="platform/external/jdiff" />
      <project path="external/jhead" name="platform/external/jhead" />
      <project path="external/jmdns" name="platform/external/jmdns" />
      <project path="external/jmonkeyengine" name="platform/external/jmonkeyengine" />
      <project path="external/jpeg" name="platform/external/jpeg" />
      <project path="external/jsilver" name="platform/external/jsilver" />
      <project path="external/jsr305" name="platform/external/jsr305" />
      <project path="external/junit" name="platform/external/junit" />
      <project path="external/kernel-headers" name="platform/external/kernel-headers" />
      <project path="external/libcap-ng" name="platform/external/libcap-ng" />
      <project path="external/libffi" name="platform/external/libffi" />
      <project path="external/libgsm" name="platform/external/libgsm" />
      <project path="external/liblzf" name="platform/external/liblzf" />
      <project path="external/libmtp" name="platform/external/libmtp" />
      <project path="external/libnfc-nci" name="platform/external/libnfc-nci" />
      <project path="external/libnfc-nxp" name="platform/external/libnfc-nxp" />
      <project path="external/libnl-headers" name="platform/external/libnl-headers" />
      <project path="external/libogg" name="platform/external/libogg" />
      <project path="external/libpcap" name="platform/external/libpcap" />
      <project path="external/libphonenumber" name="platform/external/libphonenumber" />
      <project path="external/libpng" name="platform/external/libpng" />
      <project path="external/libppp" name="platform/external/libppp" />
      <project path="external/libselinux" name="platform/external/libselinux" />
      <project path="external/libsepol" name="platform/external/libsepol" />
      <project path="external/libusb" name="platform/external/libusb" />
      <project path="external/libusb-compat" name="platform/external/libusb-compat" />
      <project path="external/libvorbis" name="platform/external/libvorbis" />
      <project path="external/libvpx" name="platform/external/libvpx" />
      <project path="external/libxml2" name="platform/external/libxml2" />
      <project path="external/libxslt" name="platform/external/libxslt" />
      <project path="external/libyuv" name="platform/external/libyuv" />
      <project path="external/linux-tools-perf" name="platform/external/linux-tools-perf" />
      <project path="external/littlemock" name="platform/external/littlemock" />
      <project path="external/llvm" name="platform/external/llvm" />
      <project path="external/lohit-fonts" name="platform/external/lohit-fonts" />
      <project path="external/markdown" name="platform/external/markdown" />
      <project path="external/mdnsresponder" name="platform/external/mdnsresponder" />
      <project path="external/mesa3d" name="platform/external/mesa3d" />
      <project path="external/mksh" name="platform/external/mksh" />
      <project path="external/mockwebserver" name="platform/external/mockwebserver" />
      <project path="external/mp4parser" name="platform/external/mp4parser" />
      <project path="external/mtpd" name="platform/external/mtpd" />
      <project path="external/naver-fonts" name="platform/external/naver-fonts" />
      <project path="external/netcat" name="platform/external/netcat" />
      <project path="external/netperf" name="platform/external/netperf" />
      <project path="external/neven" name="platform/external/neven" />
      <project path="external/nist-sip" name="platform/external/nist-sip" />
      <project path="external/oauth" name="platform/external/oauth" />
      <project path="external/okhttp" name="platform/external/okhttp" />
      <project path="external/opencv" name="platform/external/opencv" />
      <project path="external/openfst" name="platform/external/openfst" />
      <project path="external/openssh" name="platform/external/openssh" />
      <project path="external/openssl" name="platform/external/openssl" />
      <project path="external/oprofile" name="platform/external/oprofile" />
      <project path="external/ping" name="platform/external/ping" />
      <project path="external/ping6" name="platform/external/ping6" />
      <project path="external/ppp" name="platform/external/ppp" />
      <project path="external/proguard" name="platform/external/proguard" />
      <project path="external/protobuf" name="platform/external/protobuf" />
      <project path="external/qemu" name="platform/external/qemu" />
      <project path="external/qemu-pc-bios" name="platform/external/qemu-pc-bios" />
      <project path="external/quake" name="platform/external/quake" />
      <project path="external/regex-re2" name="platform/external/regex-re2" />
      <project path="external/replicaisland" name="platform/external/replicaisland" />
      <project path="external/safe-iop" name="platform/external/safe-iop" />
      <project path="external/sepolicy" name="platform/external/sepolicy" />
      <project path="external/skia" name="platform/external/skia" />
      <project path="external/smali" name="platform/external/smali" />
      <project path="external/sonivox" name="platform/external/sonivox" />
      <project path="external/speex" name="platform/external/speex" />
      <project path="external/sqlite" name="platform/external/sqlite" />
      <project path="external/srec" name="platform/external/srec" />
      <project path="external/srtp" name="platform/external/srtp" />
      <project path="external/stlport" name="platform/external/stlport" />
      <project path="external/strace" name="platform/external/strace" />
      <project path="external/stressapptest" name="platform/external/stressapptest" />
      <project path="external/svox" name="platform/external/svox" />
      <project path="external/tagsoup" name="platform/external/tagsoup" />
      <project path="external/tcpdump" name="platform/external/tcpdump" />
      <project path="external/tinyalsa" name="platform/external/tinyalsa" />
      <project path="external/tinyxml" name="platform/external/tinyxml" />
      <project path="external/tinyxml2" name="platform/external/tinyxml2" />
      <project path="external/tremolo" name="platform/external/tremolo" />
      <project path="external/v8" name="platform/external/v8" />
      <project path="external/valgrind" name="platform/external/valgrind" />
      <project path="external/webkit" name="platform/external/webkit" />
      <project path="external/webp" name="platform/external/webp" />
      <project path="external/webrtc" name="platform/external/webrtc" />
      <project path="external/wpa_supplicant_6" name="platform/external/wpa_supplicant_6" />
      <project path="external/wpa_supplicant_8" name="platform/external/wpa_supplicant_8" />
      <project path="external/xmlwriter" name="platform/external/xmlwriter" />
      <project path="external/xmp_toolkit" name="platform/external/xmp_toolkit" />
      <project path="external/yaffs2" name="platform/external/yaffs2" />
      <project path="external/zlib" name="platform/external/zlib" />
      <project path="external/zxing" name="platform/external/zxing" />
      <project path="frameworks/av" name="platform/frameworks/av" />
      <project path="frameworks/base" name="platform/frameworks/base" />
      <project path="frameworks/compile/libbcc" name="platform/frameworks/compile/libbcc" />
      <project path="frameworks/compile/linkloader" name="platform/frameworks/compile/linkloader" />
      <project path="frameworks/compile/llvm-ndk-cc" name="platform/frameworks/compile/llvm-ndk-cc" />
      <project path="frameworks/compile/mclinker" name="platform/frameworks/compile/mclinker" />
      <project path="frameworks/compile/slang" name="platform/frameworks/compile/slang" />
      <project path="frameworks/ex" name="platform/frameworks/ex" />
      <project path="frameworks/mff" name="platform/frameworks/mff" />
      <project path="frameworks/ml" name="platform/frameworks/ml" />
      <project path="frameworks/native" name="platform/frameworks/native" />
      <project path="frameworks/opt/calendar" name="platform/frameworks/opt/calendar" />
      <project path="frameworks/opt/carddav" name="platform/frameworks/opt/carddav" />
      <project path="frameworks/opt/emoji" name="platform/frameworks/opt/emoji" />
      <project path="frameworks/opt/inputmethodcommon" name="platform/frameworks/opt/inputmethodcommon" />
      <project path="frameworks/opt/mailcommon" name="platform/frameworks/opt/mailcommon" />
      <project path="frameworks/opt/mms" name="platform/frameworks/opt/mms" />
      <project path="frameworks/opt/photoviewer" name="platform/frameworks/opt/photoviewer" />
      <project path="frameworks/opt/telephony" name="platform/frameworks/opt/telephony" />
      <project path="frameworks/opt/vcard" name="platform/frameworks/opt/vcard" />
      <project path="frameworks/rs" name="platform/frameworks/rs" />
      <project path="frameworks/support" name="platform/frameworks/support" />
      <project path="frameworks/testing" name="platform/frameworks/testing" />
      <project path="frameworks/wilhelm" name="platform/frameworks/wilhelm" />
      <project path="gdk" name="platform/gdk" />
      <project path="hardware/broadcom/wlan" name="platform/hardware/broadcom/wlan" />
      <project path="hardware/invensense" name="platform/hardware/invensense" />
      <project path="hardware/libhardware" name="platform/hardware/libhardware" />
      <project path="hardware/libhardware_legacy" name="platform/hardware/libhardware_legacy" />
      <project path="hardware/msm7k" name="platform/hardware/msm7k" />
      <project path="hardware/qcom/audio" name="platform/hardware/qcom/audio" />
      <project path="hardware/qcom/bt" name="platform/hardware/qcom/bt" />
      <project path="hardware/qcom/camera" name="platform/hardware/qcom/camera" />
      <project path="hardware/qcom/display" name="platform/hardware/qcom/display" />
      <project path="hardware/qcom/gps" name="platform/hardware/qcom/gps" />
      <project path="hardware/qcom/keymaster" name="platform/hardware/qcom/keymaster" />
      <project path="hardware/qcom/media" name="platform/hardware/qcom/media" />
      <project path="hardware/qcom/msm8960" name="platform/hardware/qcom/msm8960" />
      <project path="hardware/qcom/power" name="platform/hardware/qcom/power" />
      <project path="hardware/qcom/sensors" name="platform/hardware/qcom/sensors" />
      <project path="hardware/qcom/wlan" name="platform/hardware/qcom/wlan" />
      <project path="hardware/ril" name="platform/hardware/ril" />
      <project path="hardware/samsung_slsi/exynos5" name="platform/hardware/samsung_slsi/exynos5" />
      <project path="hardware/ti/omap3" name="platform/hardware/ti/omap3" />
      <project path="hardware/ti/omap4xxx" name="platform/hardware/ti/omap4xxx" />
      <project path="hardware/ti/wlan" name="platform/hardware/ti/wlan" />
      <project path="hardware/ti/wpan" name="platform/hardware/ti/wpan" />
      <project path="libcore" name="platform/libcore" />
      <project path="libnativehelper" name="platform/libnativehelper" />
      <project path="ndk" name="platform/ndk" />
      <project path="packages/apps/BasicSmsReceiver" name="platform/packages/apps/BasicSmsReceiver" />
      <project path="packages/apps/Bluetooth" name="platform/packages/apps/Bluetooth" />
      <project path="packages/apps/Browser" name="platform/packages/apps/Browser" />
      <project path="packages/apps/Calculator" name="platform/packages/apps/Calculator" />
      <project path="packages/apps/Calendar" name="platform/packages/apps/Calendar" />
      <project path="packages/apps/Camera" name="platform/packages/apps/Camera" />
      <project path="packages/apps/CellBroadcastReceiver" name="platform/packages/apps/CellBroadcastReceiver" />
      <project path="packages/apps/CertInstaller" name="platform/packages/apps/CertInstaller" />
      <project path="packages/apps/Contacts" name="platform/packages/apps/Contacts" />
      <project path="packages/apps/DeskClock" name="platform/packages/apps/DeskClock" />
      <project path="packages/apps/Email" name="platform/packages/apps/Email" />
      <project path="packages/apps/Exchange" name="platform/packages/apps/Exchange" />
      <project path="packages/apps/Gallery" name="platform/packages/apps/Gallery" />
      <project path="packages/apps/Gallery2" name="platform/packages/apps/Gallery2" />
      <project path="packages/apps/HTMLViewer" name="platform/packages/apps/HTMLViewer" />
      <project path="packages/apps/KeyChain" name="platform/packages/apps/KeyChain" />
      <project path="packages/apps/Launcher2" name="platform/packages/apps/Launcher2" />
      <project path="packages/apps/LegacyCamera" name="platform/packages/apps/LegacyCamera" />
      <project path="packages/apps/Mms" name="platform/packages/apps/Mms" />
      <project path="packages/apps/Music" name="platform/packages/apps/Music" />
      <project path="packages/apps/MusicFX" name="platform/packages/apps/MusicFX" />
      <project path="packages/apps/Nfc" name="platform/packages/apps/Nfc" />
      <project path="packages/apps/PackageInstaller" name="platform/packages/apps/PackageInstaller" />
      <project path="packages/apps/Phone" name="platform/packages/apps/Phone" />
      <project path="packages/apps/Protips" name="platform/packages/apps/Protips" />
      <project path="packages/apps/Provision" name="platform/packages/apps/Provision" />
      <project path="packages/apps/QuickSearchBox" name="platform/packages/apps/QuickSearchBox" />
      <project path="packages/apps/Settings" name="platform/packages/apps/Settings" />
      <project path="packages/apps/SmartCardService" name="platform/packages/apps/SmartCardService" />
      <project path="packages/apps/SoundRecorder" name="platform/packages/apps/SoundRecorder" />
      <project path="packages/apps/SpareParts" name="platform/packages/apps/SpareParts" />
      <project path="packages/apps/SpeechRecorder" name="platform/packages/apps/SpeechRecorder" />
      <project path="packages/apps/Stk" name="platform/packages/apps/Stk" />
      <project path="packages/apps/Tag" name="platform/packages/apps/Tag" />
      <project path="packages/apps/VideoEditor" name="platform/packages/apps/VideoEditor" />
      <project path="packages/apps/VoiceDialer" name="platform/packages/apps/VoiceDialer" />
      <project path="packages/experimental" name="platform/packages/experimental" />
      <project path="packages/inputmethods/LatinIME" name="platform/packages/inputmethods/LatinIME" />
      <project path="packages/inputmethods/OpenWnn" name="platform/packages/inputmethods/OpenWnn" />
      <project path="packages/inputmethods/PinyinIME" name="platform/packages/inputmethods/PinyinIME" />
      <project path="packages/providers/ApplicationsProvider" name="platform/packages/providers/ApplicationsProvider" />
      <project path="packages/providers/CalendarProvider" name="platform/packages/providers/CalendarProvider" />
      <project path="packages/providers/ContactsProvider" name="platform/packages/providers/ContactsProvider" />
      <project path="packages/providers/DownloadProvider" name="platform/packages/providers/DownloadProvider" />
      <project path="packages/providers/DrmProvider" name="platform/packages/providers/DrmProvider" />
      <project path="packages/providers/MediaProvider" name="platform/packages/providers/MediaProvider" />
      <project path="packages/providers/PartnerBookmarksProvider" name="platform/packages/providers/PartnerBookmarksProvider" />
      <project path="packages/providers/TelephonyProvider" name="platform/packages/providers/TelephonyProvider" />
      <project path="packages/providers/UserDictionaryProvider" name="platform/packages/providers/UserDictionaryProvider" />
      <project path="packages/screensavers/Basic" name="platform/packages/screensavers/Basic" />
      <project path="packages/screensavers/PhotoTable" name="platform/packages/screensavers/PhotoTable" />
      <project path="packages/screensavers/WebView" name="platform/packages/screensavers/WebView" />
      <project path="packages/wallpapers/Basic" name="platform/packages/wallpapers/Basic" />
      <project path="packages/wallpapers/Galaxy4" name="platform/packages/wallpapers/Galaxy4" />
      <project path="packages/wallpapers/HoloSpiral" name="platform/packages/wallpapers/HoloSpiral" />
      <project path="packages/wallpapers/LivePicker" name="platform/packages/wallpapers/LivePicker" />
      <project path="packages/wallpapers/MagicSmoke" name="platform/packages/wallpapers/MagicSmoke" />
      <project path="packages/wallpapers/MusicVisualization" name="platform/packages/wallpapers/MusicVisualization" />
      <project path="packages/wallpapers/NoiseField" name="platform/packages/wallpapers/NoiseField" />
      <project path="packages/wallpapers/PhaseBeam" name="platform/packages/wallpapers/PhaseBeam" />
      <project path="pdk" name="platform/pdk" />
      <project path="prebuilts/clang/darwin-x86/3.1" name="platform/prebuilts/clang/darwin-x86/3.1" groups="darwin" />
      <project path="prebuilts/clang/darwin-x86/3.2" name="platform/prebuilts/clang/darwin-x86/3.2" groups="darwin" />
      <project path="prebuilts/clang/linux-x86/3.1" name="platform/prebuilts/clang/linux-x86/3.1" groups="linux" />
      <project path="prebuilts/clang/linux-x86/3.2" name="platform/prebuilts/clang/linux-x86/3.2" groups="linux" />
      <project path="prebuilts/eclipse" name="platform/prebuilts/eclipse" />
      <project path="prebuilts/eclipse-build-deps" name="platform/prebuilts/eclipse-build-deps" groups="notdefault,eclipse" />
      <project path="prebuilts/eclipse-build-deps-sources" name="platform/prebuilts/eclipse-build-deps-sources" groups="notdefault,eclipse" />
      <project path="prebuilts/gcc/darwin-x86/arm/arm-eabi-4.6" name="platform/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.6" groups="darwin,arm" />
      <project path="prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.6" name="platform/prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.6" groups="darwin,arm" />
      <project path="prebuilts/gcc/darwin-x86/mips/mipsel-linux-android-4.6" name="platform/prebuilts/gcc/darwin-x86/mips/mipsel-linux-android-4.6" groups="darwin,mips" />
      <project path="prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.6" name="platform/prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.6" groups="darwin,x86" />
      <project path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.6" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6" groups="linux,arm" />
      <project path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6" groups="linux,arm" />
      <project path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.4.3" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.4.3" groups="linux" />
      <project path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" groups="linux" />
      <project path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" groups="linux" />
      <project path="prebuilts/gcc/linux-x86/mips/mipsel-linux-android-4.6" name="platform/prebuilts/gcc/linux-x86/mips/mipsel-linux-android-4.6" groups="linux,mips" />
      <project path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.6" name="platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.6" groups="linux,x86" />
      <project path="prebuilts/misc" name="platform/prebuilts/misc" />
      <project path="prebuilts/ndk" name="platform/prebuilts/ndk" />
      <project path="prebuilts/qemu-kernel" name="platform/prebuilts/qemu-kernel" />
      <project path="prebuilts/sdk" name="platform/prebuilts/sdk" />
      <project path="prebuilts/tools" name="platform/prebuilts/tools" />
      <project path="sdk" name="platform/sdk" />
      <project path="system/bluetooth" name="platform/system/bluetooth" />
      <project path="system/core" name="platform/system/core" />
      <project path="system/extras" name="platform/system/extras" />
      <project path="system/media" name="platform/system/media" />
      <project path="system/netd" name="platform/system/netd" />
      <project path="system/security" name="platform/system/security" />
      <project path="system/vold" name="platform/system/vold" />
      <project path="tools/build" name="platform/tools/build" groups="toolsbuild" />
      <project path="tools/motodev" name="platform/tools/motodev" />

    </manifest>

DEVICE / VENDOR FILES

Code:
SAMSUNG ANDROID 4.1.2 DEVICE AND VENDOR FILES
    MODIFIED FOR ANDROID 4.2.1 BY CHAD GOODMAN

OPTIMIZATIONS

Code:
APPLIED EVERY LINARO PATCH
-FSTRICT-ALAISING IN EVERY ANDROID.MK FILE AND ROOT MAKEMILES
-O3 AND OTHER OPTIMIZATIONS
-ZERO -FNO OR -WNO FLAGS IN THE ENTIRE ROM

FIXES

Code:
ADDED -Werror FLAGS TO ROOT MAKEFILES AS WELL AS EVERY ANDROID.MK FILE TO STOP BUILD WHEN AN WARNING OCCURED
ADDRESSED AND RESOLVED EVERY WARNING AND ERROR

TOOLCHAINS

Code:
google stock 4.6 ndk

ANTI-KANG

Code:
 disabled in this build

RAMDISK

Code:
QUALCOMM 8960 UNIVERSAL RAMDISK, MODIFIED BY CHAD GOODMAN

KERNEL

Code:
BASE: 4.1.2 ANTHRAXED TOUCHWIZ KERNEL (2/8/2013 BUILD)
 PATCH: GPU AND VIDEO DRIVERS FROM CAF TO BE ANDROID 4.2.1 FRIENDLY
ZERO CM CODE EXISTS IN THE KERNEL
PATCHES FROM GOOGLES OFFICIAL ANDROID 4.2.1 NEXUS KERNELS

CM-PARTS / MANIFEST

Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>

  <remote  name="aosp"
           fetch="https://android.googlesource.com" />

  <remote  name="github"
           fetch=".."
           review="review.cyanogenmod.org" />

  <remote  name="private"
           fetch="ssh://[email protected]" />

  <default revision="refs/heads/cm-10.1"
           remote="github"
           sync-c="true"
           sync-j="4" />

  <project path="build" name="CyanogenMod/android_build">
    <copyfile src="core/root.mk" dest="Makefile" />
  </project>

  <project path="android" name="CyanogenMod/android" />

  <project path="packages/apps/Apollo" name="CyanogenMod/android_packages_apps_Apollo" />
  <project path="packages/apps/CMFileManager" name="CyanogenMod/android_packages_apps_CMFileManager" />
  <project path="packages/apps/DSPManager" name="CyanogenMod/android_packages_apps_DSPManager" />
  <project path="packages/apps/Superuser" name="CyanogenMod/android_packages_apps_Superuser" />
  <project path="packages/apps/Torch" name="CyanogenMod/android_packages_apps_Torch" />
  <project path="packages/apps/Trebuchet" name="CyanogenMod/android_packages_apps_Trebuchet" />
  <project path="packages/apps/Settings" name="CyanogenMod/android_packages_apps_Settings" />
  <project path="external/busybox" name="CyanogenMod/android_external_busybox" />
</manifest>

MISC

Code:
CM ANDROID_BUILD (BUILD SCRIPTS)
CM BUILD.PROP
FIXES (ADDITIONS) TO FRAMEWORK TO SUPPORT CM SETTINGS
CHANGES BY CHAD GOODMAN TO BLUETOOTH AND AUDIO PARTS
TMOBILE THEME MANAGER

PROPRIETARY FILES

Code:
IMPORTED FROMSTOCK SAMSUNG TOUCHWIZ ROM
AND A FEW UPDATES FROM CAF/QUALCOMM

CAF PATCHES

Code:
MISC APP SIDE PATCHES (JAVA)
   -SOME OF THESE ARE IDENTICAL TO CM PATCHES, DUE TO THE FACT CM DEVELOPERS KANGED THEM FROM CAF
   -SINCE I GOT THEM FROM CAF, AND NOT CM - CREDIT GOES TO CAF

COMPATIBLE KERNELS

Code:
ANY ANDROID 4.2.1 LINUX 3.4 KERNEL FOR THIS DEVICE (INCLUDING MY PRIVATE 3.4.27 KERNEL)
ANTHRAX CAF KERNELS (MY CAF KERNELS ARE A 3.0 / 3.4 HYBRID - THEY CONTAIN A LOT OF THE 3.4 CODE AND PATCHES) 
CM KERNELS MAY WORK, AS THEY USE THE CORRECT VIDEO AND GPU DRIVERS, JUST AN OLDER VERSION

STUFF THAT WORKS IN MY ROM THAT WAS BROKEN IN ALL THE CYANOGEN BASED ROMS (AS OF 2/13/2013)
(AS REPORTED BY USERS)

Code:
HDMI / MHL OUTPUT
CAMERA
BT PAIRING (TO DS3 CONTROLLER FOR EXAMPLE)
LONG TEXT MESSAGES (SMS 160+)
3G/4G/WIFI HANDOFF
A2DP W/ HIGH QUALITY AUDIO

STUFF USERS REPORTED AS IMPROVED OVER CM BASED ROMS (AS OF 2/13/2013)
(AS REPORTED BY USERS)

Code:
AUDIO QUALITY
PERFORMANCE
BLUETOOTH AUDIO QUALITY
BATTERY LIFE
STABILITY

KNOWN ISSUES

Code:
THE KERNEL IS A ANDROID 4.1.2 KERNEL "MODIFIED" TO WORK ON ANDROID 4.2.1
GOOGLE DOES NOT SUPPORT 8960 DEVICES IN THE NEXUS LINEUP, SO I DID MY BEST TO APPLY THEIR PATCHES TO THIS KERNEL
--> SO SOME THINGS (LIKE CAMERA) MAY ACT UP THE CAMERA ISSUE WILL BE RESOLVED WHEN I GET THE LINUX 3.4 CAMERA DRIVERS ACTUALLY WORKING CORRECTLY

I MAY HAVE LEFT SOME ANTI-KANG SHIT IN BY MISTAKE, THIS MAY CAUSE ISSUES SPECIFIC TO HTML IF SOMETHING WITHIN THE ROM CHANGES

DISCLAIMER:
I GUESS IT IS NOT PURE AOSP, BUT IT IS NOT CYANOGENMOD

IT IS A GOOGLE AOSP / SAMSUNG / LINARO HYBRID WITH CAF AND CM PARTS “ADDED” IN
WHILE CM PARTS (SEE CM MANIFEST ABOVE) WERE ADDED IN, NO EXISTING CODE WAS REPLACED WITH CM CODE