Skip to content
This repository has been archived by the owner on Jan 3, 2021. It is now read-only.

Commit

Permalink
Replacing static defines QList<struct> with struct-array -> No need f…
Browse files Browse the repository at this point in the history
…or C++11.. which didn't work for me properly..

Added missing VoodooHdaKext GUID
  • Loading branch information
tuxuser committed Sep 18, 2014
1 parent b2792a8 commit 26b318d
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 41 deletions.
14 changes: 9 additions & 5 deletions OZMTool/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,9 @@ struct sectionEntry {
BOOLEAN required;
};

static const QList<sectionEntry> OzmFfs{
#define OZMFFS_SIZE 17

static const sectionEntry OzmFfs[]{
// Filesystem
{"PartitionDxe","1FA1F39E-FEFF-4AAE-BD7B-38A070A3B609", "partitiondxe.efi", SRC_EFI, EFI_SECTION_PE32, TRUE},
{"EnhancedFat","961578FE-B6B7-44C3-AF35-6BC705CD2B1F", "enhancedfat.efi", SRC_EFI, EFI_SECTION_PE32, TRUE},
Expand All @@ -85,11 +87,10 @@ static const QList<sectionEntry> OzmFfs{
{"Ozmosis","AAE65279-0761-41D1-BA13-4A3C1383603F", "ozmosis.efi", SRC_EFI, EFI_SECTION_PE32, TRUE},
// EFI / EDK Shell
{"HermitShellX64","C57AD6B7-0515-40A8-9D21-551652854E37", "hermitshellx64.efi", SRC_EFI, EFI_SECTION_PE32, FALSE},
{"Shell", "7C04A583-9E3E-4F1C-AD65-E05268D0B4D1", "shell.efi", SRC_EFI, EFI_SECTION_PE32, FALSE},
// Defaults
{"OzmosisDefaults","99F2839C-57C3-411E-ABC3-ADE5267D960D", "Defaults.plist", SRC_BINARY, EFI_SECTION_RAW, TRUE},
// Theme
{"OzmosisTheme","AC255206-DCF9-4837-8353-72BBBC0AC849", "Theme.bin", SRC_BINARY, EFI_SECTION_RAW, FALSE},
{"OzmosisTheme","AC255206-DCF9-4837-8353-72BBBC0AC849", "Theme.bin", SRC_BINARY, EFI_SECTION_RAW, TRUE},
// Kernel Extensions
{"SmcEmulatorKext","DADE1001-1B31-4FE4-8557-26FCEFC78275", "FakeSMC.kext", SRC_KEXT, EFI_SECTION_RAW, TRUE},
{"DisablerKext","DADE1002-1B31-4FE4-8557-26FCEFC78275", "Disabler.kext", SRC_KEXT, EFI_SECTION_RAW, FALSE},
Expand All @@ -98,10 +99,13 @@ static const QList<sectionEntry> OzmFfs{
{"PostbootSymbols","DADE1005-1B31-4FE4-8557-26FCEFC78275", "PostbootSymbols.kext", SRC_KEXT, EFI_SECTION_RAW, FALSE},
{"CpuSensorsKext","DADE1006-1B31-4FE4-8557-26FCEFC78275", "CPUSensors.kext", SRC_KEXT, EFI_SECTION_RAW, FALSE},
{"LpcSensorsKext","DADE1007-1B31-4FE4-8557-26FCEFC78275", "LPCSensors.kext", SRC_KEXT, EFI_SECTION_RAW, FALSE},
{"GpuSensorsKext","DADE1008-1B31-4FE4-8557-26FCEFC78275", "GPUSensors.kext", SRC_KEXT, EFI_SECTION_RAW, FALSE}
{"GpuSensorsKext","DADE1008-1B31-4FE4-8557-26FCEFC78275", "GPUSensors.kext", SRC_KEXT, EFI_SECTION_RAW, FALSE},
{"VoodooHdaKext", "DADE1009-1B31-4FE4-8557-26FCEFC78275", "VoodooHDA.kext", SRC_KEXT, EFI_SECTION_RAW, FALSE}
};

static const QList<sectionEntry> deleteFfs{
#define DELETABLEFFS_SIZE 10

static const sectionEntry deletableFfs[]{
{"TcpDxe","B1625D3C-9D2D-4E0D-B864-8A763EE4EC50", "tcpdxe.efi", SRC_EFI, EFI_SECTION_PE32, FALSE},
{"Dhcp4Dxe","8DD9176E-EE87-4F0E-8A84-3F998311F930", "dhcp4dxe.efi", SRC_EFI, EFI_SECTION_PE32, FALSE},
{"Ip4ConfigDxe","8F9296EF-2880-4659-B857-915A8901BDC8", "ip4configdxe.efi", SRC_EFI, EFI_SECTION_PE32, FALSE},
Expand Down
18 changes: 9 additions & 9 deletions OZMTool/ffsutil.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -445,29 +445,29 @@ UINT8 FFSUtil::runFreeSomeSpace(int aggressivity)
switch(aggressivity) {
case RUN_DEL_OZM_NREQ:
printf("Deleting non-essential Ozmosis files to save space...\n");
for(i = 0; i<OzmFfs.size(); i++){
if(!OzmFfs.at(i).required){
ret = findFileByGUID(rootIdx,OzmFfs.at(i).GUID,currIdx);
for(i = 0; i<OZMFFS_SIZE; i++){
if(!OzmFfs[i].required){
ret = findFileByGUID(rootIdx,OzmFfs[i].GUID,currIdx);
if(ret)
continue;
ret = remove(currIdx);
if(ret)
printf("Warning: Removing entry '%s' [%s] failed!\n", qPrintable(OzmFfs.at(i).name), qPrintable(OzmFfs.at(i).GUID));
printf("Warning: Removing entry '%s' [%s] failed!\n", qPrintable(OzmFfs[i].name), qPrintable(OzmFfs[i].GUID));
else
printf("* Removed '%s' [%s] succesfully!\n", qPrintable(OzmFfs.at(i).name), qPrintable(OzmFfs.at(i).GUID));
printf("* Removed '%s' [%s] succesfully!\n", qPrintable(OzmFfs[i].name), qPrintable(OzmFfs[i].GUID));
}
}
case RUN_DELETE:
printf("Deleting network BIOS stuff (PXE) to save space...\n");
for(i = 0; i<deleteFfs.size(); i++){
ret = findFileByGUID(rootIdx,deleteFfs.at(i).GUID,currIdx);
for(i = 0; i<DELETABLEFFS_SIZE; i++){
ret = findFileByGUID(rootIdx,deletableFfs[i].GUID,currIdx);
if(ret)
continue;
ret = remove(currIdx);
if(ret)
printf("Warning: Removing entry '%s' [%s] failed!\n", qPrintable(deleteFfs.at(i).name), qPrintable(deleteFfs.at(i).GUID));
printf("Warning: Removing entry '%s' [%s] failed!\n", qPrintable(deletableFfs[i].name), qPrintable(deletableFfs[i].GUID));
else
printf("* Removed '%s' [%s] succesfully!\n", qPrintable(deleteFfs.at(i).name), qPrintable(deleteFfs.at(i).GUID));
printf("* Removed '%s' [%s] succesfully!\n", qPrintable(deletableFfs[i].name), qPrintable(deletableFfs[i].GUID));
}
case RUN_AS_IS:
break;
Expand Down
52 changes: 26 additions & 26 deletions OZMTool/ozmtool.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -193,13 +193,13 @@ UINT8 OZMTool::OZMUpdate(QString inputfile, QString recentBios, QString outputfi
return ret;
}

for(i = 0; i < OzmFfs.size(); i++){
for(i = 0; i < OZMFFS_SIZE; i++){
ffsbuf.clear();
guid = OzmFfs.at(i).GUID;
guid = OzmFfs[i].GUID;

ret = oFU->dumpFileByGUID(guid, ffsbuf, EXTRACT_MODE_AS_IS);
if(ret && OzmFfs.at(i).required) {
printf("ERROR: Required file '%s' [%s] not found!\n", qPrintable(OzmFfs.at(i).name), qPrintable(guid));
if(ret && OzmFfs[i].required) {
printf("ERROR: Required file '%s' [%s] not found!\n", qPrintable(OzmFfs[i].name), qPrintable(guid));
return ERR_FILE_NOT_FOUND;
}
else if(ret)
Expand Down Expand Up @@ -309,8 +309,8 @@ UINT8 OZMTool::OZMExtract(QString inputfile, QString outputdir)
return ret;
}

for(i=0; i<OzmFfs.size(); i++) {
guid = OzmFfs.at(i).GUID;
for(i=0; i<OZMFFS_SIZE; i++) {
guid = OzmFfs[i].GUID;

ret = fu->dumpFileByGUID(guid, buf, EXTRACT_MODE_AS_IS);
if (ret == ERR_ITEM_NOT_FOUND) {
Expand Down Expand Up @@ -490,11 +490,11 @@ UINT8 OZMTool::OZMCreate(QString inputfile, QString outputfile, QString inputFFS
currKext = diKext.next();
srcType = SRC_NOT_SET;

for(i=0; i < OzmFfs.size(); i++) {
if(!currKext.fileName().compare(OzmFfs.at(i).srcName)) {
srcType = OzmFfs.at(i).srcType;
guid = OzmFfs.at(i).GUID;
sectionName = OzmFfs.at(i).name;
for(i=0; i < OZMFFS_SIZE; i++) {
if(!currKext.fileName().compare(OzmFfs[i].srcName)) {
srcType = OzmFfs[i].srcType;
guid = OzmFfs[i].GUID;
sectionName = OzmFfs[i].name;
break;
}
else if(currKext.fileName().endsWith(".kext")) {
Expand Down Expand Up @@ -556,13 +556,13 @@ UINT8 OZMTool::OZMCreate(QString inputfile, QString outputfile, QString inputFFS
srcType = SRC_NOT_SET;
currEfi = diEfi.next();

for(i=0; i < OzmFfs.size(); i++) {
if(currEfi.fileName().compare(OzmFfs.at(i).srcName))
for(i=0; i < OZMFFS_SIZE; i++) {
if(currEfi.fileName().compare(OzmFfs[i].srcName))
continue;
sectionType = OzmFfs.at(i).sectionType;
srcType = OzmFfs.at(i).srcType;
guid = OzmFfs.at(i).GUID;
sectionName = OzmFfs.at(i).name;
sectionType = OzmFfs[i].sectionType;
srcType = OzmFfs[i].srcType;
guid = OzmFfs[i].GUID;
sectionName = OzmFfs[i].name;
}

if(srcType != SRC_EFI)
Expand Down Expand Up @@ -637,12 +637,12 @@ UINT8 OZMTool::OZMCreate(QString inputfile, QString outputfile, QString inputFFS
return ret;
}

for(i=0; i<OzmFfs.size(); i++) {
for(i=0; i<OZMFFS_SIZE; i++) {
ffs.clear();
if(OzmFfs.at(i).required) {
ret = verifyFU->dumpFileByGUID(OzmFfs.at(i).GUID, ffs, EXTRACT_MODE_AS_IS);
if(OzmFfs[i].required) {
ret = verifyFU->dumpFileByGUID(OzmFfs[i].GUID, ffs, EXTRACT_MODE_AS_IS);
if(ret)
printf("ERROR: Failed to dump '%s' [%s] !\n",qPrintable(OzmFfs.at(i).name), qPrintable(OzmFfs.at(i).GUID));
printf("ERROR: Failed to dump '%s' [%s] !\n",qPrintable(OzmFfs[i].name), qPrintable(OzmFfs[i].GUID));
}
}

Expand Down Expand Up @@ -686,11 +686,11 @@ UINT8 OZMTool::Kext2Ffs(QString inputdir, QString outputdir)

srcType = SRC_NOT_SET;

for(i=0; i < OzmFfs.size(); i++) {
if(!currKext.fileName().compare(OzmFfs.at(i).srcName)) {
srcType = OzmFfs.at(i).srcType;
guid = OzmFfs.at(i).GUID;
sectionName = OzmFfs.at(i).name;
for(i=0; i < OZMFFS_SIZE; i++) {
if(!currKext.fileName().compare(OzmFfs[i].srcName)) {
srcType = OzmFfs[i].srcType;
guid = OzmFfs[i].GUID;
sectionName = OzmFfs[i].name;
break;
}
else if(currKext.fileName().endsWith(".kext")) {
Expand Down
2 changes: 1 addition & 1 deletion OZMTool/ozmtool.pro
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ QT -= gui

TARGET = OZMTool
TEMPLATE = app
CONFIG += c++11
CONFIG += console
CONFIG += static
CONFIG -= app_bundle
DEFINES += _CONSOLE

Expand Down

0 comments on commit 26b318d

Please sign in to comment.