Home | History | Annotate | Download | only in DebugCommunicationLibUsb3
      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*
     29 AllocateAlignBuffer (
     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