merge master and c++_globals

Signed-off-by: Sergey Isakov <isakov-sl@bk.ru>
This commit is contained in:
Sergey Isakov 2020-02-15 17:29:59 +03:00
parent 28ad1105d3
commit d2ac4d7de9
22 changed files with 181 additions and 105 deletions

1
.gitignore vendored
View File

@ -108,6 +108,7 @@ build/
!default.mode2v3 !default.mode2v3
!default.perspectivev3 !default.perspectivev3
xcuserdata/ xcuserdata/
xcshareddata/
# Translation files # Translation files
CloverUpdater.strings CloverUpdater.strings

View File

@ -51,6 +51,12 @@ SECTIONS {
KEEP (*(.eh_frame)) KEEP (*(.eh_frame))
} }
.ctorss ALIGN(CONSTANT(COMMONPAGESIZE)) : {
__beginning_of_section_ctors = .; /* create symbol for start of section */
KEEP (*(.ctors))
__end_of_section_ctors = .; /* create symbol for end of section */
}
.rela (INFO) : { .rela (INFO) : {
*(.rela .rela.*) *(.rela .rela.*)
} }

View File

@ -50,11 +50,11 @@
"false" = "ложь"; "false" = "ложь";
"Theme:" = "Тема:"; "Theme:" = "Тема:";
"Themes" = "Themes"; // window title "Themes" = "Темы"; // window title
"No themes found" = "No themes found"; "No themes found" = "Темы не найдены";
"Manager" = "Manager"; // Theme manager "Manager" = "Менеджер"; // Theme manager
"Can't remove the theme" = "Can't remove the theme"; "Can't remove the theme" = "Не возможно удалить тему";
"Show installed" = "Show installed"; "Show installed" = "Показать установленные";
"Sound:" = "Звук:"; "Sound:" = "Звук:";
"*Make filesystem read-write" = "*Открыть файловую систему на запись"; "*Make filesystem read-write" = "*Открыть файловую систему на запись";
"*Disable Sleep Proxy Client" = "*Отключение Sleep Proxy Client"; "*Disable Sleep Proxy Client" = "*Отключение Sleep Proxy Client";

View File

