Skip to content
This repository has been archived by the owner on Jun 27, 2018. It is now read-only.

Commit

Permalink
Introducing BlockKextCaches: will prevent prelinked kext being loaded…
Browse files Browse the repository at this point in the history
… by kernel.

<key>SystemParameters</key>
<dict>
  <key>BlockKextCaches</key>
  <array>
    <string>com.apple.driver.AppleHDA</string>
    <string>Kext-1</string>
    <string>Kext-2</string>
  </array>
</dict>

Renamed all Fix DSDT vars in config for easy maintaining & to avoid
confusions (read wiki).
Bring back ability to save OEM ACPI by pressing F4 from GUI.
Adapt Slice FIX_HEADER improvements, plus extras: RSDP, DSDT & XSDT
header patches.
  • Loading branch information
cecekpawon committed Jul 27, 2017
1 parent 2f1bdd6 commit ac39924
Show file tree
Hide file tree
Showing 10 changed files with 512 additions and 287 deletions.
6 changes: 6 additions & 0 deletions Include/Library/Common/CommonLib.h
Expand Up @@ -245,6 +245,12 @@ AsciiStrToLower (
IN CHAR8 *Str
);

CHAR8 *
EFIAPI
AsciiStrToUpper (
IN CHAR8 *Str
);

CHAR8 *
EFIAPI
AsciiStriStr (
Expand Down
12 changes: 7 additions & 5 deletions Include/Library/Platform/AmlGenerator.h
@@ -1,4 +1,4 @@
/*
/*
* aml_generator.h
* Chameleon
*
Expand All @@ -12,6 +12,10 @@

#include <Library/Platform/Platform.h>

#define XXXX_SIGN SIGNATURE_32 ('X','X','X','X')
//#define APIC_SIGN SIGNATURE_32 ('A','P','I','C')
//#define SLIC_SIGN SIGNATURE_32 ('S','L','I','C')

BOOLEAN AmlAddToParent (AML_CHUNK *Parent, AML_CHUNK *Node);
AML_CHUNK *AmlCreateNode (AML_CHUNK *Parent);
VOID AmlDestroyNode (AML_CHUNK *Node);
Expand Down Expand Up @@ -42,15 +46,13 @@ AML_CHUNK *AmlAddReturn (AML_CHUNK *Parent);

UINT32 AcpiGetSize (UINT8 *Buffer, UINT32 Adr);

typedef EFI_ACPI_DESCRIPTION_HEADER SSDT_TABLE;

SSDT_TABLE *
EFI_ACPI_DESCRIPTION_HEADER *
GeneratePssSsdt (
UINT8 FirstID,
UINTN Number
);

SSDT_TABLE *
EFI_ACPI_DESCRIPTION_HEADER *
GenerateCstSsdt (
EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE *Fadt,
UINT8 FirstID,
Expand Down
51 changes: 28 additions & 23 deletions Include/Library/Platform/Platform.h
Expand Up @@ -602,16 +602,21 @@ typedef struct {
#define AML_CHUNK_ARG2 0x6A
#define AML_CHUNK_ARG3 0x6B

#define FIX_MCHC bit (0)
#define FIX_DISPLAY bit (1)
#define FIX_LAN bit (2)
#define FIX_WIFI bit (3)
#define FIX_HDA bit (4)
#define FIX_INTELGFX bit (5)
#define FIX_PNLF bit (6)
#define FIX_HDMI bit (7)
#define FIX_IMEI bit (8)
#define FIX_HEADER bit (9)
#define FIX_MCHC bit (0)
#define FIX_DISPLAY bit (1)
#define FIX_LAN bit (2)
#define FIX_WIFI bit (3)
#define FIX_HDA bit (4)
#define FIX_INTELGFX bit (5)
#define FIX_PNLF bit (6)
#define FIX_HDMI bit (7)
#define FIX_IMEI bit (8)
#define FIX_HEADER bit (9)

#define ACPI_NAME_SIZE 4
#define ACPI_OEM_ID_SIZE 6
#define ACPI_OEM_TABLE_ID_SIZE 8
#define ACPI_RSDP_SIG_SIZE 8

typedef struct ACPI_DROP_TABLE {
UINT32 Signature;
Expand Down Expand Up @@ -879,13 +884,7 @@ typedef enum {
typedef struct {
CHAR8 *Title;
UINTN Bit;
} DEVICES_BIT_K;

typedef struct {
CHAR8 *Title;
CHAR8 *OptLabel;
UINTN Bit;
} OPT_MENU_BIT_K;
} OPT_BITS;

// Settings.c
// Micky1979: Next five functions (+ needed struct) are to split a string like "10.10.5,10.7,10.11.6,10.8.x"
Expand Down Expand Up @@ -1056,8 +1055,12 @@ typedef struct {
INTN BlackListCount;
CHAR16 **BlackList;

//Kexts
INTN BlockKextCachesCount;
CHAR8 **BlockKextCaches;

//BlackListed kexts
CHAR16 BlockKexts[64];
CHAR16 BlockKexts[64]; // FSInject business

//SMC keys
CHAR8 RPlt[8];
Expand Down Expand Up @@ -1191,11 +1194,11 @@ extern CHAR16 *gToolPath;
extern UINTN ACPIDropTablesNum;
extern UINTN ACPIPatchedAMLNum;

extern DEVICES_BIT_K ADEVICES[];
extern OPT_BITS ADEVICES[];
extern INTN OptDevicesBitNum;

extern OPT_MENU_BIT_K OPT_MENU_DSDTBIT[];
extern INTN OptMenuDSDTBitNum;
extern OPT_BITS AFIXDSDT[];
extern INTN OptFixDSDTBitNum;

extern CONST CHAR16 *OsxPathLCaches[];
extern CONST UINTN OsxPathLCachesCount;
Expand Down Expand Up @@ -1243,6 +1246,10 @@ FixBiosDsdt (
BOOLEAN Patched
);

VOID
FindCPU (
UINT8 *Dsdt
);

VOID
DumpFixBiosDsdt ();
Expand Down Expand Up @@ -1587,10 +1594,8 @@ SaveOemDsdt (
UINT8 OSType
);

#if DUMP_TABLE
VOID
SaveOemTables ();
#endif

UINT32
FixAny (
Expand Down

0 comments on commit ac39924

Please sign in to comment.