1 /** @file 2 Debug Port Library implementation based on usb3 debug port. 3 4 Copyright (c) 2014, Intel Corporation. All rights reserved.<BR> 5 This program and the accompanying materials 6 are licensed and made available under the terms and conditions of the BSD License 7 which accompanies this distribution. The full text of the license may be found at 8 http://opensource.org/licenses/bsd-license.php. 9 10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 13 **/ 14 15 #include <Base.h> 16 #include <PiDxe.h> 17 #include <Library/UefiBootServicesTableLib.h> 18 #include "DebugCommunicationLibUsb3Internal.h" 19 20 /** 21 Allocate aligned memory for XHC's usage. 22 23 @param BufferSize The size, in bytes, of the Buffer. 24 25 @return A pointer to the allocated buffer or NULL if allocation fails. 26 27 **/ 28 VOID* AllocateAlignBuffer(IN UINTN BufferSize)29AllocateAlignBuffer ( 30 IN UINTN BufferSize 31 ) 32 { 33 VOID *Buf; 34 35 Buf = NULL; 36 37 if (gBS != NULL) { 38 Buf = (VOID *)(UINTN)0xFFFFFFFF; 39 gBS->AllocatePages ( 40 AllocateMaxAddress, 41 EfiACPIMemoryNVS, 42 EFI_SIZE_TO_PAGES (BufferSize), 43 (EFI_PHYSICAL_ADDRESS *) &Buf 44 ); 45 } 46 47 return Buf; 48 } 49