111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/****************************************************************************
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   This header was automatically generated from a Linux kernel header
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   of the same name, to make information necessary for userspace to
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   call into the kernel available to libc.  It contains only constants,
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   structures, and macros generated from the original header, and thus,
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   contains no copyrightable information.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   To edit the content of this header, modify the corresponding
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   source file (e.g. under external/kernel-headers/original/) then
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   run bionic/libc/kernel/tools/update_all.py
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   Any manual change here will be lost the next time this script will
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   be run. You've been warned!
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef __MIC_COMMON_H_
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __MIC_COMMON_H_
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/virtio_ring.h>
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __mic_align(a, x) (((a) + (x) - 1) & ~((x) - 1))
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct mic_device_desc {
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s8 type;
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 num_vq;
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 feature_len;
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 config_len;
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 status;
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le64 config[0];
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} __attribute__ ((aligned(8)));
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct mic_device_ctrl {
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le64 vdev;
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 config_change;
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 vdev_reset;
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 guest_ack;
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 host_ack;
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 used_address_updated;
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s8 c2h_vdev_db;
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s8 h2c_vdev_db;
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} __attribute__ ((aligned(8)));
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct mic_bootparam {
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 magic;
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s8 c2h_shutdown_db;
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s8 h2c_shutdown_db;
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s8 h2c_config_db;
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 shutdown_status;
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 shutdown_card;
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} __attribute__ ((aligned(8)));
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct mic_device_page {
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct mic_bootparam bootparam;
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct mic_device_desc desc[0];
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct mic_vqconfig {
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le64 address;
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le64 used_address;
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le16 num;
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} __attribute__ ((aligned(8)));
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MIC_VIRTIO_RING_ALIGN 4096
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MIC_MAX_VRINGS 4
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MIC_VRING_ENTRIES 128
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MIC_MAX_VRING_ENTRIES 128
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MIC_MAX_DESC_BLK_SIZE 256
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct _mic_vring_info {
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 avail_idx;
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 magic;
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct mic_vring {
8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct vring vr;
8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct _mic_vring_info *info;
8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void *va;
8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int len;
8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define mic_aligned_desc_size(d) __mic_align(mic_desc_size(d), 8)
8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef INTEL_MIC_CARD
8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MIC_DP_SIZE 4096
9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MIC_MAGIC 0xc0ffee00
9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertenum mic_states {
9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert MIC_OFFLINE = 0,
9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert MIC_ONLINE,
9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert MIC_SHUTTING_DOWN,
9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert MIC_RESET_FAILED,
9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert MIC_SUSPENDING,
10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert MIC_SUSPENDED,
10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert MIC_LAST
10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertenum mic_status {
10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert MIC_NOP = 0,
10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert MIC_CRASHED,
10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert MIC_HALTED,
10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert MIC_POWER_OFF,
11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert MIC_RESTART,
11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert MIC_STATUS_LAST
11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
115