coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
ipmi_ocp.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
3 #ifndef __IPMI_OCP_H
4 #define __IPMI_OCP_H
5 
6 #include <commonlib/bsd/cb_err.h>
7 
8 #define IPMI_NETFN_OEM 0x30
9 #define IPMI_OEM_SET_PPIN 0x77
10 #define IPMI_BMC_SET_POST_START 0x73
11 #define IPMI_OEM_SET_BIOS_BOOT_ORDER 0x52
12 #define IPMI_OEM_GET_BIOS_BOOT_ORDER 0x53
13 
14 #define CMOS_BIT (1 << 1)
15 #define VALID_BIT (1 << 7)
16 #define CLEAR_CMOS_AND_VALID_BIT(x) ((x) &= ~(CMOS_BIT | VALID_BIT))
17 #define SET_CMOS_AND_VALID_BIT(x) ((x) |= (CMOS_BIT | VALID_BIT))
18 #define IS_CMOS_AND_VALID_BIT(x) ((x)&CMOS_BIT && (x)&VALID_BIT)
19 
20 struct ppin_req {
26 
27 struct boot_order {
34 } __packed;
35 
36 enum cb_err ipmi_set_post_start(const int port);
37 enum cb_err ipmi_set_cmos_clear(void);
38 #endif
cb_err
coreboot error codes
Definition: cb_err.h:15
port
Definition: i915.h:29
struct ppin_req __packed
enum cb_err ipmi_set_post_start(const int port)
enum cb_err ipmi_set_cmos_clear(void)
unsigned int uint32_t
Definition: stdint.h:14
unsigned char uint8_t
Definition: stdint.h:8
uint8_t boot_dev3
Definition: ipmi_ocp.h:32
uint8_t boot_dev4
Definition: ipmi_ocp.h:33
uint8_t boot_dev2
Definition: ipmi_ocp.h:31
uint8_t boot_dev0
Definition: ipmi_ocp.h:29
uint8_t boot_mode
Definition: ipmi_ocp.h:28
uint8_t boot_dev1
Definition: ipmi_ocp.h:30
uint32_t cpu1_lo
Definition: ipmi_ocp.h:23
uint32_t cpu0_lo
Definition: ipmi_ocp.h:21
uint32_t cpu1_hi
Definition: ipmi_ocp.h:24
uint32_t cpu0_hi
Definition: ipmi_ocp.h:22