MdePkg/SmmIoLib: Add header file.
[mirror_edk2.git] / MdePkg / Include / Library / SmmIoLib.h
1 /** @file
2 Provides services for SMM IO Operation.
3
4 The SMM IO Library provides function for checking if IO resource is accessible inside of SMM.
5
6 Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
7 This program and the accompanying materials
8 are licensed and made available under the terms and conditions of the BSD License
9 which accompanies this distribution. The full text of the license may be found at
10 http://opensource.org/licenses/bsd-license.php
11
12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14
15 **/
16
17 #ifndef _SMM_IO_LIB_H_
18 #define _SMM_IO_LIB_H_
19
20 /**
21 This function check if the MMIO resource is valid per processor architecture and
22 valid per platform design.
23
24 @param BaseAddress The MMIO start address to be checked.
25 @param Length The MMIO length to be checked.
26 @param Owner A GUID representing the owner of the resource.
27 This GUID may be used by producer to correlate the device ownership of the resource.
28 NULL means no specific owner.
29
30 @retval TRUE This MMIO resource is valid per processor architecture and valid per platform design.
31 @retval FALSE This MMIO resource is not valid per processor architecture or valid per platform design.
32 **/
33 BOOLEAN
34 EFIAPI
35 SmmIsMmioValid (
36 IN EFI_PHYSICAL_ADDRESS BaseAddress,
37 IN UINT64 Length,
38 IN EFI_GUID *Owner OPTIONAL
39 );
40
41 #endif
42