Fix Duet broken caused by LzmaUefiDecompress's interface is changed in IntelFrameworkModulePkg.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9776 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
klu2 2010-01-15 12:39:20 +00:00
parent bfd4a3f1b4
commit 3ae5030e9c
2 changed files with 26 additions and 10 deletions

View File

@ -1,6 +1,6 @@
/*++ /*++
Copyright (c) 2006, Intel Corporation Copyright (c) 2006 - 2010, Intel Corporation
All rights reserved. This program and the accompanying materials All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License 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 which accompanies this distribution. The full text of the license may be found at
@ -113,6 +113,7 @@ EfiLoader (
PrintString (PrintBuffer); PrintString (PrintBuffer);
Status = LzmaUefiDecompress ( Status = LzmaUefiDecompress (
(VOID *)(UINTN)(EFILDR_HEADER_ADDRESS + EFILDRImage->Offset), (VOID *)(UINTN)(EFILDR_HEADER_ADDRESS + EFILDRImage->Offset),
EFILDRImage->Length,
(VOID *)(UINTN)EFI_DECOMPRESSED_BUFFER_ADDRESS, (VOID *)(UINTN)EFI_DECOMPRESSED_BUFFER_ADDRESS,
(VOID *)(UINTN)((EFI_DECOMPRESSED_BUFFER_ADDRESS + DestinationSize + 0x1000) & 0xfffff000) (VOID *)(UINTN)((EFI_DECOMPRESSED_BUFFER_ADDRESS + DestinationSize + 0x1000) & 0xfffff000)
); );
@ -162,6 +163,7 @@ EfiLoader (
Status = LzmaUefiDecompress ( Status = LzmaUefiDecompress (
(VOID *)(UINTN)(EFILDR_HEADER_ADDRESS + EFILDRImage->Offset), (VOID *)(UINTN)(EFILDR_HEADER_ADDRESS + EFILDRImage->Offset),
EFILDRImage->Length,
(VOID *)(UINTN)EFI_DECOMPRESSED_BUFFER_ADDRESS, (VOID *)(UINTN)EFI_DECOMPRESSED_BUFFER_ADDRESS,
(VOID *)(UINTN)((EFI_DECOMPRESSED_BUFFER_ADDRESS + DestinationSize + 0x1000) & 0xfffff000) (VOID *)(UINTN)((EFI_DECOMPRESSED_BUFFER_ADDRESS + DestinationSize + 0x1000) & 0xfffff000)
); );
@ -226,6 +228,7 @@ PrintHeader ('C');
Status = LzmaUefiDecompress ( Status = LzmaUefiDecompress (
(VOID *)(UINTN)(EFILDR_HEADER_ADDRESS + EFILDRImage->Offset), (VOID *)(UINTN)(EFILDR_HEADER_ADDRESS + EFILDRImage->Offset),
EFILDRImage->Length,
(VOID *)(UINTN)EFI_DECOMPRESSED_BUFFER_ADDRESS, (VOID *)(UINTN)EFI_DECOMPRESSED_BUFFER_ADDRESS,
(VOID *)(UINTN)((EFI_DECOMPRESSED_BUFFER_ADDRESS + DestinationSize + 0x1000) & 0xfffff000) (VOID *)(UINTN)((EFI_DECOMPRESSED_BUFFER_ADDRESS + DestinationSize + 0x1000) & 0xfffff000)
); );

View File

@ -1,7 +1,7 @@
/** @file /** @file
LZMA Decompress Library header file LZMA Decompress Library header file
Copyright (c) 2006 - 2009, Intel Corporation<BR> Copyright (c) 2006 - 2010, Intel Corporation<BR>
All rights reserved. This program and the accompanying materials All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License 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 which accompanies this distribution. The full text of the license may be found at
@ -36,22 +36,35 @@ LzmaUefiDecompressGetInfo (
); );
/** /**
The internal implementation of *_DECOMPRESS_PROTOCOL.Decompress(). Decompresses a Lzma compressed source buffer.
@param Source - The source buffer containing the compressed data.
@param Destination - The destination buffer to store the decompressed data
@param Scratch - The buffer used internally by the decompress routine. This buffer is needed to store intermediate data.
@retval RETURN_SUCCESS - Decompression is successfull Extracts decompressed data to its original form.
@retval RETURN_INVALID_PARAMETER - The source data is corrupted If the compressed source data specified by Source is successfully decompressed
into Destination, then RETURN_SUCCESS is returned. If the compressed source data
specified by Source is not in a valid compressed data format,
then RETURN_INVALID_PARAMETER is returned.
@param Source The source buffer containing the compressed data.
@param SourceSize The size of source buffer.
@param Destination The destination buffer to store the decompressed data
@param Scratch A temporary scratch buffer that is used to perform the decompression.
This is an optional parameter that may be NULL if the
required scratch buffer size is 0.
@retval RETURN_SUCCESS Decompression completed successfully, and
the uncompressed buffer is returned in Destination.
@retval RETURN_INVALID_PARAMETER
The source buffer specified by Source is corrupted
(not in a valid compressed format).
**/ **/
RETURN_STATUS RETURN_STATUS
EFIAPI EFIAPI
LzmaUefiDecompress ( LzmaUefiDecompress (
IN CONST VOID *Source, IN CONST VOID *Source,
IN UINTN SourceSize,
IN OUT VOID *Destination, IN OUT VOID *Destination,
IN OUT VOID *Scratch IN OUT VOID *Scratch
); );
#endif // __LZMADECOMPRESS_H__ #endif // __LZMADECOMPRESS_H__