Vishal Bhoj | 82c8071 | 2015-12-15 21:13:33 +0530 | [diff] [blame] | 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 <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 | **/
|
| 27 | VOID*
|
| 28 | AllocateAlignBuffer (
|
| 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 |
|