1abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/****************************************************************************
2abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ****************************************************************************
3abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
4abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   This header was automatically generated from a Linux kernel header
5abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   of the same name, to make information necessary for userspace to
6abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   call into the kernel available to libc.  It contains only constants,
7abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   structures, and macros generated from the original header, and thus,
8abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   contains no copyrightable information.
9abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
10abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   To edit the content of this header, modify the corresponding
11abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   source file (e.g. under external/kernel-headers/original/) then
12abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   run bionic/libc/kernel/tools/update_all.py
13abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
14abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   Any manual change here will be lost the next time this script will
15abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   be run. You've been warned!
16abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
17abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ****************************************************************************
18abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ****************************************************************************/
19abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#ifndef _UAPI_ASM_X86_MCE_H
20abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define _UAPI_ASM_X86_MCE_H
21abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#include <linux/types.h>
2205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#include <linux/ioctl.h>
23abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughesstruct mce {
24d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 status;
25d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 misc;
26d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 addr;
27d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 mcgstatus;
28d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 ip;
29d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 tsc;
30d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 time;
31d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 cpuvendor;
32d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 inject_flags;
3305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  __u8 severity;
34106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u8 pad;
3505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  __u32 cpuid;
36d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 cs;
37d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 bank;
38d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 cpu;
3905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  __u8 finished;
40d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 extcpu;
41d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 socketid;
42d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 apicid;
4305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris  __u64 mcgcap;
446a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u64 synd;
456a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u64 ipid;
4648af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris  __u64 ppin;
4748af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris};
48abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define MCE_GET_RECORD_LEN _IOR('M', 1, int)
49abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define MCE_GET_LOG_LEN _IOR('M', 2, int)
5005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define MCE_GETCLEAR_FLAGS _IOR('M', 3, int)
5148af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris#endif
52