@ -1421,7 +1421,7 @@ BiosVideoCheckForVbe (
} }
if (ModeNumber > 1) { if (ModeNumber > 1) {
gBS->CopyMem ( CopyMem (
ModeBuffer, ModeBuffer,
BiosVideoPrivate->ModeData, BiosVideoPrivate->ModeData,
(ModeNumber - 1) * sizeof (BIOS_VIDEO_MODE_DATA) (ModeNumber - 1) * sizeof (BIOS_VIDEO_MODE_DATA)
@ -2121,7 +2121,7 @@ BiosVideoGraphicsOutputVbeBlt (
VbeBuffer = ((UINT8 *) VbeFrameBuffer + DstY * BytesPerScanLine + DestinationX * VbePixelWidth); VbeBuffer = ((UINT8 *) VbeFrameBuffer + DstY * BytesPerScanLine + DestinationX * VbePixelWidth);
VbeBuffer1 = ((UINT8 *) VbeFrameBuffer + SrcY * BytesPerScanLine + SourceX * VbePixelWidth); VbeBuffer1 = ((UINT8 *) VbeFrameBuffer + SrcY * BytesPerScanLine + SourceX * VbePixelWidth);
gBS->CopyMem ( CopyMem (
VbeBuffer, VbeBuffer,
VbeBuffer1, VbeBuffer1,
TotalBytes TotalBytes
@ -2157,7 +2157,7 @@ BiosVideoGraphicsOutputVbeBlt (
((Blt->Blue & Mode->Blue.Mask) << Mode->Blue.Position); ((Blt->Blue & Mode->Blue.Mask) << Mode->Blue.Position);
for (Index = 0; Index < Width; Index++) { for (Index = 0; Index < Width; Index++) {
gBS->CopyMem ( CopyMem (
VbeBuffer, VbeBuffer,
&Pixel, &Pixel,
VbePixelWidth VbePixelWidth
@ -2167,7 +2167,7 @@ BiosVideoGraphicsOutputVbeBlt (
VbeBuffer = (UINT8 *) ((UINTN) VbeFrameBuffer + (DestinationY * BytesPerScanLine) + DestinationX * VbePixelWidth); VbeBuffer = (UINT8 *) ((UINTN) VbeFrameBuffer + (DestinationY * BytesPerScanLine) + DestinationX * VbePixelWidth);
for (DstY = DestinationY + 1; DstY < (Height + DestinationY); DstY++) { for (DstY = DestinationY + 1; DstY < (Height + DestinationY); DstY++) {
gBS->CopyMem ( CopyMem (
(VOID *) ((UINTN) VbeFrameBuffer + (DstY * BytesPerScanLine) + DestinationX * VbePixelWidth), (VOID *) ((UINTN) VbeFrameBuffer + (DstY * BytesPerScanLine) + DestinationX * VbePixelWidth),
VbeBuffer, VbeBuffer,
TotalBytes TotalBytes
@ -2201,7 +2201,7 @@ BiosVideoGraphicsOutputVbeBlt (
Pixel = ((Blt->Red & Mode->Red.Mask) << Mode->Red.Position) | Pixel = ((Blt->Red & Mode->Red.Mask) << Mode->Red.Position) |
((Blt->Green & Mode->Green.Mask) << Mode->Green.Position) | ((Blt->Green & Mode->Green.Mask) << Mode->Green.Position) |
((Blt->Blue & Mode->Blue.Mask) << Mode->Blue.Position); ((Blt->Blue & Mode->Blue.Mask) << Mode->Blue.Position);
gBS->CopyMem ( CopyMem (
VbeBuffer, VbeBuffer,
&Pixel, &Pixel,
VbePixelWidth VbePixelWidth

View File

@ -107,7 +107,7 @@ InitializeInterruptRedirection (
// //
// Copy code to legacy region // Copy code to legacy region
// //
gBS->CopyMem ((VOID *)(UINTN)LegacyRegionBase, (VOID *)&InterruptRedirectionCode[0], sizeof (InterruptRedirectionCode)); CopyMem ((VOID *)(UINTN)LegacyRegionBase, (VOID *)&InterruptRedirectionCode[0], sizeof (InterruptRedirectionCode));
// //
// Get VectorBase, it should be 0x68 // Get VectorBase, it should be 0x68

View File

@ -106,15 +106,36 @@
# build_rule_version=0.1 # build_rule_version=0.1
# #
[Cxx-Code-File]
<InputFile>
?.cpp
?.Cpp
?.CPP
<ExtraDependency>
$(MAKE_FILE)
<OutputFile>
$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj
<Command.MSFT, Command.INTEL>
"$(CC)" /Fo${dst} $(CC_FLAGS) $(INC) ${src}
<Command.GCC, Command.RVCT>
# For RVCTCYGWIN CC_FLAGS must be first to work around pathing issues
@"$(CC)" $(CXX_FLAGS) -c -o ${dst} $(INC) ${src}
@"echo" [CC] ${s_base}
<Command.XCODE>
@"$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src}
@"echo" [CC] ${s_base}
[C-Code-File] [C-Code-File]
<InputFile> <InputFile>
?.c ?.c
?.C ?.C
?.cc ?.cc
?.CC ?.CC
?.cpp
?.Cpp
?.CPP
<ExtraDependency> <ExtraDependency>
$(MAKE_FILE) $(MAKE_FILE)

View File

@ -2408,6 +2408,7 @@ RELEASE_GCC48_AARCH64_CC_FLAGS = DEF(GCC48_AARCH64_CC_FLAGS) -Wno-unused-but-s
*_GCC53_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_ASLDLINK_FLAGS),-m,elf_x86_64 *_GCC53_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_ASLDLINK_FLAGS),-m,elf_x86_64
*_GCC53_X64_ASM_FLAGS = DEF(GCC53_ASM_FLAGS) -m64 *_GCC53_X64_ASM_FLAGS = DEF(GCC53_ASM_FLAGS) -m64
*_GCC53_X64_CC_FLAGS = DEF(GCC53_X64_CC_FLAGS) ENV(GCC53_X64_EXTRA_CC_FLAGS) *_GCC53_X64_CC_FLAGS = DEF(GCC53_X64_CC_FLAGS) ENV(GCC53_X64_EXTRA_CC_FLAGS)
*_GCC53_X64_CXX_FLAGS = DEF(GCC53_X64_CC_FLAGS) ENV(GCC53_X64_EXTRA_CC_FLAGS)
*_GCC53_X64_DLINK_FLAGS = DEF(GCC53_X64_DLINK_FLAGS) DEF(GCC53_X64_CC_FLAGS) ENV(GCC53_X64_EXTRA_CC_FLAGS) *_GCC53_X64_DLINK_FLAGS = DEF(GCC53_X64_DLINK_FLAGS) DEF(GCC53_X64_CC_FLAGS) ENV(GCC53_X64_EXTRA_CC_FLAGS)
*_GCC53_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) *_GCC53_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
*_GCC53_X64_OBJCOPY_FLAGS = *_GCC53_X64_OBJCOPY_FLAGS =

View File

@ -77,7 +77,7 @@ HdaControllerStreamPollTimerHandler(
// Have we reached the end of the source buffer? If so the stream will stop on the next block. // Have we reached the end of the source buffer? If so the stream will stop on the next block.
if (HdaStream->BufferSourcePosition >= HdaStream->BufferSourceLength) { if (HdaStream->BufferSourcePosition >= HdaStream->BufferSourceLength) {
// Zero out next block. // Zero out next block.
gBS->SetMem(HdaStream->BufferData + (HdaNextBlock * HDA_BDL_BLOCKSIZE), HDA_BDL_BLOCKSIZE, 0); SetMem(HdaStream->BufferData + (HdaNextBlock * HDA_BDL_BLOCKSIZE), HDA_BDL_BLOCKSIZE, 0);
// Set flag to stop stream on the next block. // Set flag to stop stream on the next block.
HdaStream->BufferSourceDone = TRUE; HdaStream->BufferSourceDone = TRUE;
@ -95,7 +95,7 @@ HdaControllerStreamPollTimerHandler(
if (HdaStream->Output) { if (HdaStream->Output) {
// Copy data to DMA buffer. // Copy data to DMA buffer.
if (HdaSourceLength < HDA_BDL_BLOCKSIZE) if (HdaSourceLength < HDA_BDL_BLOCKSIZE)
gBS->SetMem(HdaStream->BufferData + (HdaNextBlock * HDA_BDL_BLOCKSIZE), HDA_BDL_BLOCKSIZE, 0); SetMem(HdaStream->BufferData + (HdaNextBlock * HDA_BDL_BLOCKSIZE), HDA_BDL_BLOCKSIZE, 0);
CopyMem(HdaStream->BufferData + (HdaNextBlock * HDA_BDL_BLOCKSIZE), HdaStream->BufferSource + HdaStream->BufferSourcePosition, HdaSourceLength); CopyMem(HdaStream->BufferData + (HdaNextBlock * HDA_BDL_BLOCKSIZE), HdaStream->BufferSource + HdaStream->BufferSourcePosition, HdaSourceLength);
} else { // Input stream (copy data from). } else { // Input stream (copy data from).
// Copy data from DMA buffer. // Copy data from DMA buffer.
@ -294,7 +294,7 @@ HdaControllerScanCodecs(
// Create verb list with single item. // Create verb list with single item.
VendorVerb = HDA_CODEC_VERB(HDA_VERB_GET_PARAMETER, HDA_PARAMETER_VENDOR_ID); VendorVerb = HDA_CODEC_VERB(HDA_VERB_GET_PARAMETER, HDA_PARAMETER_VENDOR_ID);
gBS->SetMem(&HdaCodecVerbList, sizeof(EFI_HDA_IO_VERB_LIST), 0); SetMem(&HdaCodecVerbList, sizeof(EFI_HDA_IO_VERB_LIST), 0);
HdaCodecVerbList.Count = 1; HdaCodecVerbList.Count = 1;
HdaCodecVerbList.Verbs = &VendorVerb; HdaCodecVerbList.Verbs = &VendorVerb;
HdaCodecVerbList.Responses = &VendorResponse; HdaCodecVerbList.Responses = &VendorResponse;

View File

@ -400,7 +400,7 @@ HdaControllerHdaIoStartStream(
HdaStream->CallbackContext3 = Context3; HdaStream->CallbackContext3 = Context3;
// Zero out buffer. // Zero out buffer.
gBS->SetMem(HdaStream->BufferData, HDA_STREAM_BUF_SIZE, 0); SetMem(HdaStream->BufferData, HDA_STREAM_BUF_SIZE, 0);
// Fill rest of current block. // Fill rest of current block.
HdaStreamDmaRemainingLength = HDA_BDL_BLOCKSIZE - (HdaStreamDmaPos - (HdaStreamCurrentBlock * HDA_BDL_BLOCKSIZE)); HdaStreamDmaRemainingLength = HDA_BDL_BLOCKSIZE - (HdaStreamDmaPos - (HdaStreamCurrentBlock * HDA_BDL_BLOCKSIZE));

View File

@ -75,7 +75,7 @@ HdaControllerInitCorb(
Status = PciIo->AllocateBuffer(PciIo, AllocateAnyPages, EfiBootServicesData, EFI_SIZE_TO_PAGES(CorbLength), &CorbBuffer, 0); Status = PciIo->AllocateBuffer(PciIo, AllocateAnyPages, EfiBootServicesData, EFI_SIZE_TO_PAGES(CorbLength), &CorbBuffer, 0);
if (EFI_ERROR(Status)) if (EFI_ERROR(Status))
return Status; return Status;
gBS->SetMem(CorbBuffer, CorbLength, 0); SetMem(CorbBuffer, CorbLength, 0);
// Map outbound buffer. // Map outbound buffer.
CorbLengthActual = CorbLength; CorbLengthActual = CorbLength;
@ -464,7 +464,7 @@ HdaControllerInitStreams(
(VOID**)&HdaStream->BufferList, 0); (VOID**)&HdaStream->BufferList, 0);
if (EFI_ERROR(Status)) if (EFI_ERROR(Status))
goto FREE_BUFFER; goto FREE_BUFFER;
gBS->SetMem(HdaStream->BufferList, HDA_BDL_SIZE, 0); SetMem(HdaStream->BufferList, HDA_BDL_SIZE, 0);
// Map buffer descriptor list. // Map buffer descriptor list.
BdlLengthActual = HDA_BDL_SIZE; BdlLengthActual = HDA_BDL_SIZE;
@ -487,7 +487,7 @@ HdaControllerInitStreams(
(VOID**)&HdaStream->BufferData, 0); (VOID**)&HdaStream->BufferData, 0);
if (EFI_ERROR(Status)) if (EFI_ERROR(Status))
goto FREE_BUFFER; goto FREE_BUFFER;
gBS->SetMem(HdaStream->BufferData, HDA_STREAM_BUF_SIZE, 0); SetMem(HdaStream->BufferData, HDA_STREAM_BUF_SIZE, 0);
// Map buffer descriptor list. // Map buffer descriptor list.
DataLengthActual = HDA_STREAM_BUF_SIZE; DataLengthActual = HDA_STREAM_BUF_SIZE;
@ -517,7 +517,7 @@ HdaControllerInitStreams(
EFI_SIZE_TO_PAGES(HdaControllerDev->DmaPositionsSize), (VOID**)&HdaControllerDev->DmaPositions, 0); EFI_SIZE_TO_PAGES(HdaControllerDev->DmaPositionsSize), (VOID**)&HdaControllerDev->DmaPositions, 0);
if (EFI_ERROR(Status)) if (EFI_ERROR(Status))
goto FREE_BUFFER; goto FREE_BUFFER;
gBS->SetMem(HdaControllerDev->DmaPositions, HdaControllerDev->DmaPositionsSize, 0); SetMem(HdaControllerDev->DmaPositions, HdaControllerDev->DmaPositionsSize, 0);
// Map buffer descriptor list. // Map buffer descriptor list.
DmaPositionsLengthActual = HdaControllerDev->DmaPositionsSize; DmaPositionsLengthActual = HdaControllerDev->DmaPositionsSize;

View File

@ -197,7 +197,7 @@ int EFIAPI tfp_sprintf(char *str, const char *fmt, ...) __printflike(2, 3);
do { vprintf (f, v); do { } while (1); } while (0) do { vprintf (f, v); do { } while (1); } while (0)
// Avoid implementing memcpy as a function to avoid LTO conflicts. // Avoid implementing memcpy as a function to avoid LTO conflicts.
#define memcpy(Dst, Src, Size) do { gBS->CopyMem(Dst, Src, Size); } while (0) #define memcpy(Dst, Src, Size) do { CopyMem(Dst, Src, Size); } while (0)
// Forcing VOID for those as the return types actually differ. // Forcing VOID for those as the return types actually differ.
#define strlcpy(Dst, Src, Size) do { AsciiStrnCpyS (Dst, Size, Src, AsciiStrLen (Src)); } while (0) #define strlcpy(Dst, Src, Size) do { AsciiStrnCpyS (Dst, Size, Src, AsciiStrLen (Src)); } while (0)

View File

@ -370,7 +370,11 @@ struct _LIST_ENTRY {
/// ///
/// NULL pointer (VOID *) /// NULL pointer (VOID *)
/// ///
#ifdef __cplusplus
#define NULL nullptr
#else
#define NULL ((VOID *) 0) #define NULL ((VOID *) 0)
#endif
// //
// Null character // Null character

View File

@ -200,7 +200,11 @@
/// 2-byte Character. Unless otherwise specified all strings are stored in the /// 2-byte Character. Unless otherwise specified all strings are stored in the
/// UTF-16 encoding format as defined by Unicode 2.1 and ISO/IEC 10646 standards. /// UTF-16 encoding format as defined by Unicode 2.1 and ISO/IEC 10646 standards.
/// ///
#ifdef __cplusplus
#define CHAR16 wchar_t
#else
typedef unsigned short CHAR16; typedef unsigned short CHAR16;
#endif
/// ///
/// 2-byte signed value /// 2-byte signed value
/// ///

View File

@ -150,8 +150,6 @@ DecodeImageData (//IN APPLE_IMAGE_CODEC_PROTOCOL* This,
EFI_STATUS Status; EFI_STATUS Status;
EG_IMAGE *Image; EG_IMAGE *Image;
INTN Index; INTN Index;
// UINT32 ImageDataSize;
//automatic choose format //automatic choose format
if (!RawImageData || !RawImageDataSize) { if (!RawImageData || !RawImageDataSize) {
return EFI_INVALID_PARAMETER; return EFI_INVALID_PARAMETER;

View File

@ -8,8 +8,13 @@
*/ */
#include <Protocol/MsgLog.h> #include <Protocol/MsgLog.h>
#include <Library/PrintLib.h> #include <Library/BaseLib.h>
#include <Library/UefiLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiRuntimeServicesTableLib.h>
#include <Library/BaseMemoryLib.h> #include <Library/BaseMemoryLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/PrintLib.h>
MESSAGE_LOG_PROTOCOL MsgLogProtocol; MESSAGE_LOG_PROTOCOL MsgLogProtocol;
EFI_HANDLE mHandle = NULL; EFI_HANDLE mHandle = NULL;

View File

@ -18,9 +18,9 @@
#include <Library/UefiLib.h> #include <Library/UefiLib.h>
#include <Library/UefiBootServicesTableLib.h> #include <Library/UefiBootServicesTableLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/DebugLib.h> #include <Library/DebugLib.h>
#include <Library/DevicePathLib.h> #include <Library/DevicePathLib.h>
#include <Library/BaseMemoryLib.h>
#include <Protocol/LoadedImage.h> #include <Protocol/LoadedImage.h>
#include <Protocol/LoadFile.h> #include <Protocol/LoadFile.h>
#include <Protocol/SimpleFileSystem.h> #include <Protocol/SimpleFileSystem.h>
@ -310,6 +310,10 @@ OvrLoadImage(IN BOOLEAN BootPolicy,
gBS->FreePool(SourceBuffer); gBS->FreePool(SourceBuffer);
} }
if (FileInfo) {
gBS->FreePool(FileInfo);
}
// //
// dmazar: some boards do not put device handle to EfiLoadedImageProtocol->DeviceHandle // dmazar: some boards do not put device handle to EfiLoadedImageProtocol->DeviceHandle
// when image is loaded from SrcBuffer, and then boot.efi fails. // when image is loaded from SrcBuffer, and then boot.efi fails.

View File

@ -393,7 +393,7 @@ checkCmdlineArguments() {
done done
# Update variables # Update variables
PLATFORMFILE="${PLATFORMFILE:-Clover.dsc}" PLATFORMFILE="${PLATFORMFILE:-Clover_cpp.dsc}"
if [ ! -z "${MODULEFILE}" ]; then if [ ! -z "${MODULEFILE}" ]; then
MODULEFILE=" -m $MODULEFILE" MODULEFILE=" -m $MODULEFILE"
fi fi

View File

@ -10,6 +10,9 @@ Headers collection for procedures
// Comment to use source debug options // Comment to use source debug options
//#define DEBUG_ALL 2 //#define DEBUG_ALL 2
#ifdef __cplusplus
extern "C" {
#endif
#include <Uefi.h> #include <Uefi.h>
@ -2541,4 +2544,8 @@ YesNoMessage (
IN CHAR16 *Message); IN CHAR16 *Message);
#ifdef __cplusplus
}
#endif
#endif #endif

View File

@ -679,9 +679,6 @@ VOID SetDMISettingsForModel(MACHINE_TYPES Model, BOOLEAN Redefine)
case iMac143: case iMac143:
gFwFeatures = 0xE00FE137; gFwFeatures = 0xE00FE137;
break; break;
case MacPro61:
gFwFeatures = 0xE80FE176;
break;
case MacBookPro111: case MacBookPro111:
case MacBookPro112: case MacBookPro112:
case MacBookPro113: case MacBookPro113:
@ -718,24 +715,17 @@ VOID SetDMISettingsForModel(MACHINE_TYPES Model, BOOLEAN Redefine)
case iMac192: case iMac192:
gFwFeatures = 0xFD8FF576; gFwFeatures = 0xFD8FF576;
break; break;
case MacPro71:
gFwFeatures = 0xFDAFF066;
break;
// Verified list from Users // Verified list from Users
case MacBookPro61:
case MacBookPro62:
case MacBookPro71:
case MacBookPro81:
case MacBookPro82:
case MacBookPro83:
gFwFeatures = 0xC00DE137;
break;
case MacBookAir31: case MacBookAir31:
case MacBookAir32: case MacBookAir32:
case MacMini41: case MacMini41:
gFwFeatures = 0xD00DE137; gFwFeatures = 0xD00DE137;
break; break;
case MacBookAir71:
case MacBookAir72:
gFwFeatures = 0xE00FE137;
break;
case iMac101: case iMac101:
case iMac111: case iMac111:
case iMac112: case iMac112:
@ -745,13 +735,23 @@ VOID SetDMISettingsForModel(MACHINE_TYPES Model, BOOLEAN Redefine)
case MacMini71: case MacMini71:
gFwFeatures = 0xE00DE137; gFwFeatures = 0xE00DE137;
break; break;
case MacBookAir71:
case MacBookAir72:
gFwFeatures = 0xE00FE137;
break;
case MacPro51: case MacPro51:
gFwFeatures = 0xE80FE137; gFwFeatures = 0xE80FE137;
break; break;
case MacPro61:
gFwFeatures = 0xE80FE176;
break;
case MacPro71:
gFwFeatures = 0xFD8FF53F;
break;
case MacBookPro61:
case MacBookPro62:
case MacBookPro71:
case MacBookPro81:
case MacBookPro82:
case MacBookPro83:
gFwFeatures = 0xC00DE137;
break;
case MacBookPro121: case MacBookPro121:
case MacBookPro151: case MacBookPro151:
case MacBookPro152: case MacBookPro152:
@ -832,9 +832,6 @@ VOID SetDMISettingsForModel(MACHINE_TYPES Model, BOOLEAN Redefine)
case MacMini81: case MacMini81:
gFwFeaturesMask = 0xFFDFFF7F; gFwFeaturesMask = 0xFFDFFF7F;
break; break;
case MacPro71:
gFwFeaturesMask = 0xFFFFFF7F;
break;
// Verified list from Users // Verified list from Users
case MacBook61: case MacBook61:
@ -872,6 +869,10 @@ VOID SetDMISettingsForModel(MACHINE_TYPES Model, BOOLEAN Redefine)
gFwFeaturesMask = 0xFF1FFF3F; gFwFeaturesMask = 0xFF1FFF3F;
break; break;
case MacPro71:
gFwFeaturesMask = 0xFF9FFF3F;
break;
default: default:
gFwFeaturesMask = 0xFFFFFFFF; //unknown - use oem SMBIOS value to be default gFwFeaturesMask = 0xFFFFFFFF; //unknown - use oem SMBIOS value to be default
break; break;

View File

@ -90,7 +90,6 @@ void* lodepng_realloc(void* ptr, size_t new_size)
#define memset(dest,ch,count) SetMem(dest,(UINTN)(count),(UINT8)(ch)) #define memset(dest,ch,count) SetMem(dest,(UINTN)(count),(UINT8)(ch))
//MODSNI ^ //MODSNI ^

View File

@ -28,61 +28,6 @@ Revision History
#define PRINT_ITEM_BUFFER_LEN 100 #define PRINT_ITEM_BUFFER_LEN 100
#define PRINT_JOINT_BUFFER_LEN 4 #define PRINT_JOINT_BUFFER_LEN 4
typedef struct {
BOOLEAN Ascii;
UINTN Index;
union {
CONST CHAR16 *pw;
CHAR8 *pc;
} u;
} POINTER;
typedef struct _pitem {
POINTER Item;
CHAR16 *Scratch;
UINTN Width;
UINTN FieldWidth;
UINTN *WidthParse;
CHAR16 Pad;
BOOLEAN PadBefore;
BOOLEAN Comma;
BOOLEAN Long;
} PRINT_ITEM;
typedef struct _pstate {
//
// Input
//
POINTER fmt;
VA_LIST args;
//
// Output
//
CHAR16 *Buffer;
CHAR16 *End;
CHAR16 *Pos;
UINTN Len;
UINTN Attr;
UINTN RestoreAttr;
UINTN AttrNorm;
UINTN AttrHighlight;
UINTN AttrError;
UINTN AttrBlueColor;
UINTN AttrGreenColor;
EFI_STATUS (EFIAPI *Output) (VOID *context, CHAR16 *str);
EFI_STATUS (EFIAPI *SetAttr) (VOID *context, UINTN attr);
VOID *Context;
//
// Current item being formatted
//
struct _pitem *Item;
} PRINT_STATE;
typedef struct { typedef struct {
BOOLEAN PageBreak; BOOLEAN PageBreak;

View File

@ -47,6 +47,86 @@ Revision History
#define IS_PUNCT(x) ((x == '.') || (x == '-')) #define IS_PUNCT(x) ((x == '.') || (x == '-'))
// jief move struct definition to here to be accessible from XStringW
typedef struct {
BOOLEAN Ascii;
UINTN Index;
union {
CONST CHAR16 *pw;
CHAR8 *pc;
} u;
} POINTER;
typedef struct _pitem {
POINTER Item;
CHAR16 *Scratch;
UINTN Width;
UINTN FieldWidth;
UINTN *WidthParse;
CHAR16 Pad;
BOOLEAN PadBefore;
BOOLEAN Comma;
BOOLEAN Long;
} PRINT_ITEM;
typedef struct _pstate {
//
// Input
//
POINTER fmt;
VA_LIST args;
//
// Output
//
CHAR16 *Buffer;
CHAR16 *End;
CHAR16 *Pos;
UINTN Len;
UINTN Attr;
UINTN RestoreAttr;
UINTN AttrNorm;
UINTN AttrHighlight;
UINTN AttrError;
UINTN AttrBlueColor;
UINTN AttrGreenColor;
EFI_STATUS (EFIAPI *Output) (VOID *context, CHAR16 *str);
EFI_STATUS (EFIAPI *SetAttr) (VOID *context, UINTN attr);
VOID *Context;
//
// Current item being formatted
//
struct _pitem *Item;
} PRINT_STATE;
extern
EFI_STATUS
EFIAPI
_PoolPrint (
IN POOL_PRINT *Context,
IN CHAR16 *Buffer
);
extern
UINTN
_PPrint (
IN PRINT_STATE *ps
);
// jief
/* /*
typedef struct { typedef struct {
CHAR16 *Str; CHAR16 *Str;