X-Git-Url: https://code.delx.au/refind/blobdiff_plain/e0f6b77e5692ec112bb803202ae27f8c5d55de50..1f5b3c00f34cd3bfa077b2110d383632295efbd0:/EfiLib/Platform.h diff --git a/EfiLib/Platform.h b/EfiLib/Platform.h index 001a249..3924ac3 100644 --- a/EfiLib/Platform.h +++ b/EfiLib/Platform.h @@ -1,6 +1,18 @@ /* Headers collection for procedures */ +/** + +Copyright (c) 2004 - 2008, Intel Corporation. All rights reserved.
+This program and the accompanying materials +are licensed and made available under the terms and conditions of the BSD License +which accompanies this distribution. The full text of the license may be found at +http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ #ifndef __REFIT_PLATFORM_H__ #define __REFIT_PLATFORM_H__ @@ -42,291 +54,12 @@ Headers collection for procedures #include #include -//#include -//#include - -//#include "lib.h" -//#include "boot.h" -//#include "BiosVideo.h" #include "../include/Bmp.h" #include "efiConsoleControl.h" -//#include "SmBios.h" #include "EfiLib/GenericBdsLib.h" -//#include "device_inject.h" -//#include "UsbMass.h" #include "../refind/global.h" -/* Decimal powers: */ -// #define kilo (1000ULL) -// #define Mega (kilo * kilo) -// #define Giga (kilo * Mega) -// #define Tera (kilo * Giga) -// #define Peta (kilo * Tera) - -// #define IS_COMMA(a) ((a) == L',') -// #define IS_HYPHEN(a) ((a) == L'-') -// #define IS_DOT(a) ((a) == L'.') -// #define IS_LEFT_PARENTH(a) ((a) == L'(') -// #define IS_RIGHT_PARENTH(a) ((a) == L')') -// #define IS_SLASH(a) ((a) == L'/') -// #define IS_NULL(a) ((a) == L'\0') -// #define IS_DIGIT(a) (((a) >= '0') && ((a) <= '9')) -// #define IS_HEX(a) (((a) >= 'a') && ((a) <= 'f')) -// #define IS_UPPER(a) (((a) >= 'A') && ((a) <= 'Z')) -// #define IS_ALFA(x) (((x >= 'a') && (x <='z')) || ((x >= 'A') && (x <='Z'))) -// #define IS_ASCII(x) ((x>=0x20) && (x<=0x7F)) -// #define IS_PUNCT(x) ((x == '.') || (x == '-')) - - -// #define EBDA_BASE_ADDRESS 0x40E -// #define EFI_SYSTEM_TABLE_MAX_ADDRESS 0xFFFFFFFF -// #define ROUND_PAGE(x) ((((unsigned)(x)) + EFI_PAGE_SIZE - 1) & ~(EFI_PAGE_SIZE - 1)) - -// -// Max bytes needed to represent ID of a SCSI device -// -//#define EFI_SCSI_TARGET_MAX_BYTES (0x10) - -// -// bit5..7 are for Logical unit number -// 11100000b (0xe0) -// -//#define EFI_SCSI_LOGICAL_UNIT_NUMBER_MASK 0xe0 - -// -// Scsi Command Length -// -//#define EFI_SCSI_OP_LENGTH_SIX 0x6 -//#define EFI_SCSI_OP_LENGTH_TEN 0xa -//#define EFI_SCSI_OP_LENGTH_SIXTEEN 0x10 - -// #define SAFE_LOG_SIZE 80 -// -// #define MSG_LOG_SIZE (64 * 1024) -// #define MsgLog(x...) {AsciiSPrint(msgCursor, MSG_LOG_SIZE, x); while(*msgCursor){msgCursor++;}} -// -// #define CPU_MODEL_DOTHAN 0x0D -// #define CPU_MODEL_YONAH 0x0E -// #define CPU_MODEL_MEROM 0x0F /* same as CONROE but mobile */ -// #define CPU_MODEL_CONROE 0x0F -// #define CPU_MODEL_CELERON 0x16 /* ever see? */ -// #define CPU_MODEL_PENRYN 0x17 -// #define CPU_MODEL_WOLFDALE 0x17 -// #define CPU_MODEL_NEHALEM 0x1A -// #define CPU_MODEL_ATOM 0x1C -// #define CPU_MODEL_XEON_MP 0x1D /* ever see? */ -// #define CPU_MODEL_FIELDS 0x1E -// #define CPU_MODEL_DALES 0x1F -// #define CPU_MODEL_CLARKDALE 0x25 -// #define CPU_MODEL_LINCROFT 0x27 -// #define CPU_MODEL_SANDY_BRIDGE 0x2A -// #define CPU_MODEL_WESTMERE 0x2C -// #define CPU_MODEL_JAKETOWN 0x2D /* ever see? */ -// #define CPU_MODEL_NEHALEM_EX 0x2E -// #define CPU_MODEL_WESTMERE_EX 0x2F -// -// #define CPU_VENDOR_INTEL 0x756E6547 -// #define CPU_VENDOR_AMD 0x68747541 -// /* Unknown CPU */ -// #define CPU_STRING_UNKNOWN "Unknown CPU Type" - -//definitions from Apple XNU - -/* CPU defines */ -// #define bit(n) (1UL << (n)) -// #define _Bit(n) (1ULL << n) -// #define _HBit(n) (1ULL << ((n)+32)) -// -// #define bitmask(h,l) ((bit(h)|(bit(h)-1)) & ~(bit(l)-1)) -// #define bitfield(x,h,l) (((x) & bitmask(h,l)) >> l) -// #define quad(hi,lo) (((UINT64)(hi)) << 32 | (lo)) - -/* - * The CPUID_FEATURE_XXX values define 64-bit values - * returned in %ecx:%edx to a CPUID request with %eax of 1: - */ -// #define CPUID_FEATURE_FPU _Bit(0) /* Floating point unit on-chip */ -// #define CPUID_FEATURE_VME _Bit(1) /* Virtual Mode Extension */ -// #define CPUID_FEATURE_DE _Bit(2) /* Debugging Extension */ -// #define CPUID_FEATURE_PSE _Bit(3) /* Page Size Extension */ -// #define CPUID_FEATURE_TSC _Bit(4) /* Time Stamp Counter */ -// #define CPUID_FEATURE_MSR _Bit(5) /* Model Specific Registers */ -// #define CPUID_FEATURE_PAE _Bit(6) /* Physical Address Extension */ -// #define CPUID_FEATURE_MCE _Bit(7) /* Machine Check Exception */ -// #define CPUID_FEATURE_CX8 _Bit(8) /* CMPXCHG8B */ -// #define CPUID_FEATURE_APIC _Bit(9) /* On-chip APIC */ -// #define CPUID_FEATURE_SEP _Bit(11) /* Fast System Call */ -// #define CPUID_FEATURE_MTRR _Bit(12) /* Memory Type Range Register */ -// #define CPUID_FEATURE_PGE _Bit(13) /* Page Global Enable */ -// #define CPUID_FEATURE_MCA _Bit(14) /* Machine Check Architecture */ -// #define CPUID_FEATURE_CMOV _Bit(15) /* Conditional Move Instruction */ -// #define CPUID_FEATURE_PAT _Bit(16) /* Page Attribute Table */ -// #define CPUID_FEATURE_PSE36 _Bit(17) /* 36-bit Page Size Extension */ -// #define CPUID_FEATURE_PSN _Bit(18) /* Processor Serial Number */ -// #define CPUID_FEATURE_CLFSH _Bit(19) /* CLFLUSH Instruction supported */ -// #define CPUID_FEATURE_DS _Bit(21) /* Debug Store */ -// #define CPUID_FEATURE_ACPI _Bit(22) /* Thermal monitor and Clock Ctrl */ -// #define CPUID_FEATURE_MMX _Bit(23) /* MMX supported */ -// #define CPUID_FEATURE_FXSR _Bit(24) /* Fast floating pt save/restore */ -// #define CPUID_FEATURE_SSE _Bit(25) /* Streaming SIMD extensions */ -// #define CPUID_FEATURE_SSE2 _Bit(26) /* Streaming SIMD extensions 2 */ -// #define CPUID_FEATURE_SS _Bit(27) /* Self-Snoop */ -// #define CPUID_FEATURE_HTT _Bit(28) /* Hyper-Threading Technology */ -// #define CPUID_FEATURE_TM _Bit(29) /* Thermal Monitor (TM1) */ -// #define CPUID_FEATURE_PBE _Bit(31) /* Pend Break Enable */ -// -// #define CPUID_FEATURE_SSE3 _HBit(0) /* Streaming SIMD extensions 3 */ -// #define CPUID_FEATURE_PCLMULQDQ _HBit(1) /* PCLMULQDQ Instruction */ -// -// #define CPUID_FEATURE_MONITOR _HBit(3) /* Monitor/mwait */ -// #define CPUID_FEATURE_DSCPL _HBit(4) /* Debug Store CPL */ -// #define CPUID_FEATURE_VMX _HBit(5) /* VMX */ -// #define CPUID_FEATURE_SMX _HBit(6) /* SMX */ -// #define CPUID_FEATURE_EST _HBit(7) /* Enhanced SpeedsTep (GV3) */ -// #define CPUID_FEATURE_TM2 _HBit(8) /* Thermal Monitor 2 */ -// #define CPUID_FEATURE_SSSE3 _HBit(9) /* Supplemental SSE3 instructions */ -// #define CPUID_FEATURE_CID _HBit(10) /* L1 Context ID */ -// -// #define CPUID_FEATURE_CX16 _HBit(13) /* CmpXchg16b instruction */ -// #define CPUID_FEATURE_xTPR _HBit(14) /* Send Task PRiority msgs */ -// #define CPUID_FEATURE_PDCM _HBit(15) /* Perf/Debug Capability MSR */ -// -// #define CPUID_FEATURE_DCA _HBit(18) /* Direct Cache Access */ -// #define CPUID_FEATURE_SSE4_1 _HBit(19) /* Streaming SIMD extensions 4.1 */ -// #define CPUID_FEATURE_SSE4_2 _HBit(20) /* Streaming SIMD extensions 4.2 */ -// #define CPUID_FEATURE_xAPIC _HBit(21) /* Extended APIC Mode */ -// #define CPUID_FEATURE_POPCNT _HBit(23) /* POPCNT instruction */ -// #define CPUID_FEATURE_AES _HBit(25) /* AES instructions */ -// #define CPUID_FEATURE_VMM _HBit(31) /* VMM (Hypervisor) present */ - -// /* -// * The CPUID_EXTFEATURE_XXX values define 64-bit values -// * returned in %ecx:%edx to a CPUID request with %eax of 0x80000001: -// */ -// #define CPUID_EXTFEATURE_SYSCALL _Bit(11) /* SYSCALL/sysret */ -// #define CPUID_EXTFEATURE_XD _Bit(20) /* eXecute Disable */ -// #define CPUID_EXTFEATURE_1GBPAGE _Bit(26) /* 1G-Byte Page support */ -// #define CPUID_EXTFEATURE_RDTSCP _Bit(27) /* RDTSCP */ -// #define CPUID_EXTFEATURE_EM64T _Bit(29) /* Extended Mem 64 Technology */ -// -// //#define CPUID_EXTFEATURE_LAHF _HBit(20) /* LAFH/SAHF instructions */ -// // New definition with Snow kernel -// #define CPUID_EXTFEATURE_LAHF _HBit(0) /* LAHF/SAHF instructions */ -// /* -// * The CPUID_EXTFEATURE_XXX values define 64-bit values -// * returned in %ecx:%edx to a CPUID request with %eax of 0x80000007: -// */ -// #define CPUID_EXTFEATURE_TSCI _Bit(8) /* TSC Invariant */ -// -// #define CPUID_CACHE_SIZE 16 /* Number of descriptor values */ -// -// #define CPUID_MWAIT_EXTENSION _Bit(0) /* enumeration of WMAIT extensions */ -// #define CPUID_MWAIT_BREAK _Bit(1) /* interrupts are break events */ - -// /* Known MSR registers */ -// #define MSR_IA32_PLATFORM_ID 0x0017 -// #define MSR_CORE_THREAD_COUNT 0x0035 /* limited use - not for Penryn or older */ -// #define MSR_IA32_BIOS_SIGN_ID 0x008B /* microcode version */ -// #define MSR_FSB_FREQ 0x00CD /* limited use - not for i7 */ -// #define MSR_PLATFORM_INFO 0x00CE /* limited use - MinRatio for i7 but Max for Yonah */ -// /* turbo for penryn */ -// #define MSR_IA32_EXT_CONFIG 0x00EE /* limited use - not for i7 */ -// #define MSR_FLEX_RATIO 0x0194 /* limited use - not for Penryn or older */ -// //see no value on most CPUs -// #define MSR_IA32_PERF_STATUS 0x0198 -// #define MSR_IA32_PERF_CONTROL 0x0199 -// #define MSR_IA32_CLOCK_MODULATION 0x019A -// #define MSR_THERMAL_STATUS 0x019C -// #define MSR_IA32_MISC_ENABLE 0x01A0 -// #define MSR_THERMAL_TARGET 0x01A2 /* limited use - not for Penryn or older */ -// #define MSR_TURBO_RATIO_LIMIT 0x01AD /* limited use - not for Penryn or older */ -// -// -// //Copied from revogirl -// #define IA32_ENERGY_PERF_BIAS 0x01B0 -// //MSR 000001B0 0000-0000-0000-0005 -// //MSR 000001B1 0000-0000-8838-0000 -// #define IA32_PLATFORM_DCA_CAP 0x01F8 -// //MSR 000001FC 0000-0000-0004-005F -// -// -// // Sandy Bridge & JakeTown specific 'Running Average Power Limit' MSR's. -// #define MSR_RAPL_POWER_UNIT 0x606 -// //MSR 00000606 0000-0000-000A-1003 -// //MSR 0000060B 0000-0000-0000-8854 -// //MSR 0000060C 0000-0000-0000-8854 - -// #define MSR_PKG_RAPL_POWER_LIMIT 0x610 -// //MSR 00000610 0000-A580-0000-8960 -// #define MSR_PKG_ENERGY_STATUS 0x611 -// //MSR 00000611 0000-0000-3212-A857 -// #define MSR_PKG_PERF_STATUS 0x613 -// #define MSR_PKG_POWER_INFO 0x614 -// //MSR 00000614 0000-0000-01E0-02F8 -// // Sandy Bridge IA (Core) domain MSR's. -// #define MSR_PP0_POWER_LIMIT 0x638 -// #define MSR_PP0_ENERGY_STATUS 0x639 -// #define MSR_PP0_POLICY 0x63A -// #define MSR_PP0_PERF_STATUS 0x63B -// -// // Sandy Bridge Uncore (IGPU) domain MSR's (Not on JakeTown). -// #define MSR_PP1_POWER_LIMIT 0x640 -// #define MSR_PP1_ENERGY_STATUS 0x641 -// //MSR 00000641 0000-0000-0000-0000 -// #define MSR_PP1_POLICY 0x642 -// -// // JakeTown only Memory MSR's. -// #define MSR_DRAM_POWER_LIMIT 0x618 -// #define MSR_DRAM_ENERGY_STATUS 0x619 -// #define MSR_DRAM_PERF_STATUS 0x61B -// #define MSR_DRAM_POWER_INFO 0x61C -// -// -// //AMD -// #define K8_FIDVID_STATUS 0xC0010042 -// #define K10_COFVID_STATUS 0xC0010071 -// #define DEFAULT_FSB 100000 /* for now, hardcoding 100MHz for old CPUs */ - - -// /* CPUID Index */ -// #define CPUID_0 0 -// #define CPUID_1 1 -// #define CPUID_2 2 -// #define CPUID_3 3 -// #define CPUID_4 4 -// #define CPUID_80 5 -// #define CPUID_81 6 -// #define CPUID_87 7 -// #define CPUID_MAX 8 -// -// #define EAX 0 -// #define EBX 1 -// #define ECX 2 -// #define EDX 3 -// -// /* CPU Cache */ -// #define MAX_CACHE_COUNT 4 -// #define CPU_CACHE_LEVEL 3 -// -// /* PCI */ -// #define PCI_BASE_ADDRESS_0 0x10 /* 32 bits */ -// #define PCI_BASE_ADDRESS_1 0x14 /* 32 bits [htype 0,1 only] */ -// #define PCI_BASE_ADDRESS_2 0x18 /* 32 bits [htype 0 only] */ -// #define PCI_BASE_ADDRESS_3 0x1c /* 32 bits */ -// #define PCI_BASE_ADDRESS_4 0x20 /* 32 bits */ -// #define PCI_BASE_ADDRESS_5 0x24 /* 32 bits */ -// -// #define PCI_CLASS_MEDIA_HDA 0x03 -// -// #define GEN_PMCON_1 0xA0 -// -// #define PCIADDR(bus, dev, func) ((1 << 31) | (bus << 16) | (dev << 11) | (func << 8)) -// #define REG8(base, reg) ((volatile UINT8 *)(UINTN)base)[(reg)] -// #define REG16(base, reg) ((volatile UINT16 *)(UINTN)base)[(reg) >> 1] -// #define REG32(base, reg) ((volatile UINT32 *)(UINTN)base)[(reg) >> 2] -// #define WRITEREG32(base, reg, value) REG32(base, reg) = value - #define EFI_HANDLE_TYPE_UNKNOWN 0x000 #define EFI_HANDLE_TYPE_IMAGE_HANDLE 0x001 #define EFI_HANDLE_TYPE_DRIVER_BINDING_HANDLE 0x002 @@ -340,453 +73,6 @@ Headers collection for procedures #define EFI_HANDLE_TYPE_CONTROLLER_HANDLE 0x200 #define EFI_HANDLE_TYPE_CHILD_HANDLE 0x400 -// #define AML_CHUNK_NONE 0xff -// #define AML_CHUNK_ZERO 0x00 -// #define AML_CHUNK_ONE 0x01 -// #define AML_CHUNK_ALIAS 0x06 -// #define AML_CHUNK_NAME 0x08 -// #define AML_CHUNK_BYTE 0x0A -// #define AML_CHUNK_WORD 0x0B -// #define AML_CHUNK_DWORD 0x0C -// #define AML_CHUNK_STRING 0x0D -// #define AML_CHUNK_QWORD 0x0E -// #define AML_CHUNK_SCOPE 0x10 -// #define AML_CHUNK_PACKAGE 0x12 -// #define AML_CHUNK_METHOD 0x14 -// #define AML_CHUNK_RETURN 0xA4 -// #define AML_LOCAL0 0x60 -// #define AML_STORE_OP 0x70 - -// struct aml_chunk -// { -// UINT8 Type; -// UINT16 Length; -// CHAR8* Buffer; -// -// UINT16 Size; -// -// struct aml_chunk* Next; -// struct aml_chunk* First; -// struct aml_chunk* Last; -// }; -// -// typedef struct aml_chunk AML_CHUNK; -// -// struct p_state -// { -// union -// { -// UINT16 Control; -// struct -// { -// UINT8 VID; // Voltage ID -// UINT8 FID; // Frequency ID -// }; -// }; -// -// UINT32 CID; // Compare ID -// UINT32 Frequency; -// }; -// -// typedef struct p_state P_STATE; - -// typedef enum { -// kTagTypeNone, -// kTagTypeDict, -// kTagTypeKey, -// kTagTypeString, -// kTagTypeInteger, -// kTagTypeData, -// kTagTypeDate, -// kTagTypeFalse, -// kTagTypeTrue, -// kTagTypeArray -// } TAG_TYPE; - -#pragma pack(1) - -// struct Symbol { -// UINT32 refCount; -// struct Symbol *next; -// CHAR8 string[1]; -// }; -// -// typedef struct Symbol Symbol, *SymbolPtr; - -// typedef struct { -// -// UINT32 type; -// CHAR8 *string; -// UINT32 offset; -// VOID *tag; -// VOID *tagNext; -// -// }Tag, *TagPtr; -// -// typedef struct { -// -// EFI_ACPI_DESCRIPTION_HEADER Header; -// UINT32 Entry; -// -// } RSDT_TABLE; -// -// typedef struct { -// -// EFI_ACPI_DESCRIPTION_HEADER Header; -// UINT64 Entry; -// -// } XSDT_TABLE; - -// typedef struct { -// -// // SMBIOS TYPE0 -// CHAR8 VendorName[64]; -// CHAR8 RomVersion[64]; -// CHAR8 ReleaseDate[64]; -// // SMBIOS TYPE1 -// CHAR8 ManufactureName[64]; -// CHAR8 ProductName[64]; -// CHAR8 VersionNr[64]; -// CHAR8 SerialNr[64]; -// // CHAR8 Uuid[64]; -// // CHAR8 SKUNumber[64]; -// CHAR8 FamilyName[64]; -// CHAR8 OEMProduct[64]; -// // SMBIOS TYPE2 -// CHAR8 BoardManufactureName[64]; -// CHAR8 BoardSerialNumber[64]; -// CHAR8 BoardNumber[64]; //Board-ID -// CHAR8 LocationInChassis[64]; -// CHAR8 BoardVersion[64]; -// CHAR8 OEMBoard[64]; -// // SMBIOS TYPE3 -// BOOLEAN Mobile; -// CHAR8 ChassisManufacturer[64]; -// CHAR8 ChassisAssetTag[64]; -// // SMBIOS TYPE4 -// UINT16 CpuFreqMHz; -// UINT32 BusSpeed; //in kHz -// BOOLEAN Turbo; -// -// // SMBIOS TYPE17 -// CHAR8 MemoryManufacturer[64]; -// CHAR8 MemorySerialNumber[64]; -// CHAR8 MemoryPartNumber[64]; -// CHAR8 MemorySpeed[64]; -// // SMBIOS TYPE131 -// UINT16 CpuType; -// // SMBIOS TYPE132 -// UINT16 QPI; -// -// // OS parameters -// CHAR8 Language[16]; -// CHAR8 BootArgs[256]; -// CHAR16 CustomUuid[40]; -// CHAR16 DefaultBoot[40]; -// -// // GUI parameters -// BOOLEAN Debug; -// -// //ACPI -// UINT64 ResetAddr; -// UINT8 ResetVal; -// BOOLEAN UseDSDTmini; -// BOOLEAN DropSSDT; -// BOOLEAN GeneratePStates; -// BOOLEAN GenerateCStates; -// UINT8 PLimitDict; -// UINT8 UnderVoltStep; -// BOOLEAN LpcTune; -// BOOLEAN EnableC2; -// BOOLEAN EnableC4; -// BOOLEAN EnableC6; -// BOOLEAN EnableISS; -// BOOLEAN smartUPS; -// BOOLEAN PatchNMI; -// CHAR16 DsdtName[60]; -// -// //Injections -// BOOLEAN StringInjector; -// BOOLEAN InjectSystemID; -// //Graphics -// UINT16 PCIRootUID; -// BOOLEAN GraphicsInjector; -// BOOLEAN LoadVBios; -// BOOLEAN PatchVBios; -// CHAR16 FBName[16]; -// UINT16 VideoPorts; -// UINT64 VRAM; -// UINT8 Dcfg[8]; -// UINT8 NVCAP[20]; -// -// // HDA -// BOOLEAN HDAInjection; -// UINTN HDALayoutId; -// -// } SETTINGS_DATA; - -// typedef struct { -// //values from CPUID -// UINT32 CPUID[CPUID_MAX][4]; -// UINT32 Vendor; -// UINT32 Signature; -// UINT32 Family; -// UINT32 Model; -// UINT32 Stepping; -// UINT32 Type; -// UINT32 Extmodel; -// UINT32 Extfamily; -// UINT64 Features; -// UINT64 ExtFeatures; -// UINT32 CoresPerPackage; -// UINT32 LogicalPerPackage; -// CHAR8 BrandString[48]; -// -// //values from BIOS -// UINT32 ExternalClock; //keep this values as kHz -// UINT32 MaxSpeed; //MHz -// UINT32 CurrentSpeed; //MHz -// UINT32 Pad; -// -// //calculated from MSR -// UINT64 MicroCode; -// UINT64 ProcessorFlag; -// UINT32 MaxRatio; -// UINT32 SubDivider; -// UINT32 MinRatio; -// UINT32 DynFSB; -// UINT64 ProcessorInterconnectSpeed; -// UINT64 FSBFrequency; //Hz -// UINT64 CPUFrequency; -// UINT64 TSCFrequency; -// UINT8 Cores; -// UINT8 EnabledCores; -// UINT8 Threads; -// UINT8 Mobile; //not for i3-i7 -// -// /* Core i7,5,3 */ -// UINT16 Turbo1; //1 Core -// UINT16 Turbo2; //2 Core -// UINT16 Turbo3; //3 Core -// UINT16 Turbo4; //4 Core -// -// } CPU_STRUCTURE; - -// typedef enum { -// -// MacBook11, -// MacBook21, -// MacBook41, -// MacBook52, -// MacBookPro51, -// MacBookPro81, -// MacBookPro83, -// MacBookAir31, -// MacMini21, -// iMac81, -// iMac101, -// iMac112, -// iMac121, -// iMac122, -// MacPro31, -// MacPro41, -// MacPro51 -// -// } MACHINE_TYPES; - -// typedef struct { -// UINT8 Type; -// UINT8 BankConnections; -// UINT8 BankConnectionCount; -// UINT32 ModuleSize; -// UINT32 Frequency; -// CHAR8* Vendor; -// CHAR8* PartNo; -// CHAR8* SerialNo; -// UINT8 *spd; -// BOOLEAN InUse; -// } RAM_SLOT_INFO; -// -// #define MAX_SLOT_COUNT 8 -// #define MAX_RAM_SLOTS 16 -// -// typedef struct { -// -// UINT64 Frequency; -// UINT32 Divider; -// UINT8 TRC; -// UINT8 TRP; -// UINT8 RAS; -// UINT8 Channels; -// UINT8 Slots; -// UINT8 Type; -// -// RAM_SLOT_INFO DIMM[MAX_RAM_SLOTS]; -// -// } MEM_STRUCTURE; -//unused -// typedef struct { -// UINT8 MaxMemorySlots; // number of memory slots polulated by SMBIOS -// UINT8 CntMemorySlots; // number of memory slots counted -// UINT16 MemoryModules; // number of memory modules installed -// UINT32 DIMM[MAX_RAM_SLOTS]; // Information and SPD mapping for each slot -// } DMI; - -// typedef enum { -// english, //en -// russian, //ru -// chinese //cn -// //something else? add, please -// } LANGUAGES; -// -// typedef enum { -// Unknown, -// Ati, -// Intel, -// Nvidia -// -// } GFX_MANUFACTERER; - -// typedef struct { -// GFX_MANUFACTERER Vendor; -// UINT8 Ports; -// UINT16 DeviceID; -// UINT16 Width; -// UINT16 Height; -// CHAR8 Model[64]; -// CHAR8 Config[64]; -// BOOLEAN LoadVBios; -// } GFX_PROPERTIES; -#pragma pack(0) -//extern CHAR8 *msgbuf; -//extern CHAR8 *msgCursor; -//extern SMBIOS_STRUCTURE_POINTER SmbiosTable; -//extern GFX_PROPERTIES gGraphics[]; -//extern UINTN NGFX; -//extern BOOLEAN gMobile; -//extern UINT32 gCpuSpeed; //kHz -//extern UINT16 gCPUtype; -//extern UINT64 TurboMsr; -//extern CHAR8* BiosVendor; -/*extern UINT32 mPropSize; -extern UINT8* mProperties; -extern CHAR8 gSelectedUUID[]; -extern CHAR8* AppleSystemVersion[]; -extern CHAR8* AppleFirmwareVersion[]; -extern CHAR8* AppleReleaseDate[]; -extern CHAR8* AppleManufacturer; -extern CHAR8* AppleProductName[]; -extern CHAR8* AppleSystemVersion[]; -extern CHAR8* AppleSerialNumber[]; -extern CHAR8* AppleFamilies[]; -extern CHAR8* AppleBoardID[]; -extern CHAR8* AppleChassisAsset[]; -extern CHAR8* AppleBoardSN; -extern CHAR8* AppleBoardLocation; */ -// extern EFI_SYSTEM_TABLE* gST; -// extern EFI_BOOT_SERVICES* gBS; -// extern SETTINGS_DATA gSettings; -// extern LANGUAGES gLanguage; -// //extern BOOLEAN gFirmwareClover; -// extern CPU_STRUCTURE gCPUStructure; -//extern EFI_GUID gUuid; -//extern EFI_EDID_DISCOVERED_PROTOCOL* EdidDiscovered; -//extern UINT8 *gEDID; -//extern CHAR8* gDeviceProperties; -//extern CHAR8* cDeviceProperties; -//extern INPUT_ITEM *InputItems; -/* -extern EFI_GUID gEfiAppleBootGuid; -extern EFI_GUID gEfiAppleNvramGuid; -extern EFI_GUID AppleSystemInfoProducerName; -extern EFI_GUID AppleDevicePropertyProtocolGuid; -extern EFI_GUID gEfiAppleScreenInfoGuid; -extern EFI_GUID gEfiAppleVendorGuid; -extern EFI_GUID gEfiPartTypeSystemPartGuid; -extern EFI_GUID gMsgLogProtocolGuid; -extern EFI_GUID gEfiLegacy8259ProtocolGuid; - -extern EFI_EVENT mVirtualAddressChangeEvent; -extern EFI_EVENT OnReadyToBootEvent; -extern EFI_EVENT ExitBootServiceEvent; -extern EFI_EVENT mSimpleFileSystemChangeEvent; -extern UINTN gEvent; - -VOID WaitForSts(VOID); - -VOID InitBooterLog(VOID); -EFI_STATUS SetupBooterLog(VOID); -VOID GetDefaultSettings(VOID); -VOID FillInputs(VOID); -VOID ApplyInputs(VOID); -*/ -// EFI_STATUS StrToGuid (IN CHAR16 *Str, OUT EFI_GUID *Guid); -// EFI_STATUS StrToGuidLE (IN CHAR16 *Str, OUT EFI_GUID *Guid); -// BOOLEAN hex2bin(IN CHAR8 *hex, OUT UINT8 *bin, INT32 len); -// UINT8 hexstrtouint8 (CHAR8* buf); //one or two hex letters to one byte - EFI_STATUS EFIAPI InitializeConsoleSim (VOID); -//EFI_STATUS GuiEventsInitialize (VOID); -//Settings.c -// UINT32 GetCrc32(UINT8 *Buffer, UINTN Size); -// VOID GetCPUProperties (VOID); -// VOID GetDevices(VOID); -// MACHINE_TYPES GetDefaultModel(VOID); -// UINT16 GetAdvancedCpuType(VOID); -// //EFI_STATUS GetOSVersion(IN REFIT_VOLUME *Volume); -// EFI_STATUS GetUserSettings(IN EFI_FILE *RootDir); -// EFI_STATUS GetNVRAMSettings(IN EFI_FILE *RootDir, CHAR16* NVRAMPlistPath); -// EFI_STATUS GetEdid(VOID); -// //EFI_STATUS SetFSInjection(IN LOADER_ENTRY *Entry); - -// EFI_STATUS -// LogDataHub( -// EFI_GUID *TypeGuid, -// CHAR16 *Name, -// VOID *Data, -// UINT32 DataSize); -// -// EFI_STATUS SetVariablesForOSX(); -// VOID SetupDataForOSX(); -// EFI_STATUS SetPrivateVarProto(VOID); -// VOID SetDevices(VOID); -// VOID ScanSPD(); -//BOOLEAN setup_ati_devprop(pci_dt_t *ati_dev); -//BOOLEAN setup_gma_devprop(pci_dt_t *gma_dev); -//CHAR8* get_gma_model(IN UINT16 DeviceID); -//BOOLEAN setup_nvidia_devprop(pci_dt_t *nvda_dev); -//CHAR8* get_nvidia_model(IN UINT16 DeviceID); - - -//EG_IMAGE * egDecodePNG(IN UINT8 *FileData, IN UINTN FileDataLength, IN UINTN IconSize, IN BOOLEAN WantAlpha); - -//EFI_STATUS PatchACPI(IN REFIT_VOLUME *Volume); -//EFI_STATUS PatchACPI_OtherOS(CHAR16* OsSubdir, BOOLEAN DropSSDT); -//UINT8 Checksum8(VOID * startPtr, UINT32 len); -//BOOLEAN tableSign(CHAR8 *table, CONST CHAR8 *sgn); -//VOID SaveOemDsdt(VOID); - -//EFI_STATUS EventsInitialize(VOID); -//EFI_STATUS EjectVolume(IN REFIT_VOLUME *Volume); - -//EFI_STATUS bootElTorito(IN REFIT_VOLUME* volume); -//EFI_STATUS bootMBR(IN REFIT_VOLUME* volume); -//EFI_STATUS bootPBR(IN REFIT_VOLUME* volume); - -//CHAR8* XMLDecode(const CHAR8* src); -//EFI_STATUS ParseXML(const CHAR8* buffer, TagPtr * dict); -//TagPtr GetProperty( TagPtr dict, const CHAR8* key ); -//EFI_STATUS XMLParseNextTag(CHAR8* buffer, TagPtr * tag, UINT32* lenPtr); -//VOID FreeTag( TagPtr tag ); -//EFI_STATUS GetNextTag( UINT8* buffer, CHAR8** tag, UINT32* start,UINT32* length); - -//EFI_STATUS SaveSettings(VOID); - -// UINTN iStrLen(CHAR8* String, UINTN MaxLen); -// EFI_STATUS PrepatchSmbios(VOID); -// VOID PatchSmbios(VOID); -// VOID FinalizeSmbios(VOID); -// -// EFI_STATUS DisableUsbLegacySupport(VOID); #endif