Jump to content

RevoBoot


buoo
 Share

290 posts in this topic

Recommended Posts

REVOBOOT

 

 

 

RevoBoot is a GUI less stage 2 bootloader based on Master Chief's "Revolution" - Revolution was a special kind of branch of Chameleon based on Apple's Boot 132.

That being said. RevoBoot is the successor of Revolution and is now being ripped up, dissected and re-thought by RevoGirl. She has continued to fine tune every aspect of what's required to boot OS X in the most direct way, with the aim of keeping the bootloader as small, quick and tidy as possible.

 

Looking at Revolutions' source code, drill down to /i386/config and you will find three folders, ACPI, EFI and SMBIOS, each containing a file named data.h. Static data for your system can be added to these data.h files in a structured way to enable you to benefit from a faster boot. For example, your DSDT.aml can be added to /i386/config/ACPI/data.h which will then be compiled inside Revolution. The result being the bootloader no longer needs to search for the file on disk to load at boot time.

Though note: These files don't have to be populated straight away as Revolution can still load your files from the /Extra folder on your boot volume.

Along with the three customisable data.h files, there is also a lose data.h file and settings.h file in /i386/config. The data.h file doesn't need to be touched and should remain where it is as it's part of the source code. Though the settings.h file is your master controller file, containing all the switches that can be turned on or off to direct the compiler code to include for your personal boot file.

 

The text was been extracted from the home of the project. Read more link

 

 


[size=3]RevoBoot v1.0.22
================
- Make SBUS only injection work.
- VERSION info updated.
- CHANGES (this file) updated.


RevoBoot v1.0.21
================
- Typo in compiler directive fixed: (old) OVERRIDE_ACPI_METHOD -> (new) OVERRIDE_ACPI_METHODS
- VERSION info updated.


RevoBoot v1.0.20
================
- ACPI Method override feature added (add _PTS to your SSDT.aml to get sleep working the easy way).
- VERSION info updated.

Note: See WiKi pages for additional info.


RevoBoot v1.0.19
================
- Device (SBUS) injection added.
- Simplified some of our directives.
- VERSION info updated.

Warning: Make sure to use our latest settings template!


RevoBoot v1.0.18
================
- Fixed a number of bugs.
- Made ssdt_pr_generator.h more robust.
- VERSION info updated.

Note: Thanks to STLVNUB, blackosx and flAked for reporting bugs (via issues). Keep up the good work!


RevoBoot v1.0.17
================
- Fixed a bug in i386/libsaio/cpu.c (if clause that failed to work).
- Fixed newly introduced regressions in ssdt_pr_generator.h
- Core count in ssdt_pr_generator.h is now also scalable (supports different kinds of setups).
- VERSION info updated.

RevoBoot v1.0.16
================
- Fixed a problem in ssdt_pr_generator.h - extra/blank turbo P-State.
- VERSION info updated.


RevoBoot v1.0.15
================
- Static CPU use fixed a(was bored due to lack of proper testing).
- New compiler directive (BOOT_TURBO_BOOST_RATIO) added to settings.h / settings-template.h
- Debug output added to ACPI patcher to show the address used as static ACPI address.
- Indentation errors fixed in platform.c
- VERSION info updated.

About the latest [b]ssdt_pr_generator.h[/b] changes:
--------------------------------------------
- CPU specs gathering / added by Jeroen.
- Turbo range detection implemented.
- P-State number limitation implemented.
- Single turbo state support implemented.


Note:

Make sure to set LOAD_EXTRA_ACPI_TABLES in combination with LOAD_DSDT_TABLE_FROM_EXTRA_ACPI
and/or LOAD_SSDT_TABLE_FROM_EXTRA_ACPI or your tables in /Extra/ACPI/ won't get loaded!


RevoBoot v1.0.14
================
- Fixed a bug in platform.c wiping data after initialization.


RevoBoot v1.0.13
================
- Fixed compiler warning in platform.c
- Fixed a typo in settings.h - use: DEBUG_CPU_TURBO_RATIOS
- Fixed a typo in settings-template.h - use: DEBUG_CPU_TURBO_RATIOS

RevoBoot v1.0.12
================
- Automatic generation / injection of of SSDT_PR.aml added.
- settings-template simplified (thanks to MC and flAked for mentioning it).
- Cleanups of DHP's previous commits.
- VERSION info updated.


RevoBoot v1.0.11
================
- Not released / skipped.


RevoBoot v1.0.10
================
- Fixed Sandy Bridge CPU detection error (see 'About This Mac' dialog).
- New MacBook Pro 8 series with Sandy Bridge CPU's added.
- VERSION info updated.


RevoBoot v1.0.09
================
- Dynamic memory override features changed.
- VERSION info updated.
- Be aware that the settings template changed for this version!


RevoBoot v1.0.08
================
- Whitespace fix in smbios/mode_data.h
- System Profiler -> Memory fix
- VERSION info updated.


RevoBoot v1.0.07
================
- Kext path/filename length set to 256 (was 128 and caused a boot error).
- Safeguards added (to drivers.c) to trap memory allocation errors.
- VERSION info updated.


RevoBoot v1.0.06
================
- Makefile changes.
- Sandy Bridge support/fixes: core/thread count and turbo ration added.
- Multi Processor table added (optional),
- Some small EFI changes.
- Comment changes.


RevoBoot v1.0.05
================
- Makefiles cleaned up further.
- Made make lion work.
- Removed TARGET_OS from settings-template.h (no longer needed).
- Fixed two circular includes.


RevoBoot v1.0.04
================
- Makefiles cleaned up.
- make target lion added (overrides config/settings.h).
- File VERSION added (replacing version/revision).
- File CHANGES (this file) added.
- File version removed.
- File revision removed.


RevoBoot v1.0.03
================
- Race condition in the ACPI patcher fixed.
- Typo fixed (by STLVNUB) in disk.c


