Index: branches/coding_standards.txt =================================================================== --- branches/coding_standards.txt (revision 162) +++ branches/coding_standards.txt (revision 163) @@ -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/version =================================================================== --- branches/version (revision 162) +++ branches/version (revision 163) @@ -1 +0,0 @@ -2.0-RC5pre11AnVAL2 Index: branches/CREDITS =================================================================== --- branches/CREDITS (revision 162) +++ branches/CREDITS (revision 163) @@ -1,34 +0,0 @@ -Credit goes to: -=============== - -Developers: ----------- - Crazor - Dense - fassl - iNDi - JrCs - Kabyl - kaitek - mackerintel - mercurysquad - munky - rekursor - Turbo - zef - -Thanks to: ---------- - asereBLN - bumby - cosmo1t - dfe - Galaxy - kalyway - Krazubu - netkas - sckevyn - smith@@ - THeKiNG - XyZ - \ No newline at end of file Index: branches/revision =================================================================== --- branches/revision (revision 162) +++ branches/revision (revision 163) @@ -1 +0,0 @@ -160 \ No newline at end of file Index: branches/APPLE_LICENSE =================================================================== --- branches/APPLE_LICENSE (revision 162) +++ branches/APPLE_LICENSE (revision 163) @@ -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/TODO =================================================================== --- branches/TODO (revision 162) +++ branches/TODO (revision 163) @@ -1,69 +0,0 @@ -TODO List for Chameleon Boot Loader -==================================== -- Integrate Prasys current work on options and quick shortcut modified version of 18seven - -- Add autodetection of efistring algorythm to enabke graphics enabler to beanbled by default while not conflicting whith other efi string overriden content - (original idea of Galaxy) - -- 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 the 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: - - Whatever 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 responsability of 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 creat e 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(); - } - - - Case unsensitive parsing for the bootConfig options: - should help the common/novice user to setup more easily. Index: branches/CHANGES =================================================================== --- branches/CHANGES (revision 162) +++ branches/CHANGES (revision 163) @@ -1,50 +0,0 @@ -- Nvidia injection fix -- pciroot would not always return correct uuid in autodection 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 ovveriden -- Kept SystemID as the only option to change manually the system-id - For theses reasons, SystemId from bootConfig and SMUUID from smbiosConfig aer now DEPRECATED. - -- Integrated JrCs fadt patch (kept for RC5 the existing DSDT.aml retry algo that disapeared 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_ prerocessor 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 autodetection 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*. -- Added full ACPI tables override. -- Added ACPI V1 to V4 conversion, also auto generates XSDT from RSDT if needed. -- Added force USB legacy off patch. - -- 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" behaviour 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. -- Dropped loadable SSDT number from 30 to 14 tables. -- Added devices 2A42 and 2A43 to GMAX3100 support. -- Corrected Intel Core Solo/Duo identifier string. -- Added support for device 2a40 into 915resolution. -- Added a variant of boot0 (boot0hfs) which prefers a bootable HFS partition in the first MBR partition scan. -- Applied easternguy's (long long) cast changes for filesystem functions. \ No newline at end of file Index: branches/efisysinst.sh =================================================================== --- branches/efisysinst.sh (revision 162) +++ branches/efisysinst.sh (revision 163) @@ -1,31 +0,0 @@ -#!/bin/sh - -# efisysinst.sh -# -# -# Created by mackerintel on 2/2/09. -# Copyright 2009 mackerintel. All rights reserved. - -if [[ x$1 == x ]]; then - echo Usage: $0 disknumber; - exit 0; -fi - -if [[ `dd if=/dev/disk${1}s1 count=8 bs=1 skip=82 | uuencode -m -|head -n 2|tail -n 1` != "RkFUMzIgICA=" ]]; then - echo "/dev/disk${1}s1" "isn't" a FAT32 partition; - exit 1; -fi - -if [ ! -f boot1f32 ]; then - echo "boot1f32 not found"; - exit 1; -fi -if [ ! -f boot0 ]; then - echo "boot0 not found"; - exit 1; -fi -dd if=/dev/disk${1}s1 count=1 bs=512 of=/tmp/origbs -cp boot1f32 /tmp/newbs -dd if=/tmp/origbs of=/tmp/newbs skip=3 seek=3 bs=1 count=87 conv=notrunc -dd of=/dev/disk${1}s1 count=1 bs=512 if=/tmp/newbs -dd if=boot0 of=/dev/disk${1} count=430 bs=1 Index: branches/Makefile =================================================================== --- branches/Makefile (revision 162) +++ branches/Makefile (revision 163) @@ -1,129 +0,0 @@ -export USE_APPLE_PB_SUPPORT = all - -# Makefile for kernel booter - -# CFLAGS = -O $(MORECPP) -arch i386 -g -DEFINES= -CONFIG = hd -LIBDIR = libsa -INC = -I. -I$(LIBDIR) -ifneq "" "$(wildcard /bin/mkdirs)" - MKDIRS = /bin/mkdirs -else - MKDIRS = /bin/mkdir -p -endif -AS = as -LD = ld -PAX = /bin/pax - -OBJROOT = `pwd`/obj -SYMROOT = `pwd`/sym -DSTROOT = `pwd`/dst -SRCROOT = /tmp -DOCROOT = `pwd`/doc -IMGROOT = `pwd`/sym/cache -IMGSKELROOT = `pwd`/imgskel -CDBOOT = ${IMGROOT}/usr/standalone/i386/cdboot - -THEME = default - -VERSION = `cat version` -REVISION = `cat revision` -PRODUCT = Chameleon-$(VERSION)-r$(REVISION) -CDLABEL = ${PRODUCT} -ISOIMAGE = ${SYMROOT}/${CDLABEL}.iso - -EXCLUDE = --exclude=.svn --exclude=.DS_Store --exclude=sym --exclude=obj \ - --exclude=package --exclude=archive --exclude=User_Guide_src --exclude=*.sh - -ARCHLESS_RC_CFLAGS=`echo $(RC_CFLAGS) | sed 's/-arch [a-z0-9]*//g'` - -VPATH = $(OBJROOT):$(SYMROOT) - -GENERIC_SUBDIRS = - -# -# Currently builds for i386 -# - -all embedtheme tags debug install installhdrs: $(SYMROOT) $(OBJROOT) - @if [ -e ".svn" ]; then svnversion -n | tr -d [:alpha:] > revision; fi - @if [ -z "$(RC_ARCHS)" ]; then \ - RC_ARCHS="i386"; \ - fi; \ - SUBDIRS="$(GENERIC_SUBDIRS) $$RC_ARCHS"; \ - for i in $$SUBDIRS; \ - do \ - if [ -d $$i ]; then \ - echo ================= make $@ for $$i =================; \ - ( OBJROOT=$(OBJROOT)/$${i}; \ - SYMROOT=$(SYMROOT)/$${i}; \ - DSTROOT=$(DSTROOT); \ - XCFLAGS=$(ARCHLESS_RC_CFLAGS); \ - GENSUBDIRS="$(GENERIC_SUBDIRS)"; \ - for x in $$GENSUBDIRS; \ - do \ - if [ "$$x" == "$$i" ]; then \ - XCFLAGS="$(RC_CFLAGS)"; \ - break; \ - fi \ - done; \ - echo "$$OBJROOT $$SYMROOT $$DSTROOT"; \ - cd $$i; ${MAKE} \ - "OBJROOT=$$OBJROOT" \ - "SYMROOT=$$SYMROOT" \ - "DSTROOT=$$DSTROOT" \ - "SRCROOT=$$SRCROOT" \ - "RC_ARCHS=$$RC_ARCHS" \ - "TARGET=$$i" \ - "RC_KANJI=$(RC_KANJI)" \ - "JAPANESE=$(JAPANESE)" \ - "RC_CFLAGS=$$XCFLAGS" $@ \ - ) || exit $$?; \ - else \ - echo "========= nothing to build for $$i ========="; \ - fi; \ - done - -image: - @if [ -e "$(SYMROOT)" ]; then \ - rm -r -f ${IMGROOT}; \ - mkdir -p ${IMGROOT}/usr/standalone/i386; \ - if [ -e "$(IMGSKELROOT)" ]; then \ - cp -R -f "${IMGSKELROOT}"/* "${IMGROOT}"; \ - fi; \ - cp -f ${SYMROOT}/i386/cdboot ${CDBOOT}; \ - cp -f ${SYMROOT}/i386/boot ${IMGROOT}/usr/standalone/i386; \ - cp -f ${SYMROOT}/i386/boot0 ${IMGROOT}/usr/standalone/i386; \ - cp -f ${SYMROOT}/i386/boot1h ${IMGROOT}/usr/standalone/i386; \ - cp -f ${SYMROOT}/i386/boot1f32 ${IMGROOT}/usr/standalone/i386;\ - $(shell hdiutil makehybrid -iso -joliet -hfs -hfs-volume-name \ - ${CDLABEL} -eltorito-boot ${CDBOOT} -no-emul-boot -ov -o \ - "${ISOIMAGE}" ${IMGROOT} -quiet) \ - fi; - -pkg installer: embedtheme - @if [ -e "$(SYMROOT)" ]; then \ - sudo `pwd`/package/buildpkg `pwd`/sym/package; \ - fi; - -release: $(SYMROOT) - @if [ -e ".svn" ]; then svnversion -n | tr -d [:alpha:] > revision; fi - @if [ -e "$(SYMROOT)" ]; then \ - sudo `pwd`/package/buildpkg `pwd`/sym/package; \ - fi; - @tar -czf $(SYMROOT)/$(PRODUCT)-src.tar.gz ${EXCLUDE} . - @tar -cjf $(SYMROOT)/$(PRODUCT)-src.tar.bz2 ${EXCLUDE} . - -clean: - rm -rf sym obj dst - -#distclean: clean -# @rm -f $(SYMROOT)/$(PRODUCT)-src.* -# @rm -f $(SYMROOT)/$(PRODUCT).pkg - -installsrc: - gnutar cf - . | (cd ${SRCROOT}; gnutar xpf -) - -$(SYMROOT) $(OBJROOT) $(DSTROOT): - @$(MKDIRS) $@