blob: 6edd23ca1f0ea48dc803fc7db16dc908cd86496f [file] [log] [blame]
Vishal Bhoj82c80712015-12-15 21:13:33 +05301/** @file
2 Block IO (memory mapped)
3
4 Copyright (c) 2006 - 2010, 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#ifndef __BLOCK_MMIO_H__
16#define __BLOCK_MMIO_H__
17
18#include <Protocol/BlockIo.h>
19
20#define BLOCK_MMIO_PROTOCOL_GUID \
21 { \
22 0x6b558ce3, 0x69e5, 0x4c67, {0xa6, 0x34, 0xf7, 0xfe, 0x72, 0xad, 0xbe, 0x84 } \
23 }
24
25typedef struct _BLOCK_MMIO_PROTOCOL BLOCK_MMIO_PROTOCOL;
26
27
28///
29/// This protocol provides control over block devices.
30///
31struct _BLOCK_MMIO_PROTOCOL {
32 ///
33 /// The revision to which the block IO interface adheres. All future
34 /// revisions must be backwards compatible. If a future version is not
35 /// back wards compatible, it is not the same GUID.
36 ///
37 UINT64 Revision;
38 ///
39 /// Pointer to the EFI_BLOCK_IO_MEDIA data for this device.
40 ///
41 EFI_BLOCK_IO_MEDIA *Media;
42
43 EFI_PHYSICAL_ADDRESS BaseAddress;
44
45};
46
47extern EFI_GUID gBlockMmioProtocolGuid;
48
49#endif
50