RevoBoot v1.0.02
================
- Compiler error: ___bzero undefined fixed (exposed by Xcode 4).


RevoBoot v1.0.01
================
- EFI_BOOT_PARTITION_SUPPORT renamed into EFI_SYSTEM_PARTITION_SUPPORT


RevoBoot v1.0.00
================
- Initial commit (plus name change).[/size]
 

 

 

 

 

 

 

 

-------------------------------------------------------------------------------------

 

 

 

 

REVOBUILDER

 

 

 

This package is something to help new users get started with RevoBoot.

All you need to know

link

 

xne05y.png

 

 

[size=3]RevoBuilder V1.0.28
==================
- Add check for user not having a serial number to config.sh.

RevoBuilder V1.0.27
==================
- Amend BuildUSB.sh to write the stage 0 loader to more than the 1st partition.
 Useful for writing to an HDD partition

RevoBuilder V1.0.26
==================
- Amended config.h to match latest changes to STATIC_ECDT_TABLE_INJECTION.
- Amend BuildUSB.sh to set header of com.apple.Boot.plist to use appropriate
 string per OS version.

RevoBuilder V1.0.25
==================
- Amended config.sh to suit RevoBoot v1.0.22.
- Updated RevoBuilder/RevStart/Resources/Chameleon_Files to that from RC5 r1174.
 Note: boot0 is actually the new boot0md. So it doesn't need the USB partition set to active.

RevoBuilder V1.0.24
==================
- Attempt at making the BuildUSB script more complete by detecting the use of the
 PRE_LINKED_KERNEL_SUPPORT directive in settings.h. If found, include the system caches
 on the USB, otherwise copy /S*/L*/E* to the USB and then look for FakeSMC.kext to determine
 whether or not the USB can be booted. If not, then advise the user to manually
 add their /Extra kexts.

RevoBuilder V1.0.23
==================
- Added copying of /System/Library/Caches/com.apple.kext.caches/Startup/ to  USB flash drive

RevoBuilder V1.0.22
==================
- Fixed a bug in BuildUSB.sh where it would always write the Chameleon stage 1 boot file
 to rdisk2s1 instead of the correct partition.

RevoBuilder V1.0.21
==================
- Change SSDT_DATA / SSDTDATA to SSDT_SATA / SSDTSATA in config.h - Thanks STLVNUB

RevoBuilder V1.0.20
==================
- Added error checking to the screen resolution detection code in config.sh.

RevoBuilder V1.0.19
==================
- Changed the code in config.sh for detecting the currently used screen resolution. Replaced it
 with some older code which needs testing to see if it works 100% for everyone.

RevoBuilder V1.0.18
==================
- Fixed a bug in the menu where a heading wasn't shown under certain conditions.
- Moved the toggle target OS option to the build section in the menu.
- Removed the toggle debug mode option from the menu as it wasn't complete and it's better
 to do it manually when editing the settings.h file.
- Removed colour setup from BuildUSB.sh as they're now passed from Revstart script.

RevoBuilder V1.0.17
==================
- Some changes to the build a bootable flash drive option. Lots more to do on this yet -
 I consider this part as a work-in-progress.

RevoBuilder V1.0.16
==================
- Added menu option (after Clean) to build a bootable USB flash drive. It has been tested
 on default settings using SnowLeopard and Lion. It's not all singing all dancing and doesn't
 support things like a pre-linked kernel yet but here it works. It's only a first draft so there's
 plenty of room for code improvements etc.

RevoBuilder V1.0.15
==================
- Change download.sh to remove the supplied /i386/config/ACPI/data.h and /i386/config/settings.h
 files after downloading latest RevoBoot source.

RevoBuilder V1.0.14
==================
- Revised Config.h to produce settings.h to match latest style used in RevoBoot 1.0.21.
- Changed colour of menu options 3 & 4 to green for initial word of the toggled options.
- Revised version number.

RevoBuilder V1.0.13
==================
- Updated /RevStart/Resources/Tools/ to RevoBoot's latest smbios2struct3
- Updated DoPrivateDataStructs.h with the revised name for smbios2struct3
- Changed occurrences of Revolution to RevoBoot in Config.sh
- Revised Config.h to produce settings.h to match latest style in GitHub

RevoBuilder V1.0.12
==================
- Changed the config.sh script to reflect changes to RevoBoot 1.0.09

RevoBuilder V1.0.11
==================
- Changed the way the version number is stored.
- Tweaked the scripts for the config process.

RevoBuilder V1.0.10
==================
- Tweak Welcome heading at the top of the menu.

RevoBuilder V1.0.9
==================
- Add code for RevStart menu to pad a space before options (1-9) to help alignment.
- Remove erroneous space in config.sh

RevoBuilder V1.0.8
==================
- Add function in Revstart script to resize the Terminal Window to keep everything
 visible (needs more work).
- Changed source.sh script to present list of source folders to choose from.

RevoBuilder V1.0.7
==================
- Updated config.sh to reflect the changes to settings.h for RevoBoot 1.0.06
- Tweaked menu indent for 'Description' beside REVOBUILDER OPTIONS:

RevoBuilder V1.0.6
==================
- Add auto-detection for Git.
- Tweaked menu to only show the correct options depending on the environment.
- Removed note about needing Git from download.sh.

RevoBuilder V1.0.5
==================
- Updated config.sh to no longer add TARGET_OS directive to settings.h as required
 for RevoBoot v1.0.05.
- Updated compilation.sh to use make lion if the user want's to build RevoBoot for 10.7
- Change menu to show built config data in green.

RevoBuilder V1.0.4
==================
- Updated config.h to duplicate /config/data-template.h to data.h to now successfully
 compile RevoBoot v1.0.04.
