xref: /illumos-gate/usr/src/common/ucode/ucode_utils_intel.h (revision d32f26eec03290baae31e85e7c5840280d5c4292)
1*d32f26eeSAndy Fiddaman /*
2*d32f26eeSAndy Fiddaman  * This file and its contents are supplied under the terms of the
3*d32f26eeSAndy Fiddaman  * Common Development and Distribution License ("CDDL"), version 1.0.
4*d32f26eeSAndy Fiddaman  * You may only use this file in accordance with the terms of version
5*d32f26eeSAndy Fiddaman  * 1.0 of the CDDL.
6*d32f26eeSAndy Fiddaman  *
7*d32f26eeSAndy Fiddaman  * A full copy of the text of the CDDL should have accompanied this
8*d32f26eeSAndy Fiddaman  * source.  A copy of the CDDL is also available via the Internet at
9*d32f26eeSAndy Fiddaman  * http://www.illumos.org/license/CDDL.
10*d32f26eeSAndy Fiddaman  */
11*d32f26eeSAndy Fiddaman 
12*d32f26eeSAndy Fiddaman /*
13*d32f26eeSAndy Fiddaman  * Copyright 2023 Oxide Computer Company
14*d32f26eeSAndy Fiddaman  */
15*d32f26eeSAndy Fiddaman 
16*d32f26eeSAndy Fiddaman #ifndef _COMMON_UCODE_UTILS_INTEL_H
17*d32f26eeSAndy Fiddaman #define	_COMMON_UCODE_UTILS_INTEL_H
18*d32f26eeSAndy Fiddaman 
19*d32f26eeSAndy Fiddaman #include <ucode/ucode_errno.h>
20*d32f26eeSAndy Fiddaman 
21*d32f26eeSAndy Fiddaman #ifdef __cplusplus
22*d32f26eeSAndy Fiddaman extern "C" {
23*d32f26eeSAndy Fiddaman #endif
24*d32f26eeSAndy Fiddaman 
25*d32f26eeSAndy Fiddaman extern ucode_errno_t ucode_header_validate_intel(ucode_header_intel_t *);
26*d32f26eeSAndy Fiddaman extern uint32_t ucode_checksum_intel(uint32_t, uint32_t, uint8_t *);
27*d32f26eeSAndy Fiddaman extern uint32_t ucode_checksum_intel_extsig(ucode_header_intel_t *,
28*d32f26eeSAndy Fiddaman     ucode_ext_sig_intel_t *);
29*d32f26eeSAndy Fiddaman extern ucode_errno_t ucode_validate_intel(uint8_t *, int);
30*d32f26eeSAndy Fiddaman 
31*d32f26eeSAndy Fiddaman #ifdef __cplusplus
32*d32f26eeSAndy Fiddaman }
33*d32f26eeSAndy Fiddaman #endif
34*d32f26eeSAndy Fiddaman 
35*d32f26eeSAndy Fiddaman #endif /* _COMMON_UCODE_UTILS_INTEL_H */
36