Index: branches/Chimera/coding_standards.txt =================================================================== --- branches/Chimera/coding_standards.txt (revision 2223) +++ branches/Chimera/coding_standards.txt (revision 2224) @@ -1,83 +0,0 @@ -Coding Standard rev. 0 (First Draft) - -1. Indentation - having seen most indentation styles going from 2 to 8 spaces, I would suggest a indentation of 4 spaces. - -2. Comments -I see here two main differents cases: -function description comments and one-line code quite comments - -For functions documentation, I suggest to use this syntax -/** - * - */ -Note the use of /** that will make future html auto-documentation easier (i.e: Doxygen at least recognize this marker) - -for punctual, short code comment, let's use: -// -3) #define at top of document -4) Global vars right below #include / #define (notation: gLobal) -Note that global vars and static vars should be avoided as much as possible in favor of local variables use, get/set functions (properties). - -5) No curly brackets for single lines - -6) else -{ - .... -} - -instead of: - -else { - .... -} - -7) if -{ - .... -} -instead of: - -if { - .... -} - -8) fall through code (using indention) or bail out early (using returns)? -Using early bail out for preconditions early in the function code, -use common sense to avoid as an example more than 4 imbricated if() constructions. -In the later case, consider decomposing your function in more manageable primitives. - -9) Spaces/readability i.e. not: if (fd<0) -but: if (fd < 0) - -10. types, variables, functions, naming -non const variables should follow the (currently mostly used) CamelCase convention: -int myVariableIsFine; -instead of : -int my_variable_is_ok; - -Functions should follow the same conventions except for standard c lib related functions. -Types should share the same convention but start with a Captial letter instead of lower case. - -11. Please make sure you extensively initialize variables: -avoid as much as possible: -int myVar -... -myVar = 10; - -but use instead: -int myVar = 10; - -12. const values: -const int MY_CONST_VARIABLE=42; is also ok for me, depending on the context of use. -or -const int MyConstVariable = 42; (with a Capital first letter) - -13. macro definitions should follow this convention: -#define MY_HANDY_MACROS_PSEUDO_FUNC() ... - -14. Macros use should be limited to really special cases where they bring real value (like special optimization cases) -Most of the time inlining a function is much better than the use of macros - -15. Don't optimize your code blindly, always favor readability when in doubt. -Very often, optimization is not necessary where you think it is, think about the bubble sort algorithm, where people would code it in assembly, where a heap or quick sort algorithm would be much more efficient (n log(n) instead of quadratic complexity), as an example when values count to be sorted get high. Index: branches/Chimera/autoconf.inc =================================================================== --- branches/Chimera/autoconf.inc (revision 2223) +++ branches/Chimera/autoconf.inc (revision 2224) @@ -1,28 +0,0 @@ -; -; Automatically generated make config: don't edit -; Chameleon Configuration -; Sun May 5 19:13:55 2013 -; -CONFIG_UCLIBCXX_MODULE EQU 1 -CONFIG_BOOT1_HFS_DEBUG EQU 0 -CONFIG_SATA_MODULE EQU 1 -CONFIG_KLIBC_MODULE EQU 1 -CONFIG_BOOT0_DEBUG EQU 0 -CONFIG_OPENUP EQU 0 -CONFIG_BOOT1_HFS_VERBOSE EQU 1 -CONFIG_EMBED_THEME EQU 0 -CONFIG_BOOT1_HFS EQU 1 -CONFIG_HELLOWORLD_MODULE EQU 0 -CONFIG_MODULES EQU 1 -CONFIG_BOOT0_VERBOSE EQU 1 -CONFIG_ACPICODEC_MODULE EQU 1 -CONFIG_KERNELPATCHER_MODULE EQU 1 -CONFIG_BDMESG EQU 1 -CONFIG_BOOT1_HFS_ACTIVE_VERBOSE EQU 1 -CONFIG_BOOT1_HFS_ACTIVE EQU 1 -CONFIG_FILENVRAM_MODULE EQU 1 -CONFIG_BOOT1_HFS_ACTIVE_DEBUG EQU 0 -CONFIG_FDISK440 EQU 1 -CONFIG_RESOLUTION_MODULE EQU 1 -CONFIG_KEYLAYOUT_MODULE EQU 1 -CONFIG_MODULE_DEBUG EQU 0 Index: branches/Chimera/GPL_V2_LICENSE =================================================================== --- branches/Chimera/GPL_V2_LICENSE (revision 2223) +++ branches/Chimera/GPL_V2_LICENSE (revision 2224) @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. \ No newline at end of file Index: branches/Chimera/auto.conf =================================================================== --- branches/Chimera/auto.conf (revision 2223) +++ branches/Chimera/auto.conf (revision 2224) @@ -1,22 +0,0 @@ -# -# Automatically generated make config: don't edit -# Chameleon Configuration -# Sun May 5 19:13:55 2013 -# -CONFIG_UCLIBCXX_MODULE=m -CONFIG_SATA_MODULE=m -CONFIG_KLIBC_MODULE=m -CONFIG_BOOT1_HFS_VERBOSE=y -CONFIG_BOOT1_HFS=y -CONFIG_MODULES=y -CONFIG_BOOT0_VERBOSE=y -CONFIG_ACPICODEC_MODULE=m -CONFIG_OPTIMIZATION_LEVEL="-Oz" -CONFIG_KERNELPATCHER_MODULE=y -CONFIG_BDMESG=y -CONFIG_BOOT1_HFS_ACTIVE_VERBOSE=y -CONFIG_BOOT1_HFS_ACTIVE=y -CONFIG_FILENVRAM_MODULE=y -CONFIG_FDISK440=y -CONFIG_RESOLUTION_MODULE=m -CONFIG_KEYLAYOUT_MODULE=m Index: branches/Chimera/CREDITS =================================================================== --- branches/Chimera/CREDITS (revision 2223) +++ branches/Chimera/CREDITS (revision 2224) @@ -1,18 +0,0 @@ -Credit goes to: -=============== - -Developers: ----------- -zef, Turbo, dfe, netkas, mackerintel, mercurysquad, fassl, Kabyl, Crazor, Dense, kaitek, iNDi, munky, JrCs, asereBLN, rekursor, mozodojo, meklort, AnV, valv, AzimutZ, Slice, cosmo1t, cparm, Conti - -Thanks to: ---------- -bumby, kalyway, Krazubu, Eddie11c, JaS, fassl, XyZ, SMF, flama, Galaxy, sckevyn, MasterChief, smith@@, blackosx, DHP, nawcom, scorpius, macman, dmazar - -Package: ---------- -kalyway, AzimutZ, blackosx, ErmaC, scrax, JrCs - -Copyright: ---------- -2008-2012 Index: branches/Chimera/README =================================================================== --- branches/Chimera/README (revision 2223) +++ branches/Chimera/README (revision 2224) @@ -1,7 +0,0 @@ -Chameleon is a Darwin/XNU boot loader based on Apple's boot-132. - -Because Chameleon now uses part of GPL V2 licensed code in 2 files, -it *must* conform to the most restrictive license that it uses that is the: -GPL Version 2 LICENSE - -Chameleon can thus be (and has to be) freely distributed under the term of the GPL V2 license which prevails, as it is the most restrictive license. Index: branches/Chimera/MEMTEST86_LICENSE =================================================================== --- branches/Chimera/MEMTEST86_LICENSE (revision 2223) +++ branches/Chimera/MEMTEST86_LICENSE (revision 2224) @@ -1,32 +0,0 @@ -dram_controllers.c/h that scans from the pci host controller USES -an adaptation for chameleon 2.0 RC5 from original : - -======================== -memtest86 license notice -======================== - - Released under version 2 of the Gnu Public License. - By Chris Brady, cbrady@sgi.com - ---------------------------------------------------- - MemTest86+ V4.00 Specific code (GPL V2.0) - By Samuel DEMEULEMEESTER, sdemeule@memtest.org - http://www.canardpc.com - http://www.memtest.org - - -============================ -GPL version 2 license notice -============================ - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Index: branches/Chimera/APPLE_LICENSE =================================================================== --- branches/Chimera/APPLE_LICENSE (revision 2223) +++ branches/Chimera/APPLE_LICENSE (revision 2224) @@ -1,367 +0,0 @@ -APPLE PUBLIC SOURCE LICENSE -Version 2.0 - August 6, 2003 - -Please read this License carefully before downloading this software. -By downloading or using this software, you are agreeing to be bound by -the terms of this License. If you do not or cannot agree to the terms -of this License, please do not download or use the software. - -1. General; Definitions. This License applies to any program or other -work which Apple Computer, Inc. ("Apple") makes publicly available and -which contains a notice placed by Apple identifying such program or -work as "Original Code" and stating that it is subject to the terms of -this Apple Public Source License version 2.0 ("License"). As used in -this License: - -1.1 "Applicable Patent Rights" mean: (a) in the case where Apple is -the grantor of rights, (i) claims of patents that are now or hereafter -acquired, owned by or assigned to Apple and (ii) that cover subject -matter contained in the Original Code, but only to the extent -necessary to use, reproduce and/or distribute the Original Code -without infringement; and (b) in the case where You are the grantor of -rights, (i) claims of patents that are now or hereafter acquired, -owned by or assigned to You and (ii) that cover subject matter in Your -Modifications, taken alone or in combination with Original Code. - -1.2 "Contributor" means any person or entity that creates or -contributes to the creation of Modifications. - -1.3 "Covered Code" means the Original Code, Modifications, the -combination of Original Code and any Modifications, and/or any -respective portions thereof. - -1.4 "Externally Deploy" means: (a) to sublicense, distribute or -otherwise make Covered Code available, directly or indirectly, to -anyone other than You; and/or (b) to use Covered Code, alone or as -part of a Larger Work, in any way to provide a service, including but -not limited to delivery of content, through electronic communication -with a client other than You. - -1.5 "Larger Work" means a work which combines Covered Code or portions -thereof with code not governed by the terms of this License. - -1.6 "Modifications" mean any addition to, deletion from, and/or change -to, the substance and/or structure of the Original Code, any previous -Modifications, the combination of Original Code and any previous -Modifications, and/or any respective portions thereof. When code is -released as a series of files, a Modification is: (a) any addition to -or deletion from the contents of a file containing Covered Code; -and/or (b) any new file or other representation of computer program -statements that contains any part of Covered Code. - -1.7 "Original Code" means (a) the Source Code of a program or other -work as originally made available by Apple under this License, -including the Source Code of any updates or upgrades to such programs -or works made available by Apple under this License, and that has been -expressly identified by Apple as such in the header file(s) of such -work; and (b) the object code compiled from such Source Code and -originally made available by Apple under this License. - -1.8 "Source Code" means the human readable form of a program or other -work that is suitable for making modifications to it, including all -modules it contains, plus any associated interface definition files, -scripts used to control compilation and installation of an executable -(object code). - -1.9 "You" or "Your" means an individual or a legal entity exercising -rights under this License. For legal entities, "You" or "Your" -includes any entity which controls, is controlled by, or is under -common control with, You, where "control" means (a) the power, direct -or indirect, to cause the direction or management of such entity, -whether by contract or otherwise, or (b) ownership of fifty percent -(50%) or more of the outstanding shares or beneficial ownership of -such entity. - -2. Permitted Uses; Conditions & Restrictions. Subject to the terms -and conditions of this License, Apple hereby grants You, effective on -the date You accept this License and download the Original Code, a -world-wide, royalty-free, non-exclusive license, to the extent of -Apple's Applicable Patent Rights and copyrights covering the Original -Code, to do the following: - -2.1 Unmodified Code. You may use, reproduce, display, perform, -internally distribute within Your organization, and Externally Deploy -verbatim, unmodified copies of the Original Code, for commercial or -non-commercial purposes, provided that in each instance: - -(a) You must retain and reproduce in all copies of Original Code the -copyright and other proprietary notices and disclaimers of Apple as -they appear in the Original Code, and keep intact all notices in the -Original Code that refer to this License; and - -(b) You must include a copy of this License with every copy of Source -Code of Covered Code and documentation You distribute or Externally -Deploy, and You may not offer or impose any terms on such Source Code -that alter or restrict this License or the recipients' rights -hereunder, except as permitted under Section 6. - -2.2 Modified Code. You may modify Covered Code and use, reproduce, -display, perform, internally distribute within Your organization, and -Externally Deploy Your Modifications and Covered Code, for commercial -or non-commercial purposes, provided that in each instance You also -meet all of these conditions: - -(a) You must satisfy all the conditions of Section 2.1 with respect to -the Source Code of the Covered Code; - -(b) You must duplicate, to the extent it does not already exist, the -notice in Exhibit A in each file of the Source Code of all Your -Modifications, and cause the modified files to carry prominent notices -stating that You changed the files and the date of any change; and - -(c) If You Externally Deploy Your Modifications, You must make -Source Code of all Your Externally Deployed Modifications either -available to those to whom You have Externally Deployed Your -Modifications, or publicly available. Source Code of Your Externally -Deployed Modifications must be released under the terms set forth in -this License, including the license grants set forth in Section 3 -below, for as long as you Externally Deploy the Covered Code or twelve -(12) months from the date of initial External Deployment, whichever is -longer. You should preferably distribute the Source Code of Your -Externally Deployed Modifications electronically (e.g. download from a -web site). - -2.3 Distribution of Executable Versions. In addition, if You -Externally Deploy Covered Code (Original Code and/or Modifications) in -object code, executable form only, You must include a prominent -notice, in the code itself as well as in related documentation, -stating that Source Code of the Covered Code is available under the -terms of this License with information on how and where to obtain such -Source Code. - -2.4 Third Party Rights. You expressly acknowledge and agree that -although Apple and each Contributor grants the licenses to their -respective portions of the Covered Code set forth herein, no -assurances are provided by Apple or any Contributor that the Covered -Code does not infringe the patent or other intellectual property -rights of any other entity. Apple and each Contributor disclaim any -liability to You for claims brought by any other entity based on -infringement of intellectual property rights or otherwise. As a -condition to exercising the rights and licenses granted hereunder, You -hereby assume sole responsibility to secure any other intellectual -property rights needed, if any. For example, if a third party patent -license is required to allow You to distribute the Covered Code, it is -Your responsibility to acquire that license before distributing the -Covered Code. - -3. Your Grants. In consideration of, and as a condition to, the -licenses granted to You under this License, You hereby grant to any -person or entity receiving or distributing Covered Code under this -License a non-exclusive, royalty-free, perpetual, irrevocable license, -under Your Applicable Patent Rights and other intellectual property -rights (other than patent) owned or controlled by You, to use, -reproduce, display, perform, modify, sublicense, distribute and -Externally Deploy Your Modifications of the same scope and extent as -Apple's licenses under Sections 2.1 and 2.2 above. - -4. Larger Works. You may create a Larger Work by combining Covered -Code with other code not governed by the terms of this License and -distribute the Larger Work as a single product. In each such instance, -You must make sure the requirements of this License are fulfilled for -the Covered Code or any portion thereof. - -5. Limitations on Patent License. Except as expressly stated in -Section 2, no other patent rights, express or implied, are granted by -Apple herein. Modifications and/or Larger Works may require additional -patent licenses from Apple which Apple may grant in its sole -discretion. - -6. Additional Terms. You may choose to offer, and to charge a fee for, -warranty, support, indemnity or liability obligations and/or other -rights consistent with the scope of the license granted herein -("Additional Terms") to one or more recipients of Covered Code. -However, You may do so only on Your own behalf and as Your sole -responsibility, and not on behalf of Apple or any Contributor. You -must obtain the recipient's agreement that any such Additional Terms -are offered by You alone, and You hereby agree to indemnify, defend -and hold Apple and every Contributor harmless for any liability -incurred by or claims asserted against Apple or such Contributor by -reason of any such Additional Terms. - -7. Versions of the License. Apple may publish revised and/or new -versions of this License from time to time. Each version will be given -a distinguishing version number. Once Original Code has been published -under a particular version of this License, You may continue to use it -under the terms of that version. You may also choose to use such -Original Code under the terms of any subsequent version of this -License published by Apple. No one other than Apple has the right to -modify the terms applicable to Covered Code created under this -License. - -8. NO WARRANTY OR SUPPORT. The Covered Code may contain in whole or in -part pre-release, untested, or not fully tested works. The Covered -Code may contain errors that could cause failures or loss of data, and -may be incomplete or contain inaccuracies. You expressly acknowledge -and agree that use of the Covered Code, or any portion thereof, is at -Your sole and entire risk. THE COVERED CODE IS PROVIDED "AS IS" AND -WITHOUT WARRANTY, UPGRADES OR SUPPORT OF ANY KIND AND APPLE AND -APPLE'S LICENSOR(S) (COLLECTIVELY REFERRED TO AS "APPLE" FOR THE -PURPOSES OF SECTIONS 8 AND 9) AND ALL CONTRIBUTORS EXPRESSLY DISCLAIM -ALL WARRANTIES AND/OR CONDITIONS, EXPRESS OR IMPLIED, INCLUDING, BUT -NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF -MERCHANTABILITY, OF SATISFACTORY QUALITY, OF FITNESS FOR A PARTICULAR -PURPOSE, OF ACCURACY, OF QUIET ENJOYMENT, AND NONINFRINGEMENT OF THIRD -PARTY RIGHTS. APPLE AND EACH CONTRIBUTOR DOES NOT WARRANT AGAINST -INTERFERENCE WITH YOUR ENJOYMENT OF THE COVERED CODE, THAT THE -FUNCTIONS CONTAINED IN THE COVERED CODE WILL MEET YOUR REQUIREMENTS, -THAT THE OPERATION OF THE COVERED CODE WILL BE UNINTERRUPTED OR -ERROR-FREE, OR THAT DEFECTS IN THE COVERED CODE WILL BE CORRECTED. NO -ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE, AN APPLE -AUTHORIZED REPRESENTATIVE OR ANY CONTRIBUTOR SHALL CREATE A WARRANTY. -You acknowledge that the Covered Code is not intended for use in the -operation of nuclear facilities, aircraft navigation, communication -systems, or air traffic control machines in which case the failure of -the Covered Code could lead to death, personal injury, or severe -physical or environmental damage. - -9. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO -EVENT SHALL APPLE OR ANY CONTRIBUTOR BE LIABLE FOR ANY INCIDENTAL, -SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING -TO THIS LICENSE OR YOUR USE OR INABILITY TO USE THE COVERED CODE, OR -ANY PORTION THEREOF, WHETHER UNDER A THEORY OF CONTRACT, WARRANTY, -TORT (INCLUDING NEGLIGENCE), PRODUCTS LIABILITY OR OTHERWISE, EVEN IF -APPLE OR SUCH CONTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY -REMEDY. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OF LIABILITY OF -INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT APPLY -TO YOU. In no event shall Apple's total liability to You for all -damages (other than as may be required by applicable law) under this -License exceed the amount of fifty dollars ($50.00). - -10. Trademarks. This License does not grant any rights to use the -trademarks or trade names "Apple", "Apple Computer", "Mac", "Mac OS", -"QuickTime", "QuickTime Streaming Server" or any other trademarks, -service marks, logos or trade names belonging to Apple (collectively -"Apple Marks") or to any trademark, service mark, logo or trade name -belonging to any Contributor. You agree not to use any Apple Marks in -or as part of the name of products derived from the Original Code or -to endorse or promote products derived from the Original Code other -than as expressly permitted by and in strict compliance at all times -with Apple's third party trademark usage guidelines which are posted -at http://www.apple.com/legal/guidelinesfor3rdparties.html. - -11. Ownership. Subject to the licenses granted under this License, -each Contributor retains all rights, title and interest in and to any -Modifications made by such Contributor. Apple retains all rights, -title and interest in and to the Original Code and any Modifications -made by or on behalf of Apple ("Apple Modifications"), and such Apple -Modifications will not be automatically subject to this License. Apple -may, at its sole discretion, choose to license such Apple -Modifications under this License, or on different terms from those -contained in this License or may choose not to license them at all. - -12. Termination. - -12.1 Termination. This License and the rights granted hereunder will -terminate: - -(a) automatically without notice from Apple if You fail to comply with -any term(s) of this License and fail to cure such breach within 30 -days of becoming aware of such breach; - -(b) immediately in the event of the circumstances described in Section -13.5(b); or - -(c) automatically without notice from Apple if You, at any time during -the term of this License, commence an action for patent infringement -against Apple; provided that Apple did not first commence -an action for patent infringement against You in that instance. - -12.2 Effect of Termination. Upon termination, You agree to immediately -stop any further use, reproduction, modification, sublicensing and -distribution of the Covered Code. All sublicenses to the Covered Code -which have been properly granted prior to termination shall survive -any termination of this License. Provisions which, by their nature, -should remain in effect beyond the termination of this License shall -survive, including but not limited to Sections 3, 5, 8, 9, 10, 11, -12.2 and 13. No party will be liable to any other for compensation, -indemnity or damages of any sort solely as a result of terminating -this License in accordance with its terms, and termination of this -License will be without prejudice to any other right or remedy of -any party. - -13. Miscellaneous. - -13.1 Government End Users. The Covered Code is a "commercial item" as -defined in FAR 2.101. Government software and technical data rights in -the Covered Code include only those rights customarily provided to the -public as defined in this License. This customary commercial license -in technical data and software is provided in accordance with FAR -12.211 (Technical Data) and 12.212 (Computer Software) and, for -Department of Defense purchases, DFAR 252.227-7015 (Technical Data -- -Commercial Items) and 227.7202-3 (Rights in Commercial Computer -Software or Computer Software Documentation). Accordingly, all U.S. -Government End Users acquire Covered Code with only those rights set -forth herein. - -13.2 Relationship of Parties. This License will not be construed as -creating an agency, partnership, joint venture or any other form of -legal association between or among You, Apple or any Contributor, and -You will not represent to the contrary, whether expressly, by -implication, appearance or otherwise. - -13.3 Independent Development. Nothing in this License will impair -Apple's right to acquire, license, develop, have others develop for -it, market and/or distribute technology or products that perform the -same or similar functions as, or otherwise compete with, -Modifications, Larger Works, technology or products that You may -develop, produce, market or distribute. - -13.4 Waiver; Construction. Failure by Apple or any Contributor to -enforce any provision of this License will not be deemed a waiver of -future enforcement of that or any other provision. Any law or -regulation which provides that the language of a contract shall be -construed against the drafter will not apply to this License. - -13.5 Severability. (a) If for any reason a court of competent -jurisdiction finds any provision of this License, or portion thereof, -to be unenforceable, that provision of the License will be enforced to -the maximum extent permissible so as to effect the economic benefits -and intent of the parties, and the remainder of this License will -continue in full force and effect. (b) Notwithstanding the foregoing, -if applicable law prohibits or restricts You from fully and/or -specifically complying with Sections 2 and/or 3 or prevents the -enforceability of either of those Sections, this License will -immediately terminate and You must immediately discontinue any use of -the Covered Code and destroy all copies of it that are in your -possession or control. - -13.6 Dispute Resolution. Any litigation or other dispute resolution -between You and Apple relating to this License shall take place in the -Northern District of California, and You and Apple hereby consent to -the personal jurisdiction of, and venue in, the state and federal -courts within that District with respect to this License. The -application of the United Nations Convention on Contracts for the -International Sale of Goods is expressly excluded. - -13.7 Entire Agreement; Governing Law. This License constitutes the -entire agreement between the parties with respect to the subject -matter hereof. This License shall be governed by the laws of the -United States and the State of California, except that body of -California law concerning conflicts of law. - -Where You are located in the province of Quebec, Canada, the following -clause applies: The parties hereby confirm that they have requested -that this License and all related documents be drafted in English. Les -parties ont exige que le present contrat et tous les documents -connexes soient rediges en anglais. - -EXHIBIT A. - -"Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights -Reserved. - -This file contains Original Code and/or Modifications of Original Code -as defined in and that are subject to the Apple Public Source License -Version 2.0 (the 'License'). You may not use this file except in -compliance with the License. Please obtain a copy of the License at -http://www.opensource.apple.com/apsl/ and read it before using this -file. - -The Original Code and all software distributed under the License are -distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, -INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -Please see the License for the specific language governing rights and -limitations under the License." Index: branches/Chimera/BLOCKERS =================================================================== --- branches/Chimera/BLOCKERS (revision 2223) +++ branches/Chimera/BLOCKERS (revision 2224) @@ -1,13 +0,0 @@ - Nvidia GT 540M && 310M : can't find rom to patch : http://forge.voodooprojects.org/p/chameleon/issues/99/ - ** This is also http://forge.voodooprojects.org/p/chameleon/issues/48/ - ** GT 440 --> http://forge.voodooprojects.org/p/chameleon/issues/98/ - Extra Kext Loading dependency error: http://forge.voodooprojects.org/p/chameleon/issues/94/ - AMD reported issues in cpu.c http://forge.voodooprojects.org/p/chameleon/issues/92/ - Make Package: http://forge.voodooprojects.org/p/chameleon/issues/82/ - -=== Done === - Multi Booting: http://forge.voodooprojects.org/p/chameleon/issues/62/ - Memory Allocation Error on boot1 loading /boot: http://forge.voodooprojects.org/p/chameleon/issues/101/ - -== Closed == - SMBus : http://forge.voodooprojects.org/p/chameleon/issues/10/ Index: branches/Chimera/autoconf.h =================================================================== --- branches/Chimera/autoconf.h (revision 2223) +++ branches/Chimera/autoconf.h (revision 2224) @@ -1,24 +0,0 @@ -// -// Automatically generated make config: don't edit -// Chameleon Configuration -// Sun May 5 19:13:55 2013 -// -#define CONFIG_IS_BUILTIN 1 -#define CONFIG_IS_MODULE 2 -#define CONFIG_UCLIBCXX_MODULE CONFIG_IS_MODULE -#define CONFIG_SATA_MODULE CONFIG_IS_MODULE -#define CONFIG_KLIBC_MODULE CONFIG_IS_MODULE -#define CONFIG_BOOT1_HFS_VERBOSE CONFIG_IS_BUILTIN -#define CONFIG_BOOT1_HFS CONFIG_IS_BUILTIN -#define CONFIG_MODULES CONFIG_IS_BUILTIN -#define CONFIG_BOOT0_VERBOSE CONFIG_IS_BUILTIN -#define CONFIG_ACPICODEC_MODULE CONFIG_IS_MODULE -#define CONFIG_OPTIMIZATION_LEVEL "-Oz" -#define CONFIG_KERNELPATCHER_MODULE CONFIG_IS_BUILTIN -#define CONFIG_BDMESG CONFIG_IS_BUILTIN -#define CONFIG_BOOT1_HFS_ACTIVE_VERBOSE CONFIG_IS_BUILTIN -#define CONFIG_BOOT1_HFS_ACTIVE CONFIG_IS_BUILTIN -#define CONFIG_FILENVRAM_MODULE CONFIG_IS_BUILTIN -#define CONFIG_FDISK440 CONFIG_IS_BUILTIN -#define CONFIG_RESOLUTION_MODULE CONFIG_IS_MODULE -#define CONFIG_KEYLAYOUT_MODULE CONFIG_IS_MODULE Index: branches/Chimera/TODO =================================================================== --- branches/Chimera/TODO (revision 2223) +++ branches/Chimera/TODO (revision 2224) @@ -1,87 +0,0 @@ -TODO List for Chameleon Boot Loader -==================================== -- Fix boot prompt parsing. - -- Bring code closer to coding_standards.txt. - -- Fix the module system when booting chameleon with multiboot. Cleanup the xcode 4 fix. - -- Integrate Prasys current work on options and quick shortcut modified version of 18seven - -- Add auto detection of efi string algorithm, so graphics enabler can be enabled by default while not - conflicting with other efi string overridden content - (original idea of Galaxy) - - - Case insensitive parsing for the bootConfig options: - should help the common/novice user to setup more easily. - -- Find out how we can avoid section overlap with the xcode4.4 LD version (we must first reduce the size of the bootloader but it's not enought, maybe we should use a thing comparable to the gnu ld.script, QUESTION: is the xcode4.4 linker still suitable to build standalone app ? ) -==================================== - -DONE - -- Create a dummy module for any modules that are compiled in. This is needed for linking modules with - dependencies that are not compiled in. - -- Add a more sophisticated acpi loading mechanism to enable loading custom acpi tables when dsdtdrop=y - Here's a specification to think about: - First we must care about if a forced DSDT full path has been specified - (was what pb smith had in his first tries) and take it for the DSDT path as is. - Then we have the case where no DSDT path was set where we run our usual DSDT search algorithm to - find this file. - In the latter case, the file has to be named DSDT.aml and be in one of the / /Extra or bt(0,0)/Extra - directory. - - Now a first idea to implement correctly the acpi tables loading would be: - - Whether the path was hardcoded in the DSDT option or was automatically found, we extract the path part - of the DSDT file that has been successfully found and we run a loop to enumerate all other acpi - files in the same directory. - Now for each acpi file found, we should compare the name with an existing acpi table found in - the system that we would normally load and replace this usual injection by the content of the file. - - Once DropDSDT=y is set, no other acpi table than dsdt is loaded, then it is the responsibility of the - user to provide any other acpi table. - -- Add a new module capable of writing proprietary Chameleon data to ioreg: - Using the DT__xxx() API, we will create a set of functions to write - to log info, chameleon boot info to be retrieved by helper applications... - the only public function for log info purpose of this module would be: - logMessageToIOREG(...); // var args printf style format - flushLogToIOREG(); // store a unique log info property to the ioreg - - The preferred internal behavior of the log info ioreg buffer - would be to store the messages in a consolidated buffer then only write once, - this buffer (i.e just before call the kernel) with flushLogToIOREG(); - The other public function for writing chameleon boot info data would be: - - verbose() should incorporate a call to logMessageToIOREG() - to permit helper applications to extract - this log info (i.e: the chameleon system pref pane) - -- Add API for displaying and logging messages like: - - void verbose(...) - { - ... - logMessageToIOREG("%s: %sn", title, s); - - } - - void display_and_log( const char* title, const char* msg) - { - printf("%s: %sn", title, s); - logMessageToIOREG(title,s); - } - - void deprecated(const char * s) - { - display_and_log("WARNING: Deprecated option",s); - sleep(1); - } - - void error_message(const char * s) - { - display_and_log("ERROR",s); - getc(); - } Index: branches/Chimera/Make.rules =================================================================== --- branches/Chimera/Make.rules (revision 2223) +++ branches/Chimera/Make.rules (revision 2224) @@ -1,174 +0,0 @@ - --include $(SRCROOT)/auto.conf - -export USE_APPLE_PB_SUPPORT = all - -ifneq "" "$(wildcard /bin/mkdirs)" - MKDIRS = /bin/mkdirs -else - MKDIRS = /bin/mkdir -p -endif -AS = as -LD = ld -CC = cc -CPP = c++ - -PAX = /bin/pax -NASM = $(shell which nasm) -p $(SRCROOT)/autoconf.inc - - -CFLAGS = $(CONFIG_OPTIMIZATION_LEVEL) -g -Wmost -Werror -CPPFLAGS = $(MORECPP) -g -Wmost -Werror -fno-exceptions -fno-rtti -DEFINES= - -DIST_SUBDIRS += $(SUBDIRS) - -# -# Common makefile targets. -# -# Define these variables (if desired) in directory makefiles: -# DIRS_NEEDED -# INSTALLDIR -# SRCROOT -# - -# Toggle this as to whether you want a frame pointer (%ebp) to be used. It is -# invaluable for debugging the booter. For example using GDB attached to VMware. -# In fact, it's so invaluable that it's now the default. Not only that but the -# compiler seems to generate slightly smaller code and the real<->prot code -# clearly handles it appropriately so I have no idea why Apple omitted it. -#OMIT_FRAME_POINTER_CFLAG=-fomit-frame-pointer -OMIT_FRAME_POINTER_CFLAG= - --include $(OBJROOT)/*.Makedep - -$(OBJROOT)/%.o32: %.c - @echo "\t[CC32] $<" - @$(CC) $(CFLAGS) $(DEFINES) -c $(INC) -arch i386 $< -MM -M -o $@.Makedep - @$(CC) $(CFLAGS) $(DEFINES) -c $(INC) -arch i386 $< -o $@ - -$(OBJROOT)/%.o64: %.c - @echo "\t[CC64] $<" - @$(CC) $(CFLAGS) $(DEFINES) -c $(INC) -arch x86_64 $< -MM -M -o $@.Makedep - @$(CC) $(CFLAGS) $(DEFINES) -c $(INC) -arch x86_64 $< -o $@ - - -$(OBJROOT)/%.o: %.c - @echo "\t[CC] $<" - @$(CC) $(CFLAGS) $(DEFINES) -c $(INC) $< -MM -M -o $@.Makedep - @$(CC) $(CFLAGS) $(DEFINES) -c $(INC) $< -o $@ - -$(OBJROOT)/%.o: %.m - @echo "\t[M] $<" - @$(CC) $(CFLAGS) $(DEFINES) -c $(INC) $< -MM -M -o $@.Makedep - @$(CC) $(CFLAGS) $(DEFINES) -c $(INC) $< -o $@ - -$(OBJROOT)/%.o: %.cpp - @echo "\t[CPP] $<" - @$(CPP) $(CPPFLAGS) $(CFLAGS) -c "$<" $(INC) -MM -M -o $@.Makedep - @$(CPP) $(CPPFLAGS) $(CFLAGS) -c "$<" $(INC) -o $@ - -$(OBJROOT)/%.o: %.s - @echo "\t[AS] $<" - @$(CC) $(CPPFLAGS) -c $(INC) -arch i386 $< -MM -M -o $@.Makedep - @$(CC) $(CPPFLAGS) -c $(INC) -arch i386 $< -o $@ - -CONFIG_FILES=$(SRCROOT)/auto.conf $(SRCROOT)/autoconf.h $(SRCROOT)/autoconf.inc $(SRCROOT)/.config -$(CONFIG_FILES): $(SRCROOT)/.config - @echo "\t[MAKE] config" - @make -C $(SRCROOT)/i386/config rebuild_config - -HEADER_VERSION=$(SRCROOT)/vers.h -$(HEADER_VERSION): $(SRCROOT)/version - @echo "#define I386BOOT_VERSION \"5.0.132\"" > $@ - @echo "#define I386BOOT_BUILDDATE \"`date \"+%Y-%m-%d %H:%M:%S\"`\"" >> $@ - @echo "#define I386BOOT_CHAMELEONVERSION \"`cat $(SRCROOT)/version`\"" >> $@ - @echo "#define I386BOOT_CHAMELEONREVISION \"`cat $(SRCROOT)/revision`\"" >> $@ -# @echo "#define I386BOOT_CHAMELEONREVISION \"`svnversion -n | tr -d [:alpha:]`\"" >> $@ - -CONFIG_HEADERS=$(CONFIG_FILES) $(HEADER_VERSION) - -# This breaks make, must use make all (FIXME) -$(DIRS_NEEDED) $(INSTALLDIR) $(OBJROOT) $(SYMROOT): - @echo "\t[MKDIR] $@" - @$(MKDIRS) $@ - -# Recursive rules -RECURSIVE_TARGETS = all-recursive -RECURSIVE_CLEAN_TARGETS = distclean-recursive clean-recursive -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) - -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo ================= Making $$target in $$subdir =================; \ - (cd $$subdir && $(MAKE) $$target) \ - || eval $$failcom; \ - done; - -$(RECURSIVE_CLEAN_TARGETS): - @failcom='exit 1'; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-local"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $$local_target) \ - || eval $$failcom; \ - done - - -clean-dep: - @if [ -f "$(OBJROOT)/Makedep" ];then echo "\t[RM] $(OBJROOT)/Makedep"; fi - @rm -f $(OBJROOT)/Makedep - - -FIND_IGNORE := \( -name .git -o -name .svn \) -prune -o -name Cconfig -o - -# clean: remove almost everything (execpt auto.conf, autoconf.h, autoconf.inc) -clean: clean-recursive clean-dep - @if [ -d "$(OBJROOT)" ];then echo "\t[RMDIR] $(OBJROOT)"; fi - @if [ -d "$(SYMROOT)" ];then echo "\t[RMDIR] $(SYMROOT)"; fi - @if [ -d "$(DSTROOT)" ];then echo "\t[RMDIR] $(DSTROOT)"; fi - @if [ -d "$(SRCROOT)/i386/modules/module_includes" ];then \ - echo "\t[RMDIR] $(SRCROOT)/i386/modules/module_includes"; \ - fi - @rm -rf $(OBJROOT) $(SYMROOT) $(DSTROOT) \ - $(SRCROOT)/i386/modules/module_includes - -distclean: distclean-recursive clean-local clean-dep - @find . $(FIND_IGNORE) \ - \( -name '*.orig' -o -name '*.rej' -o -name '*~' \ - -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \ - -o -name '.*.rej' -o -size 0 \ - -o -name '*%' -o -name '.*.cmd' -o -name 'core' \) \ - -type f -print | xargs rm -f - -clean-local: - -distclean-local: - -.DEFAULT_GOAL := all - -# Local Variables: # -# mode: Makefile # -# tab-width: 2 # -# indent-tabs-mode: t # -# End: # -# -# vi: set noexpandtab ts=2 sw=2 sts=2: # Index: branches/Chimera/CHANGES =================================================================== --- branches/Chimera/CHANGES (revision 2223) +++ branches/Chimera/CHANGES (revision 2224) @@ -1,90 +0,0 @@ --macman: Chimera 2.0.1 specific changes: - iMessage login fix by Meklort from Chameleon 2.2 r2169 - HD4000 support from Chimera 1.11.1 - CPU bus and processor speed fix from Chimera 1.11.1 - Reverted AMD and NVIDIA card reporting to Chimera 1.11.1 style -- cparm : Added a workaroud for Xcode 4.4.x compatibility 504B030414030100630004731141000000007D0000008B00000003000B0062696E01990700020041450308001AED80DA50DF6080B0390FE095B3BC129E1FC27C104EC97897EF27CD1175766CB18C66FF42EFB7023911BDFD5E4BC9AEEC32FF3473963F70B255581D7B74DE9F -- cparm : Fixed a buffer overflow in the plist loader -- cparm : Ported the nvidia plist helper (less time to spend on the device id more time to code :-) ) -- cparm : Added a Sata module, known as YellowIconFixer in my branch, useful to fix yellow icon issue (can also fix an issue with the apple's dvd player application in moutain lion) - , for now not added in the pkg script !!! - -- cparm : Ported the OS detection to the trunk, updated the default theme to v 1.1 (credit to blackosx) - -- Added AtiPorts option to GraphicsEnabler, so users can override the default number of ports. It proved - to be useful when used to limit the number of ports that a framebuffer registers, which seems to be a - requirement on laptops that can only use 2 ports at the same time. - Thanks to Akbar for testing and AniV also for the tip: - http://forum.voodooprojects.org/index.php/topic,1959.msg10402.html#msg10402 -- Added NVidia ION AHCI controllers dev id to AHCIPortInjector kext. - Forgot to mention source on the commit: http://forum.voodooprojects.org/index.php/topic,1170.0.html -- Renamed com.apple.Boot.plist to org.chameleon.Boot.plist. -- Added "ShowInfo" key (enabled by default for now), which enables/disables the display of - partition and resolution related info, on the Gui. - This info may not play well with some custom themes. -- Modules can now be selected between not compiled, compiled into chameleon, or compiled as modules. -- New makefile + configuration system. -- Added the BOOT2_MAX_LENGTH constant in memory.h. This is now used in mboot.c to relocate the correct - number of bytes for boot2. -- Added new ATi/AMD Graphics Card Enabler. -- Added new SMBIOS patcher. - Includes changes to "manufacter" keys, from SM*manufacter to SM*manufacturer. -- Added module system. -- Added automatic P-States & C-States generation for native power management. -- Added Booter Log Dump Tool -- Added Booter message Logging (":/boot-log" ioreg property) -- Removed -x32 option, use arch=i386 instead -- Added automatic SMBusspeed detection for lga1156 core i5/7 cpus -- Added new iMac11,1 sbios default model for lga1156 core i5/17 mobos -- md0 code. Notified xnu when an md ramdisk is specified -- Added rollover image support for selected device icons. - Use device__o.png in theme folder. Credits goes to Blackosx. -- Revisited theme resource embedding. Using the device_ icons are optional with - the exception of device_generic. -- Optimized memory detection speed -- Added displaying source device and partition number for file read operations. -- Increased boot2's maximum size from 383.5k to 447.5k. - Updated stage 1 loaders for handling the new size limit. -- Added alternate format for setting the default partition. The user can specify the selected - volume UUID for the "Default Partition" key. -- Implemented SPD memory automatic detection and injection,seems to work really great ... -- Factorized code to prepare a dynamic memory detection algorithm ... -- Optimized smbios table address search -- Optimized cursor spinout in textmode if no verbose mode is set -- Added ram table structures definitions -- Added getSmbios() a param permitting to select between orig and new smbios entries -- Changed "Default Partition" behavior to accept only native system volumes or foreign partitions. -- Added NVIDIA new NVCAP customization support and support for ION gfx cards from aserebln -- Added ATI new framebuffers support and new cards from PCEFI10.6 -- improved ACPI file search algo by implementing a cache. -- Nvidia injection fix -- pciroot would not always return correct UID in auto detection mode -- Fixed the hibernation problem in boot2/resume.c -- Fixed all new booter versions with SystemType would override the facp value even if correct, - now keeps the facp value if correct and no override has been done, implemented a best effort algo. - for maximizing the chance to get the most correct value before we decide to use a fixed value (1=desktop) -- Fixed display cosmetics of UUID, now a convert.c file contains all - conversions api, to be completed by function that we should reuse. - -- Fixed SystemType would be always forced to a value, now optionally changed - only if overridden -- Kept SystemID as the only option to change manually the system-id - For theses reasons, SystemId from bootConfig and SMUUID from smbiosConfig are now DEPRECATED. - -- Integrated JrCs fadt patch (kept for RC5 the existing DSDT.aml retry algo that disappeared in his patch, - should be more discussed for RC6) -- Added JrCs modified convention name change to coding_standards -- Now malloc (ex. MALLOC in Asere patch) is renamed malloc(size) and is an alias - to safe_malloc(size, file, line) with _FILE_ and _LINE_ preprocessor definitions -- Added a new 'Rename Partition Feature', now permitting to rename partition - like 'System reserved' to a more meaningful name -- Added SystemID option permitting to change the System UUID to a fixed value. -- Added the PciRoot auto detection feature imported from pcefi10.5 -- Added automatic "system-id" injection from dmi bios, also compatible - with SystemID boot option and former SMUUID from smbios,plist -- Added "system-type' automatic injection (1=Desktop) plus override possibility - with the new system-type option in bootConfig -- Added SMserial and SMproductname new options for smbios.plist -- Merged with asere patch, while keeping my fake_efi.c changes, and adding a new - stringForKey() API, also changed the DT__XXXX() set of functions - to handle const char * values instead of char*. Index: branches/Chimera/Cconfig =================================================================== --- branches/Chimera/Cconfig (revision 2223) +++ branches/Chimera/Cconfig (revision 2224) @@ -1,6 +0,0 @@ -# -# Chameleon Configuration -# -mainmenu "Chameleon Configuration" - -source "i386/Cconfig" Index: branches/Chimera/README.translators =================================================================== --- branches/Chimera/README.translators (revision 2223) +++ branches/Chimera/README.translators (revision 2224) @@ -1,26 +0,0 @@ -Hi all translators, - -we can help us to translate the Chameleon Project. - -You need to have gettext utilities installed. -You can install them : - * With MacPorts or Fink - or - * With the package http://dl.dropbox.com/u/112112/Chameleon.Dev/gettext-0.18.1.1.dmg - You need to change your ~/.bashrc or ~/.bash_profile to add the path to the utilities: - # MacPorts Installer: adding an appropriate PATH variable for use with MacPorts. - export PATH=/opt/local/bin:/opt/local/sbin:$PATH - # Finished adapting your PATH environment variable for use with MacPorts. - - # MacPorts Installer: adding an appropriate MANPATH variable for use with MacPorts. - export MANPATH=/opt/local/share/man:$MANPATH - # Finished adapting your MANPATH environment variable for use with MacPorts. - -You must also have a PO editor like Poedit: http://www.poedit.net/download.php - -The files to translate are in package/po directory. Open them with your PO editor and translate :D. - -If you want to add a new language copy the package/po/chameleon.pot to po/$lang.po where $lang is -the new language you want to add. Example to add belgian language: - # cp package/po/chameleon.pot package/po/be.po -Now you can start translating the new po file with your PO editor Index: branches/Chimera/Makefile =================================================================== --- branches/Chimera/Makefile (revision 2223) +++ branches/Chimera/Makefile (revision 2224) @@ -1,148 +0,0 @@ -# Makefile for kernel booter -SRCROOT = $(CURDIR) -OBJROOT = $(SRCROOT)/obj -SYMROOT = $(SRCROOT)/sym -DSTROOT = $(SRCROOT)/dst -DOCROOT = $(SRCROOT)/doc -IMGSKELROOT = $(SRCROOT)/imgskel -CDBOOT = ${IMGROOT}/usr/standalone/i386/cdboot -PKG_BUILD_DIR = $(SYMROOT)/package - -include Make.rules - - -THEME = default - -VERSION = `cat ${SRCROOT}/version` -REVISION = `cat ${SRCROOT}/revision` -PRODUCT = Chameleon-$(VERSION)-r$(REVISION) -CDLABEL = ${PRODUCT} -ISOIMAGE = ${SYMROOT}/${CDLABEL}.iso -DISTFILE = ${SYMROOT}/${PRODUCT} - -IMGROOT = $(SRCROOT)/sym/${PRODUCT} -DISTROOT= ./${PRODUCT} - - -EXCLUDE = --exclude=.svn --exclude=.DS_Store --exclude=sym --exclude=obj \ - --exclude=package --exclude=archive --exclude=User_Guide_src --exclude=*.sh - -#RC_CFLAGS = i386 -ARCHLESS_RC_CFLAGS=`echo $(RC_CFLAGS) | sed 's/-arch [a-z0-9]*//g'` - -GENERIC_SUBDIRS = -SUBDIRS = $(GENERIC_SUBDIRS) i386 -DIST_SUBDIRS = $(SUBDIRS) - -$(SRCROOT)/revision: - @svnversion -n | tr -d [:alpha:] > $(SRCROOT)/revision - -# -# Currently builds for i386 -# -config rebuild_config: - @make -C $(SRCROOT)/i386/config $@ - -all: $(SYMROOT) $(OBJROOT) $(CONFIG_HEADERS) $(HEADER_VERSION) $(SRCROOT)/revision - @$(MAKE) all-recursive - -dist image: all - @# To force the read of auto.conf (generated by 'all' target) - @make $@-local - -dist-local image-local: - @echo "================= Distrib =================" - @echo "\t[RM] ${IMGROOT}" - @rm -rf ${IMGROOT} - @echo "\t[MKDIR] ${IMGROOT}/usr/standalone/i386" - @mkdir -p ${IMGROOT}/usr/standalone/i386 - @echo "\t[MKDIR] ${IMGROOT}/Extra/modules" - @mkdir -p ${IMGROOT}/Extra/modules - @echo "\t[MKDIR] ${IMGROOT}/Extra/Themes/Default" - @mkdir -p ${IMGROOT}/Extra/Themes/Default - @echo "\t[MKDIR] ${IMGROOT}/usr/bin" - @mkdir -p ${IMGROOT}/usr/bin - @if [ -e "$(IMGSKELROOT)" ]; then \ - @echo "\t[CP] ${IMGROOTSKEL} ${IMGROOT}" \ - @cp -R -f "${IMGSKELROOT}"/* "${IMGROOT}"; \ - fi; - @cp -f ${SYMROOT}/i386/cdboot ${CDBOOT} - @cp -f ${SYMROOT}/i386/modules/* ${IMGROOT}/Extra/modules - @cp -f ${SRCROOT}/artwork/themes/default/* ${IMGROOT}/Extra/Themes/Default - @cp -f ${SYMROOT}/i386/boot ${IMGROOT}/usr/standalone/i386 - @cp -f ${SYMROOT}/i386/boot0 ${IMGROOT}/usr/standalone/i386 - @cp -f ${SYMROOT}/i386/boot0hfs ${IMGROOT}/usr/standalone/i386 - @cp -f ${SYMROOT}/i386/boot0md ${IMGROOT}/usr/standalone/i386 - @cp -f ${SYMROOT}/i386/boot1h ${IMGROOT}/usr/standalone/i386 - @cp -f ${SYMROOT}/i386/boot1f32 ${IMGROOT}/usr/standalone/i386 -ifdef CONFIG_FDISK440 - @cp -f ${SYMROOT}/i386/fdisk440 ${IMGROOT}/usr/bin -endif -ifdef CONFIG_BDMESG - @cp -f ${SYMROOT}/i386/bdmesg ${IMGROOT}/usr/bin -endif -ifdef CONFIG_KEYLAYOUT_MODULE - @cp -f ${SYMROOT}/i386/cham-mklayout ${IMGROOT}/usr/bin - @echo "\t[MKDIR] ${IMGROOT}/Extra/Keymaps" - @mkdir -p ${IMGROOT}/Extra/Keymaps - @echo "\t[CP] Keymaps ${IMGROOT}/Extra/Keymaps" - @cp -R -f "Keymaps"/* "${IMGROOT}/Extra/Keymaps/" -endif - - @echo "\t[HDIUTIL] ${ISOIMAGE}" - @hdiutil makehybrid -iso -joliet -hfs -hfs-volume-name \ - ${CDLABEL} -eltorito-boot ${CDBOOT} -no-emul-boot -ov -o \ - "${ISOIMAGE}" ${IMGROOT} -quiet - @echo "\t[GZ] ${DISTFILE}.tgz" - @rm -f ${DISTFILE}.tar.gz - @cd ${SYMROOT} && tar -cf ${DISTFILE}.tar ${DISTROOT} - @gzip --best ${DISTFILE}.tar - @mv ${DISTFILE}.tar.gz ${DISTFILE}.tgz - -clean-local: - @if [ -d "$(PKG_BUILD_DIR)" ];then echo "\t[RMDIR] $(PKG_BUILD_DIR)"; fi - @if [ -f "$(HEADER_VERSION)" ];then echo "\t[RM] $(HEADER_VERSION)"; fi - @if [ -f "$(SRCROOT)/revision" ];then echo "\t[RM] $(SRCROOT)/revision"; fi - @rm -rf "$(PKG_BUILD_DIR)" $(HEADER_VERSION) $(SRCROOT)/revision - -AUTOCONF_FILES = $(SRCROOT)/auto.conf $(SRCROOT)/autoconf.h \ - $(SRCROOT)/autoconf.inc $(SRCROOT)/.config $(SRCROOT)/.config.old - -distclean-local: - @if [ -d "$(OBJROOT)" ];then echo "\t[RMDIR] $(OBJROOT)"; fi - @if [ -d "$(SYMROOT)" ];then echo "\t[RMDIR] $(SYMROOT)"; fi - @if [ -d "$(DSTROOT)" ];then echo "\t[RMDIR] $(DSTROOT)"; fi - @if [ -d "$(SRCROOT)/i386/modules/module_includes" ];then \ - echo "\t[RMDIR] $(SRCROOT)/i386/modules/module_includes"; \ - fi - @for cfg in $(AUTOCONF_FILES); do if [ -f "$${cfg}" ];then echo "\t[RM] $${cfg}"; fi; done - @rm -rf $(OBJROOT) $(SYMROOT) $(DSTROOT) \ - $(SRCROOT)/i386/modules/module_includes \ - $(AUTOCONF_FILES) - -pkg installer: all - @echo "================= Building Package =================" - @${SRCROOT}/package/buildpkg.sh "$(SRCROOT)" "$(SYMROOT)" "$(PKG_BUILD_DIR)" - -help: - @echo 'Configuration target:' - @echo ' config - Show configuration menu' - @echo - @echo 'Build targets:' - @echo ' all - Build all targets [DEFAULT]' - @echo ' dist - Build distribution tarball' - @echo ' pkg - Build installer package' - @echo - @echo 'Cleaning targets:' - @echo ' clean - Remove most generated files' - @echo ' distclean - Remove all generated files + config' -#@echo -# @echo 'Build options:' -# @echo 'make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build' - -.PHONY: config -.PHONY: clean -.PHONY: image -.PHONY: pkg -.PHONY: installer -.PHONY: help