- Change menu so it only shows 'Clean' option is RevoBoot has been compiled.
- Change menu to show built config data in green.
- Changed version number in Revstart script.

evoBuilder V1.0.3
==================
- Updated download.sh script to work with RevoBoot v1.0.04's version numbering.
- Changed compilation.sh to wait for user input if compilation fails.
- Changed version number in Revstart script.

RevoBuilder V1.0.2
==================
- README file changed to point the user to my git wiki.
- Added 'RevoBuilder options' sub heading to main menu with 'Help' option which opens my wiki on git.
- Changed version number in Revstart script.
- Note: The version numbering is not working with RevoGirl's RevoBoot v1.0.04 as the VERSION file
 is missing from her source. This will be addressed with my next update,
 once RevoGirl addresses this issue.

RevoBuilder V1.0.1
==================
- Changed how RevoBoot version/revision naming is appended to source folder name
 to suit RevoBoot v1.0.03
- Changed version number in Revstart script.

RevoBuilder V1.0
==================
- Initial Version released on 15th March 2011[/size]
 

 

 

 

Start Topic

How to boost the OS X boot process...

 

Credits & Useful Links

How to show PCI Cards on System Profiler - using EFI strings

DSDT for Asus P8P67, lightweight ACPI tables + knowledge base (WIP) Work in progress, keep an eye on it!

DSDT for Asus P8P67-M PRO, lightweight ACPI tables

Asus maximus IV Gene-Z Hackintosh

SpeedStepper

  • Like 4
Link to comment
Share on other sites

How to convert the GraphicsEnabler to Little Endian

 

 

This mini-guide helps you to enable QE/CI of your graphic card.

 

Boot with Chameleon using the Graphics Enabler, at the desktop open Lizard and click on Device Properties then on Current Injection.

 

Look on the desktop, you will have a new folder named Lizard on it.

In Lizard/devprop there will be a file named chameleon-devprop.plist, change the extension from “.plist” to “.xml”

 

Put gfxutil on the desktop, open the terminal and type:

 

cd ~/desktop
sudo ./gfxutil -s -n -i xml -o bin chameleon-devprop.xml efi.bin

 

You will have efi.bin on the desktop, type again:

 

xxd -i -c 8 /Users/VOSTRO_NOME_UTENTE/Desktop/efi.bin  |tail -n +2 |sed 'N;$!P;$!D;$d' | sed 's/$/ \\/' | sed '$s/.$//'

 

Finally you'll get this:

 

  0x6d, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, \
 0x01, 0x00, 0x00, 0x00, 0x61, 0x02, 0x00, 0x00, \
 0x0d, 0x00, 0x00, 0x00, 0x02, 0x01, 0x0c, 0x00, \
 0xd0, 0x41, 0x03, 0x0a, 0x00, 0x00, 0x00, 0x00, \
 0x01, 0x01, 0x06, 0x00, 0x00, 0x01, 0x01, 0x01, \
 0x06, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x04, 0x00, \
 0x1e, 0x00, 0x00, 0x00, 0x72, 0x00, 0x6f, 0x00, \
 0x6d, 0x00, 0x2d, 0x00, 0x72, 0x00, 0x65, 0x00, \
 0x76, 0x00, 0x69, 0x00, 0x73, 0x00, 0x69, 0x00, \
 0x6f, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x13, 0x00, \
 0x00, 0x00, 0x36, 0x32, 0x2e, 0x39, 0x34, 0x2e, \
 0x32, 0x31, 0x2e, 0x30, 0x30, 0x2e, 0x30, 0x30, \
 0x00, 0x22, 0x00, 0x00, 0x00, 0x40, 0x00, 0x30, \
 0x00, 0x2c, 0x00, 0x64, 0x00, 0x65, 0x00, 0x76, \
 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, 0x5f, \
 0x00, 0x74, 0x00, 0x79, 0x00, 0x70, 0x00, 0x65, \
 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x64, \
 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x00, 0x10, \
 0x00, 0x00, 0x00, 0x4e, 0x00, 0x56, 0x00, 0x43, \
 0x00, 0x41, 0x00, 0x50, 0x00, 0x00, 0x00, 0x18, \
 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, \
 0x00, 0x03, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, \
 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x14, \
 0x00, 0x00, 0x00, 0x40, 0x00, 0x30, 0x00, 0x2c, \
 0x00, 0x6e, 0x00, 0x61, 0x00, 0x6d, 0x00, 0x65, \
 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x4e, \
 0x56, 0x44, 0x41, 0x2c, 0x44, 0x69, 0x73, 0x70, \
 0x6c, 0x61, 0x79, 0x2d, 0x41, 0x00, 0x10, 0x00, \
 0x00, 0x00, 0x6d, 0x00, 0x6f, 0x00, 0x64, 0x00, \
 0x65, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x14, 0x00, \
 0x00, 0x00, 0x47, 0x65, 0x46, 0x6f, 0x72, 0x63, \
 0x65, 0x20, 0x39, 0x36, 0x30, 0x30, 0x20, 0x47, \
 0x54, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x40, 0x00, \
 0x30, 0x00, 0x2c, 0x00, 0x41, 0x00, 0x41, 0x00, \
 0x50, 0x00, 0x4c, 0x00, 0x2c, 0x00, 0x62, 0x00, \
 0x6f, 0x00, 0x6f, 0x00, 0x74, 0x00, 0x2d, 0x00, \
 0x64, 0x00, 0x69, 0x00, 0x73, 0x00, 0x70, 0x00, \
 0x6c, 0x00, 0x61, 0x00, 0x79, 0x00, 0x00, 0x00, \
 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, \
 0x14, 0x00, 0x00, 0x00, 0x40, 0x00, 0x31, 0x00, \
 0x2c, 0x00, 0x6e, 0x00, 0x61, 0x00, 0x6d, 0x00, \
 0x65, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, \
 0x4e, 0x56, 0x44, 0x41, 0x2c, 0x44, 0x69, 0x73, \
 0x70, 0x6c, 0x61, 0x79, 0x2d, 0x42, 0x00, 0x20, \
 0x00, 0x00, 0x00, 0x40, 0x00, 0x31, 0x00, 0x2c, \
 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x70, \
 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x62, \
 0x00, 0x6c, 0x00, 0x65, 0x00, 0x00, 0x00, 0x0f, \
 0x00, 0x00, 0x00, 0x4e, 0x56, 0x44, 0x41, 0x2c, \
 0x4e, 0x56, 0x4d, 0x61, 0x63, 0x00, 0x22, 0x00, \
 0x00, 0x00, 0x56, 0x00, 0x52, 0x00, 0x41, 0x00, \
 0x4d, 0x00, 0x2c, 0x00, 0x74, 0x00, 0x6f, 0x00, \
 0x74, 0x00, 0x61, 0x00, 0x6c, 0x00, 0x73, 0x00, \
 0x69, 0x00, 0x7a, 0x00, 0x65, 0x00, 0x00, 0x00, \
 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, \
 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x30, 0x00, \
 0x2c, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00, \
 0x70, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, \
 0x62, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x00, 0x00, \
 0x0f, 0x00, 0x00, 0x00, 0x4e, 0x56, 0x44, 0x41, \
 0x2c, 0x4e, 0x56, 0x4d, 0x61, 0x63, 0x00, 0x22, \
 0x00, 0x00, 0x00, 0x40, 0x00, 0x31, 0x00, 0x2c, \
 0x00, 0x64, 0x00, 0x65, 0x00, 0x76, 0x00, 0x69, \
 0x00, 0x63, 0x00, 0x65, 0x00, 0x5f, 0x00, 0x74, \
 0x00, 0x79, 0x00, 0x70, 0x00, 0x65, 0x00, 0x00, \
 0x00, 0x0c, 0x00, 0x00, 0x00, 0x64, 0x69, 0x73, \
 0x70, 0x6c, 0x61, 0x79, 0x00, 0x1c, 0x00, 0x00, \
 0x00, 0x64, 0x00, 0x65, 0x00, 0x76, 0x00, 0x69, \
 0x00, 0x63, 0x00, 0x65, 0x00, 0x5f, 0x00, 0x74, \
 0x00, 0x79, 0x00, 0x70, 0x00, 0x65, 0x00, 0x00, \
 0x00, 0x10, 0x00, 0x00, 0x00, 0x4e, 0x56, 0x44, \
 0x41, 0x2c, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, \
 0x00, 0x22, 0x00, 0x00, 0x00, 0x41, 0x00, 0x41, \
 0x00, 0x50, 0x00, 0x4c, 0x00, 0x2c, 0x00, 0x73, \
 0x00, 0x6c, 0x00, 0x6f, 0x00, 0x74, 0x00, 0x2d, \
 0x00, 0x6e, 0x00, 0x61, 0x00, 0x6d, 0x00, 0x65, \
 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x53, \
 0x6c, 0x6f, 0x74, 0x2d, 0x31 

 

