1 /** @file
2   This file contains the boot script defintions that are shared between the
3   Boot Script Executor PPI and the Boot Script Save Protocol.
4 
5   Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
6   SPDX-License-Identifier: BSD-2-Clause-Patent
7 
8 **/
9 
10 #ifndef _PI_S3_BOOT_SCRIPT_H_
11 #define _PI_S3_BOOT_SCRIPT_H_
12 
13 // *******************************************
14 // EFI Boot Script Opcode definitions
15 // *******************************************
16 #define EFI_BOOT_SCRIPT_IO_WRITE_OPCODE                0x00
17 #define EFI_BOOT_SCRIPT_IO_READ_WRITE_OPCODE           0x01
18 #define EFI_BOOT_SCRIPT_MEM_WRITE_OPCODE               0x02
19 #define EFI_BOOT_SCRIPT_MEM_READ_WRITE_OPCODE          0x03
20 #define EFI_BOOT_SCRIPT_PCI_CONFIG_WRITE_OPCODE        0x04
21 #define EFI_BOOT_SCRIPT_PCI_CONFIG_READ_WRITE_OPCODE   0x05
22 #define EFI_BOOT_SCRIPT_SMBUS_EXECUTE_OPCODE           0x06
23 #define EFI_BOOT_SCRIPT_STALL_OPCODE                   0x07
24 #define EFI_BOOT_SCRIPT_DISPATCH_OPCODE                0x08
25 #define EFI_BOOT_SCRIPT_DISPATCH_2_OPCODE              0x09
26 #define EFI_BOOT_SCRIPT_INFORMATION_OPCODE             0x0A
27 #define EFI_BOOT_SCRIPT_PCI_CONFIG2_WRITE_OPCODE       0x0B
28 #define EFI_BOOT_SCRIPT_PCI_CONFIG2_READ_WRITE_OPCODE  0x0C
29 #define EFI_BOOT_SCRIPT_IO_POLL_OPCODE                 0x0D
30 #define EFI_BOOT_SCRIPT_MEM_POLL_OPCODE                0x0E
31 #define EFI_BOOT_SCRIPT_PCI_CONFIG_POLL_OPCODE         0x0F
32 #define EFI_BOOT_SCRIPT_PCI_CONFIG2_POLL_OPCODE        0x10
33 
34 // *******************************************
35 // EFI_BOOT_SCRIPT_WIDTH
36 // *******************************************
37 typedef enum {
38   EfiBootScriptWidthUint8,
39   EfiBootScriptWidthUint16,
40   EfiBootScriptWidthUint32,
41   EfiBootScriptWidthUint64,
42   EfiBootScriptWidthFifoUint8,
43   EfiBootScriptWidthFifoUint16,
44   EfiBootScriptWidthFifoUint32,
45   EfiBootScriptWidthFifoUint64,
46   EfiBootScriptWidthFillUint8,
47   EfiBootScriptWidthFillUint16,
48   EfiBootScriptWidthFillUint32,
49   EfiBootScriptWidthFillUint64,
50   EfiBootScriptWidthMaximum
51 } EFI_BOOT_SCRIPT_WIDTH;
52 
53 #endif
54