Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
0002 /*
0003  * Structures for hypfs interface
0004  *
0005  * Copyright IBM Corp. 2013
0006  *
0007  * Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
0008  */
0009 
0010 #ifndef _ASM_HYPFS_H
0011 #define _ASM_HYPFS_H
0012 
0013 #include <linux/types.h>
0014 
0015 /*
0016  * IOCTL for binary interface /sys/kernel/debug/diag_304
0017  */
0018 struct hypfs_diag304 {
0019     __u32   args[2];
0020     __u64   data;
0021     __u64   rc;
0022 } __attribute__((packed));
0023 
0024 #define HYPFS_IOCTL_MAGIC 0x10
0025 
0026 #define HYPFS_DIAG304 \
0027     _IOWR(HYPFS_IOCTL_MAGIC, 0x20, struct hypfs_diag304)
0028 
0029 /*
0030  * Structures for binary interface /sys/kernel/debug/diag_0c
0031  */
0032 struct hypfs_diag0c_hdr {
0033     __u64   len;        /* Length of diag0c buffer without header */
0034     __u16   version;    /* Version of header */
0035     char    reserved1[6];   /* Reserved */
0036     char    tod_ext[16];    /* TOD clock for diag0c */
0037     __u64   count;      /* Number of entries (CPUs) in diag0c array */
0038     char    reserved2[24];  /* Reserved */
0039 };
0040 
0041 struct hypfs_diag0c_entry {
0042     char    date[8];    /* MM/DD/YY in EBCDIC */
0043     char    time[8];    /* HH:MM:SS in EBCDIC */
0044     __u64   virtcpu;    /* Virtual time consumed by the virt CPU (us) */
0045     __u64   totalproc;  /* Total of virtual and simulation time (us) */
0046     __u32   cpu;        /* Linux logical CPU number */
0047     __u32   reserved;   /* Align to 8 byte */
0048 };
0049 
0050 struct hypfs_diag0c_data {
0051     struct hypfs_diag0c_hdr     hdr;        /* 64 byte header */
0052     struct hypfs_diag0c_entry   entry[];    /* diag0c entry array */
0053 };
0054 
0055 #endif