Now put it in config/EFI/data.h and set #define INJECT_EFI_DEVICE_PROPERTIES 1

 

//--------------------------------------- EFI ---------------------------------------

#define    STATIC_EFI_DEVICE_PROPERTIES \
 0x6d, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, \
 0x01, 0x00, 0x00, 0x00, 0x61, 0x02, 0x00, 0x00, \
 0x0d, 0x00, 0x00, 0x00, 0x02, 0x01, 0x0c, 0x00, \
 0xd0, 0x41, 0x03, 0x0a, 0x00, 0x00, 0x00, 0x00, \
 0x01, 0x01, 0x06, 0x00, 0x00, 0x01, 0x01, 0x01, \
 0x06, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x04, 0x00, \
 0x1e, 0x00, 0x00, 0x00, 0x72, 0x00, 0x6f, 0x00, \
 0x6d, 0x00, 0x2d, 0x00, 0x72, 0x00, 0x65, 0x00, \
 0x76, 0x00, 0x69, 0x00, 0x73, 0x00, 0x69, 0x00, \
 0x6f, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x13, 0x00, \
 0x00, 0x00, 0x36, 0x32, 0x2e, 0x39, 0x34, 0x2e, \
 0x32, 0x31, 0x2e, 0x30, 0x30, 0x2e, 0x30, 0x30, \
 0x00, 0x22, 0x00, 0x00, 0x00, 0x40, 0x00, 0x30, \
 0x00, 0x2c, 0x00, 0x64, 0x00, 0x65, 0x00, 0x76, \
 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, 0x5f, \
 0x00, 0x74, 0x00, 0x79, 0x00, 0x70, 0x00, 0x65, \
 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x64, \
 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x00, 0x10, \
 0x00, 0x00, 0x00, 0x4e, 0x00, 0x56, 0x00, 0x43, \
 0x00, 0x41, 0x00, 0x50, 0x00, 0x00, 0x00, 0x18, \
 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, \
 0x00, 0x03, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, \
 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x14, \
 0x00, 0x00, 0x00, 0x40, 0x00, 0x30, 0x00, 0x2c, \
 0x00, 0x6e, 0x00, 0x61, 0x00, 0x6d, 0x00, 0x65, \
 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x4e, \
 0x56, 0x44, 0x41, 0x2c, 0x44, 0x69, 0x73, 0x70, \
 0x6c, 0x61, 0x79, 0x2d, 0x41, 0x00, 0x10, 0x00, \
 0x00, 0x00, 0x6d, 0x00, 0x6f, 0x00, 0x64, 0x00, \
 0x65, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x14, 0x00, \
 0x00, 0x00, 0x47, 0x65, 0x46, 0x6f, 0x72, 0x63, \
 0x65, 0x20, 0x39, 0x36, 0x30, 0x30, 0x20, 0x47, \
 0x54, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x40, 0x00, \
 0x30, 0x00, 0x2c, 0x00, 0x41, 0x00, 0x41, 0x00, \
 0x50, 0x00, 0x4c, 0x00, 0x2c, 0x00, 0x62, 0x00, \
 0x6f, 0x00, 0x6f, 0x00, 0x74, 0x00, 0x2d, 0x00, \
 0x64, 0x00, 0x69, 0x00, 0x73, 0x00, 0x70, 0x00, \
 0x6c, 0x00, 0x61, 0x00, 0x79, 0x00, 0x00, 0x00, \
 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, \
 0x14, 0x00, 0x00, 0x00, 0x40, 0x00, 0x31, 0x00, \
 0x2c, 0x00, 0x6e, 0x00, 0x61, 0x00, 0x6d, 0x00, \
 0x65, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, \
 0x4e, 0x56, 0x44, 0x41, 0x2c, 0x44, 0x69, 0x73, \
 0x70, 0x6c, 0x61, 0x79, 0x2d, 0x42, 0x00, 0x20, \
 0x00, 0x00, 0x00, 0x40, 0x00, 0x31, 0x00, 0x2c, \
 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x70, \
 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x62, \
 0x00, 0x6c, 0x00, 0x65, 0x00, 0x00, 0x00, 0x0f, \
 0x00, 0x00, 0x00, 0x4e, 0x56, 0x44, 0x41, 0x2c, \
 0x4e, 0x56, 0x4d, 0x61, 0x63, 0x00, 0x22, 0x00, \
 0x00, 0x00, 0x56, 0x00, 0x52, 0x00, 0x41, 0x00, \
 0x4d, 0x00, 0x2c, 0x00, 0x74, 0x00, 0x6f, 0x00, \
 0x74, 0x00, 0x61, 0x00, 0x6c, 0x00, 0x73, 0x00, \
 0x69, 0x00, 0x7a, 0x00, 0x65, 0x00, 0x00, 0x00, \
 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, \
 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x30, 0x00, \
 0x2c, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00, \
 0x70, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, \
 0x62, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x00, 0x00, \
 0x0f, 0x00, 0x00, 0x00, 0x4e, 0x56, 0x44, 0x41, \
 0x2c, 0x4e, 0x56, 0x4d, 0x61, 0x63, 0x00, 0x22, \
 0x00, 0x00, 0x00, 0x40, 0x00, 0x31, 0x00, 0x2c, \
 0x00, 0x64, 0x00, 0x65, 0x00, 0x76, 0x00, 0x69, \
 0x00, 0x63, 0x00, 0x65, 0x00, 0x5f, 0x00, 0x74, \
 0x00, 0x79, 0x00, 0x70, 0x00, 0x65, 0x00, 0x00, \
 0x00, 0x0c, 0x00, 0x00, 0x00, 0x64, 0x69, 0x73, \
 0x70, 0x6c, 0x61, 0x79, 0x00, 0x1c, 0x00, 0x00, \
 0x00, 0x64, 0x00, 0x65, 0x00, 0x76, 0x00, 0x69, \
 0x00, 0x63, 0x00, 0x65, 0x00, 0x5f, 0x00, 0x74, \
 0x00, 0x79, 0x00, 0x70, 0x00, 0x65, 0x00, 0x00, \
 0x00, 0x10, 0x00, 0x00, 0x00, 0x4e, 0x56, 0x44, \
 0x41, 0x2c, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, \
 0x00, 0x22, 0x00, 0x00, 0x00, 0x41, 0x00, 0x41, \
 0x00, 0x50, 0x00, 0x4c, 0x00, 0x2c, 0x00, 0x73, \
 0x00, 0x6c, 0x00, 0x6f, 0x00, 0x74, 0x00, 0x2d, \
 0x00, 0x6e, 0x00, 0x61, 0x00, 0x6d, 0x00, 0x65, \
 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x53, \
 0x6c, 0x6f, 0x74, 0x2d, 0x31 
