Chameleon

Chameleon Commit Details

Date:2013-06-27 15:26:48 (10 years 8 months ago)
Author:MacMan
Commit:2252
Parents: 2251
Message:Chimera v2.1.1: Rollbacked FileNVRAM.dylib to v1.1.2, includes most changes from trunk r2248 while retaining all previous Chimera v2.1.0 fixes and enhancements.
Changes:
M/branches/Chimera/i386/libsaio/fake_efi.c
M/branches/Chimera/version
M/branches/Chimera/i386/libsaio/nvidia.c
M/branches/Chimera/CHANGES
M/branches/Chimera/i386/modules/FileNVRAM/FileNVRAM.dylib
M/branches/Chimera/i386/libsaio/smbios_decode.c
M/branches/Chimera/i386/boot2/modules.h
M/branches/Chimera/revision
M/branches/Chimera/i386/modules/FileNVRAM/NEWS

File differences

branches/Chimera/version
1
1
2.1.0
2.1.1
branches/Chimera/i386/libsaio/nvidia.c
15781578
15791579
15801580
1581
1582
15811583
15821584
15831585
entries[i+1].type = TYPE_GROUPED;
}
break;
default:
break;
}
break;
}
branches/Chimera/i386/libsaio/smbios_decode.c
1818
1919
2020
21
22
23
24
2125
2226
2327
......
5256
5357
5458
55
56
57
58
5959
6060
6161
#define DBG(x...)msglog(x)
#endif
static SMBWord minorVersion;
extern char *getSMBStringForField(SMBStructHeader *structHeader, uint8_t field);
static const char *
SMBMemoryDeviceTypes[] =
{
kSMBMemoryDeviceTypeCount = sizeof(SMBMemoryDeviceTypes) /
sizeof(SMBMemoryDeviceTypes[0]);
static SMBWord minorVersion;
extern char *getSMBStringForField(SMBStructHeader *structHeader, uint8_t field);
//-------------------------------------------------------------------------------------------------------------------------
// BIOSInformation
//-------------------------------------------------------------------------------------------------------------------------
branches/Chimera/i386/libsaio/fake_efi.c
8484
8585
8686
87
87
88
8889
8990
9091
......
167168
168169
169170
170
171
171172
172173
173174
......
179180
180181
181182
182
183
183184
184185
185186
......
277278
278279
279280
280
281
281282
282283
283284
......
289290
290291
291292
292
293
293294
294295
295296
static uint8_t const VOIDRET_INSTRUCTIONS[] = {0xc3};
/* movl $0x80000003,%eax; ret */
static uint8_t const UNSUPPORTEDRET_INSTRUCTIONS[] = {0x48, 0xb8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc3};
static uint8_t const UNSUPPORTEDRET_INSTRUCTIONS_32[] = {0xb8, 0x03, 0x00, 0x00, 0x80, 0xc3};
static uint8_t const UNSUPPORTEDRET_INSTRUCTIONS_64[] = {0x48, 0xb8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc3};
EFI_SYSTEM_TABLE_32 *gST32 = NULL;
EFI_SYSTEM_TABLE_64 *gST64 = NULL;
EFI_CONFIGURATION_TABLE_32 efiConfigurationTable[MAX_CONFIGURATION_TABLE_ENTRIES];
EFI_CHAR16 firmwareVendor[sizeof(FIRMWARE_VENDOR)/sizeof(EFI_CHAR16)];
uint8_t voidret_instructions[sizeof(VOIDRET_INSTRUCTIONS)/sizeof(uint8_t)];
uint8_t unsupportedret_instructions[sizeof(UNSUPPORTEDRET_INSTRUCTIONS)/sizeof(uint8_t)];
uint8_t unsupportedret_instructions[sizeof(UNSUPPORTEDRET_INSTRUCTIONS_32)/sizeof(uint8_t)];
};
struct fake_efi_pages *fakeEfiPages = (struct fake_efi_pages*)AllocateKernelMemory(sizeof(struct fake_efi_pages));
// Initialize some machine code that will return EFI_UNSUPPORTED for
// functions returning int and simply return for void functions.
memcpy(fakeEfiPages->voidret_instructions, VOIDRET_INSTRUCTIONS, sizeof(VOIDRET_INSTRUCTIONS));
memcpy(fakeEfiPages->unsupportedret_instructions, UNSUPPORTEDRET_INSTRUCTIONS, sizeof(UNSUPPORTEDRET_INSTRUCTIONS));
memcpy(fakeEfiPages->unsupportedret_instructions, UNSUPPORTEDRET_INSTRUCTIONS_32, sizeof(UNSUPPORTEDRET_INSTRUCTIONS_32));
// --------------------------------------------------------------------
// System table
EFI_CONFIGURATION_TABLE_64 efiConfigurationTable[MAX_CONFIGURATION_TABLE_ENTRIES];
EFI_CHAR16 firmwareVendor[sizeof(FIRMWARE_VENDOR)/sizeof(EFI_CHAR16)];
uint8_t voidret_instructions[sizeof(VOIDRET_INSTRUCTIONS)/sizeof(uint8_t)];
uint8_t unsupportedret_instructions[sizeof(UNSUPPORTEDRET_INSTRUCTIONS)/sizeof(uint8_t)];
uint8_t unsupportedret_instructions[sizeof(UNSUPPORTEDRET_INSTRUCTIONS_64)/sizeof(uint8_t)];
};
struct fake_efi_pages *fakeEfiPages = (struct fake_efi_pages*)AllocateKernelMemory(sizeof(struct fake_efi_pages));
// Initialize some machine code that will return EFI_UNSUPPORTED for
// functions returning int and simply return for void functions.
memcpy(fakeEfiPages->voidret_instructions, VOIDRET_INSTRUCTIONS, sizeof(VOIDRET_INSTRUCTIONS));
memcpy(fakeEfiPages->unsupportedret_instructions, UNSUPPORTEDRET_INSTRUCTIONS, sizeof(UNSUPPORTEDRET_INSTRUCTIONS));
memcpy(fakeEfiPages->unsupportedret_instructions, UNSUPPORTEDRET_INSTRUCTIONS_64, sizeof(UNSUPPORTEDRET_INSTRUCTIONS_64));
// --------------------------------------------------------------------
// System table
branches/Chimera/i386/boot2/modules.h
1515
1616
1717
18
19
18
19
2020
2121
2222
#define MODULE_PATH"/Extra/modules/"
#define SYMBOLS_MODULE "Symbols.dylib"
#define SYMBOLS_AUTHOR "Chameleon"
#define SYMBOLS_DESCRIPTION "Chameleon symbols for linking"
#define SYMBOLS_AUTHOR "Chimera"
#define SYMBOLS_DESCRIPTION "Chimera symbols for linking"
#define SYMBOLS_VERSION 0
#define SYMBOLS_COMPAT 0
branches/Chimera/i386/modules/FileNVRAM/NEWS
11
22
3
4
5
6
7
83
94
105
FileNVRAM Release Notes
========= Version 1.1.3 =======
* Fixed an potential issue where boot-args could get mangled.
* Fixed an issue where certain legacy variables were saved incorrectly.
* Fixed an issue where certain nvram variables not write to the file immediately.
========= Version 1.1.2 =======
* Fixed a regression in 1.1.1 causing sleep to break.
branches/Chimera/revision
1
1
2246
2248
branches/Chimera/CHANGES
11
2
3
4
5
26
37
48
59
6
10
11
12
13
14
715
816
917
-macman: Chimera 2.1.0 specific changes:
Rollbacked FileNVRAM.dylib to v1.1.2
Includes most changes from trunk r2248 while retaining all previous Chimera v2.1.0 fixes and enhancements
- Fix issue booting x86 after rev.2175 (Credits to Mario, Alex and Leon).
-macman: Chimera 2.1.0 specific changes:
Added Haswell CPU support with model and speed detection
Disabled writing of boot arguments to nvram
Reverted AMD graphics card reporting and log messages to Chimera v1.11.1 style
Reverted NVIDIA graphics card reporting to Chimera v1.11.1 style
Included mosts changes from trunk r2246 that didn't conflict with Chimera 2.0.1 fixes and enhancements
Included mosts changes from trunk r2246 that didn't conflict with Chimera 2.0.1 fixes and enhancements
- Add boot support to 10.9 (thx old napalm)
- ErmaC : Update gui Icons OS detection
- Update default theme Icon set (thx BlackOsx)
- Add Linux GPT Partition Label
- Fix menuBVR initialization problem
- Implement ErmaC's HDAEnabler.dylib module
- Fix Bug in the loop that look for an ATI card. Credits to Jief Luce

Archive Download the corresponding diff file

Revision: 2252