blob: be3174e75fd643274e594bddcd075cc0bbc8d71e [file] [log] [blame]
Vishal Bhoj82c80712015-12-15 21:13:33 +05301/** @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 <PiPei.h>
16#include <Library/PeiServicesLib.h>
17#include "DebugCommunicationLibUsb3Internal.h"
18
19/**
20 Allocate aligned memory for XHC's usage.
21
22 @param BufferSize The size, in bytes, of the Buffer.
23
24 @return A pointer to the allocated buffer or NULL if allocation fails.
25
26**/
27VOID*
28AllocateAlignBuffer (
29 IN UINTN BufferSize
30 )
31{
32 VOID *Buf;
33 EFI_PHYSICAL_ADDRESS Address;
34 EFI_STATUS Status;
35
36 Buf = NULL;
37 Status = PeiServicesAllocatePages (EfiACPIMemoryNVS, EFI_SIZE_TO_PAGES (BufferSize), &Address);
38 if (EFI_ERROR (Status)) {
39 Buf = NULL;
40 } else {
41 Buf = (VOID *)(UINTN) Address;
42 }
43 return Buf;
44}
45