//======================================= END ======================================

 

 

 

 

 

How to generate a Static data

 

 

Instead of loading /Extra/ACPI/Tables.aml you could use the attached mini-perl script.

 

Open the terminal and type:

sudo perl aml2struct.pl SSDT_PR.aml Static.txt

 

 

SSDT_PR.aml (755 bytes) in little endian format. */
static uint32_t MY_Table[] = 
{
0x54445353, 0x000002F3, 0x50418001, 0x20454C50, 0x50757043, 0x0000006D, 0x00001000, 0x4C544E49, 
0x20091214, 0x5F2C4E10, 0x105F5250, 0x2E5C1D42, 0x5F52505F, 0x30555043, 0x53504108, 0x08040A4E, 
0x53535041, 0x14124F12, 0x00060E12, 0x0A0A0A00, 0x26000B0A, 0x1226000B, 0x0000060E, 0x0A0A0A0A, 
0x0B25000B, 0x0E122500, 0x0A000006, 0x0B0A0A0A, 0x000B2400, 0x060E1224, 0x0A0A0000, 0x000B0A0A, 
0x23000B23, 0x00060E12, 0x0A0A0A00, 0x22000B0A, 0x1222000B, 0x0000060E, 0x0A0A0A0A, 0x0B21000B, 
0x0E122100, 0x0A000006, 0x0B0A0A0A, 0x000B2000, 0x060E1220, 0x0A0A0000, 0x000B0A0A, 0x1F000B1F, 
0x00060E12, 0x0A0A0A00, 0x1E000B0A, 0x121E000B, 0x0000060E, 0x0A0A0A0A, 0x0B1D000B, 0x0E121D00, 
0x0A000006, 0x0B0A0A0A, 0x000B1C00, 0x060E121C, 0x0A0A0000, 0x000B0A0A, 0x1B000B1B, 0x00060E12, 
0x0A0A0A00, 0x1A000B0A, 0x121A000B, 0x0000060E, 0x0A0A0A0A, 0x0B19000B, 0x0E121900, 0x0A000006, 
0x0B0A0A0A, 0x000B1800, 0x060E1218, 0x0A0A0000, 0x000B0A0A, 0x17000B17, 0x00060E12, 0x0A0A0A00, 
0x16000B0A, 0x1216000B, 0x0000060E, 0x0A0A0A0A, 0x0B15000B, 0x0E121500, 0x0A000006, 0x0B0A0A0A, 
0x000B1400, 0x060E1214, 0x0A0A0000, 0x000B0A0A, 0x10000B10, 0x41084914, 0x00545343, 0x084012A4, 
0x040A0106, 0x11041D12, 0x82110A14, 0x017F000C, 0x00000102, 0x00000000, 0x00790000, 0x0B030A01, 
0x1E1203E8, 0x0A141104, 0x000C8211, 0x0302017F, 0x00000010, 0x00000000, 0x030A0079, 0xF40BCD0A, 
0x041E1201, 0x110A1411, 0x7F000C82, 0x20030201, 0x00000000, 0x79000000, 0x0A060A00, 0x015E0BF5, 
0x11041D12, 0x82110A14, 0x017F000C, 0x00300302, 0x00000000, 0x00790000, 0xF50A070A, 0x2210C80A, 
0x505F2E5C, 0x50435F52, 0x16143155, 0x53535041, 0x2F5CA400, 0x52505F03, 0x5550435F, 0x53504130, 
0x5C221053, 0x52505F2E, 0x5550435F, 0x41161432, 0x00535350, 0x032F5CA4, 0x5F52505F, 0x30555043, 
0x53535041, 0x2E5C2210, 0x5F52505F, 0x33555043, 0x50411614, 0xA4005353, 0x5F032F5C, 0x435F5250, 
0x41305550, 0x10535350, 0x5F2E5C22, 0x435F5250, 0x14345550, 0x53504116, 0x5CA40053, 0x505F032F, 
0x50435F52, 0x50413055, 0x22105353, 0x505F2E5C, 0x50435F52, 0x16143555, 0x53535041, 0x2F5CA400, 
0x52505F03, 0x5550435F, 0x53504130, 0x5C221053, 0x52505F2E, 0x5550435F, 0x41161436, 0x00535350, 
0x032F5CA4, 0x5F52505F, 0x30555043, 0x53535041, 0x2E5C2210, 0x5F52505F, 0x37555043, 0x50411614, 
0xA4005353, 0x5F032F5C, 0x435F5250, 0x41305550, 0x00535350
};

 

Now copy this into config/ACPI/data.h and set #define STATIC_SSDT_PR_TABLE_INJECTION 1

 

Enjoy it!

aml2struct.pl.zip

Lizard.zip

gfxutil.zip

  • Like 3
Link to comment
Share on other sites

Just an example of settings.h

/*
* Copyright © 2009 Master Chief. All rights reserved.
*
* Note: This is an essential part of the build process for Revolution v1.0.09 and greater.
*
*
* Latest cleanups and additional directives added by DHP in 2011
*/ 

//-------------------------------------------------------------------- ACPI.C ------------------------------------------------------------------

#define ACPI_10_SUPPORT	0

#define PATCH_ACPI_TABLE_DATA	1

#define USE_STATIC_ACPI_BASE_ADDRESS	0

#define STATIC_APIC_TABLE_INJECTION	0

#define STATIC_APIC2_TABLE_INJECTION	0

#define STATIC_DSDT_TABLE_INJECTION	0

#define STATIC_ECDS_TABLE_INJECTION	0

#define STATIC_FACS_TABLE_INJECTION	0

#define STATIC_HPET_TABLE_INJECTION	0

#define STATIC_SSDT_TABLE_INJECTION	0

#define STATIC_SSDT_GPU_TABLE_INJECTION	0

#define STATIC_SSDT_PR_TABLE_INJECTION	1  [color="#FF0000"]// In this case it was been used aml2struct.pl[/color]

#define STATIC_SSDT_SATA_TABLE_INJECTION	0

#define STATIC_SSDT_USB_TABLE_INJECTION	1  [color="#FF0000"]// like before[/color]

#define LOAD_DSDT_TABLE_FROM_EXTRA_ACPI	1 [color="#FF0000"]// we have DSDT.aml in Extra/ACPI - no STATIC DSDT in data.h[/color]

#define LOAD_SSDT_TABLE_FROM_EXTRA_ACPI	1 [color="#FF0000"]// like last case[/color]

#define LOAD_EXTRA_ACPI_TABLES	(LOAD_DSDT_TABLE_FROM_EXTRA_ACPI || LOAD_SSDT_TABLE_FROM_EXTRA_ACPI)

#define DROP_SSDT_TABLES	1  [color="#FF0000"]// Enabled to avoid KP, infact it's been using a SSDT_PR (for the SpeedStep)[/color]

#define REPLACE_EXISTING_SSDT_TABLES	0

#define APPLE_STYLE_ACPI	0

#define DEBUG_ACPI	0

#if USE_STATIC_ACPI_BASE_ADDRESS
#define	STATIC_ACPI_BASE_ADDRESS		0x00000000
#endif

//-------------------------------------------------------------------- BOOT.C ------------------------------------------------------------------

#define PRE_LINKED_KERNEL_SUPPORT	1  [color="#FF0000"]// To boost the boot process[/color]   [b]*[/b]

#define MUST_ENABLE_A20	0

#define SAFE_MALLOC	0

#define DEBUG_BOOT	0

//-------------------------------------------------------------------- CPU.C -------------------------------------------------------------------

#define USE_STATIC_CPU_DATA	0

#define CPU_VENDOR_ID	CPU_VENDOR_INTEL // CPU_VENDOR_AMD

#define DEBUG_CPU	0

//-------------------------------------------------------------- CPU/STATIC_DATA.C -------------------------------------------------------------

#define STATIC_CPU_Vendor	CPU_VENDOR_ID

#define STATIC_CPU_Signature	0

#define STATIC_CPU_Stepping	0

#define STATIC_CPU_Model	0

#define STATIC_CPU_Family	0

#define STATIC_CPU_ExtModel	0

#define STATIC_CPU_ExtFamily	0

#define STATIC_CPU_Type	0

#define STATIC_CPU_NumCores	0

#define STATIC_CPU_NumThreads	0

#define STATIC_CPU_Features	0

#define STATIC_CPU_CurrCoef	0

#define STATIC_CPU_MaxCoef	0

#define STATIC_CPU_CurrDiv	0

#define STATIC_CPU_MaxDiv	0

#define STATIC_CPU_TSCFrequency	0

#define STATIC_CPU_FSBFrequency	0

#define STATIC_CPU_CPUFrequency	0

#define STATIC_CPU_QPISpeed	0

//-------------------------------------------------------------------- DISK.C ------------------------------------------------------------------

#define EFI_SYSTEM_PARTITION_SUPPORT	0

#define LEGACY_BIOS_READ_SUPPORT	0

#define DEBUG_DISK	0

//------------------------------------------------------------------ DRIVERS.C -----------------------------------------------------------------

#define DEBUG_DRIVERS	0

//-------------------------------------------------------------------- EFI.C -------------------------------------------------------------------

#define APPLE_STYLE_EFI	1 [color="#FF0000"] // to add the next informations[/color]

#define INJECT_EFI_DEVICE_PROPERTIES	1  [color="#FF0000"]// If we use Efi injections in EFI/data.h[/color]

#define EFI_64_BIT	1

#define STATIC_MODEL_NAME	{ 'i', 'M', 'a', 'c', '1', '2', ',', '2', }

#define STATIC_SMSERIALNUMBER	"CK1029559W87"

#define STATIC_SYSTEM_SERIAL_NUMBER	{ 'C', 'K', '1', '0', '2', '9', '5', '5', '9', 'W', '8', '7' }

#define STATIC_SYSTEM_ID	{ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F }

#define DEBUG_EFI	0

#define EFI_DEBUG_MODE	0 // Set to 0 by default (for OS X 10.7 LION only).

//------------------------------------------------------------------ GRAPHICS.C ----------------------------------------------------------------

#define STATIC_SCREEN_WIDTH	1280

#define STATIC_SCREEN_HEIGHT	1024

//------------------------------------------------------------------- SMBIOS.C -----------------------------------------------------------------

#define USE_STATIC_SMBIOS_DATA	0    [color="#FF0000"]// to 1 if you use STATIC smbios in SMBIOS/data.h[/color]
[color="#FF0000"]//note: you can find the tool here /i386/libsaio/smbios/tools/[/color]
#define OVERRIDE_DYNAMIC_MEMORY_DETECTION	1 [color="#FF0000"] // to set it manually (see below)
[/color]
#define OVERRIDE_DYNAMIC_PRODUCT_DETECTION	1 [color="#FF0000"]// like before[/color]

#if OVERRIDE_DYNAMIC_PRODUCT_DETECTION
#define STATIC_SMBIOS_MODEL_ID			IMAC
#endif 

#define DEBUG_SMBIOS	0

//------------------------------------------------------------------ PLATFORM.C ----------------------------------------------------------------

#define STATIC_MAC_PRODUCT_NAME	"iMac12,2"

#if USE_STATIC_SMBIOS_DATA
// Do nothing.
#elif OVERRIDE_DYNAMIC_MEMORY_DETECTION
// Setup RAM module info. Please note that you may have to expand this when you have more RAM modules.
#define STATIC_RAM_SLOTS				4	// Number of RAM slots on mainboard.

#define STATIC_RAM_VENDORS				{ "G.Skill", "N/A", "G.Skill", "N/A", 0 }	// Use N/A for empty RAM banks.

#define DYNAMIC_RAM_OVERRIDE_TYPE		0	// Set to 0 by default. See libsaio/platform.h for supported values.

#define DYNAMIC_RAM_OVERRIDE_SIZE		0	// Set to 0 by default. Change this to 1 when you want to use override values (see below).

#if DYNAMIC_RAM_OVERRIDE_SIZE
#define DYNAMIC_RAM_OVERRIDE_SIZES		{ SMB_MEM_SIZE_2GB, SMB_MEM_BANK_EMPTY, SMB_MEM_SIZE_2GB, SMB_MEM_BANK_EMPTY, 0 } 
// See libsaio/platform.h for other values.
#endif

#define DYNAMIC_RAM_OVERRIDE_FREQUENCY	0	// Set to 0 by default. Change this to the frequency that you want to use as override value.

#define STATIC_RAM_PART_NUMBERS			{ "F3-12800CL7-2GBXM", "N/A", "F3-12800CL7-2GBXM", "N/A", 0 }	// Use N/A for empty RAM banks.

#define STATIC_RAM_SERIAL_NUMBERS		{ "Seriale#0", "N/A", "Seriale#2", "N/A", 0 }	// Use N/A for empty RAM banks.
#endif 

#define INCLUDE_MPS_TABLE	0

#define DEBUG_PLATFORM	0

//===================================================================== END ====================================================================

 

* Note: If you set #define PRE_LINKED_KERNEL_SUPPORT 1 don't forget to create the kernel cache

sudo touch /System/Library/Extensions
kextcache -system-caches
kextcache -system-prelinked-kernel

 

 

SSDT_PR & Speedstep

Waiting for the correct working of the ssdt_pr_generator I add here something:

Auto-generation works good!

 

ssdt_i5_2400.zip

ssdt_i5_2500k.zip

ssdt_i7_2600k.zip

 

Change the first 4 states according to your Turbo Ratio

Link to comment
Share on other sites

I use 9 static SSDT. :unsure:

 

and would like to add them to this project.

И сандибриджа у меня нет, но есть пенрин. :D

 

in patcher.h mistake —

 

#if LOAD_DSDT_TABLE_FROM_EXTRA_ACPI || LOAD_SSDT_TABLE_FROM_EXTRA_ACPI

//==============================================================================

 

int loadACPITable(int tableIndex)

{

_ACPI_DEBUG_DUMP("loadACPITable(%s / ", customTables[tableIndex].name);

 

char dirspec[32];

sprintf (dirspec, "/Extra/ACPI/%s.aml", customTables[tableIndex].name);

int fd = open(dirspec, 0);

 

if (fd < 0)

{

_ACPI_DEBUG_DUMP("Error: File not found.)\n");

 

return -1;

}

 

int fileSize = file_size(fd);

void * kernelAddress = malloc(fileSize);

 

if (kernelAddress)

{

read(fd, kernelAddress, fileSize);

}

 

close(fd);

 

_ACPI_DEBUG_DUMP("%d bytes).\n", fileSize);

 

customTables[tableIndex].table = kernelAddress;

customTables[tableIndex].tableLength = fileSize;

 

return 0;

}

#endif — this

 

 

add project xcode

Booter.zip

Link to comment
Share on other sites

Cheers for that! +1 ;)

 

Couple of things to note:

 

Please add a reference that the text is from the RevoBoot wiki or put the text in quotes.

 

RevoBuilder is not updated at the moment and a lot of options have changed for RevoBoot. The script also generates some static ACPI table data that relies on the current boot (and DSDT used for that boot). This might be more confusing and error prone for new users than it intends to streamline to process. At this point it is preferred in my view to manually configure and build RevoBoot. Maybe you could add a note about it?

 

I'll add a howto for configuring RevoBoot on the P8P67 in my thread here: http://www.insanelymac.com/forum/index.php?showtopic=259066

 

in patcher.h mistake —

The bug was submitted, update should be available shortly.

Link to comment
Share on other sites

RevoBuilder is not updated at the moment and a lot of options have changed for RevoBoot. The script also generates some static ACPI table data that relies on the current boot (and DSDT used for that boot). This might be more confusing and error prone for new users than it intends to streamline to process.

I knew that, for this reason I added in the following posts same little "how to".

 

I'll add a howto for configuring RevoBoot on the P8P67 in my thread here: http://www.insanelymac.com/forum/index.php?showtopic=259066

That's great! Added in the first post! ;)

I uploaded the first post adding the link that you asked.

 

 

Great news!

RevoBoot v1.0.18
================
- Fixed a number of bugs.
- Made ssdt_pr_generator.h more robust.

 

Mr.mojo could you try if the ssdt_pr_generator works good now?

 

Edit: Uploaded the post#3

Link to comment
Share on other sites

Mr.mojo could you try if the ssdt_pr_generator works good now?

Here we go ;)

SSDT_PR auto-generation seems to work good now.

After an half-hour of use this is what MSRDumper gives me on kernel.log:

MSRDumper PStatesReached: 16 21 25 29 33 41 42 43 44

This is what I get with my SSDT_PR in Extra/ACPI:

MSRDumper PStatesReached: 16 22 26 30 33 41 42 43 44

But I don't see any SSDT_PR auto-generated in Extra/ACPI or in ACPI/data.h :)

I'm missing something?

Link to comment
Share on other sites

SSDT_PR generation works great so far. I'm seeing two additional P-States that I haven't got in my original SSDT_PR, posted that already @github.

 

Basically, because we have two additional states, the stepper program picks different states...

 

I haven't tested a single fixed Turbo Ratio for all CPU's yet.

 

I'm missing something?

The generated SSDT_PR is directly saved into memory.

Link to comment
Share on other sites

Do you get the same P-States?

Just got some information. If you want the same P-States as before you have to change MAX_NUMBER_OF_P_STATES in ssdt_pr_generator.h to 19. This setting will move to settings.h in a short while.

 

You can experiment with that number and see if you get P-States you like better (maybe a steeper curve).

 

Setting one fixed ratio to all CPU's could be dangerous, I've set it to 44x and RevoBoot wanted to go for 59x! Reported that, too.

Link to comment
Share on other sites

Just got some information. If you want the same P-States as before you have to change MAX_NUMBER_OF_P_STATES in ssdt_pr_generator.h to 19. This setting will move to settings.h in a short while.

// Move this to settings.h when you're done testing!

//--------------------------------------------------------------------------

#define MAX_NUMBER_OF_P_STATES 21 // Default of 16 normal plus 4 turbo P-States (for desktop setups).

// Result(16): 16, 25, 28, 31, 34, 35, 36, 37 and 38 multi.

// Low power (mobility) processors might need an extended range!

I've to change this 21 to 19 and then re-compile? Or I have also to put the #define MAX_NUMBER_OF_P_STATES to my settings.h?

Setting one fixed ratio to all CPU's could be dangerous, I've set it to 44x and RevoBoot wanted to go for 59x! Reported that, too.

I also get this few days ago when I was testing my Turbo Ratios. With 44x multiplier on all cores and SSDT_PR (Turbo Ratios 89AB) in Extra/ACPI I see a 59x during Debug CPU of RevoBoot.

Link to comment
Share on other sites

I've to change this 21 to 19 and then re-compile? Or I have also to put the #define MAX_NUMBER_OF_P_STATES to my settings.h?

The devs will move it to settings.h, just set the number and recompile.

Link to comment
Share on other sites

 Share

×
×
  • Create New...