mirror of
https://github.com/torvalds/linux.git
synced 2024-12-26 12:52:30 +00:00
f4a66c2044
This patch updates the MIC host daemon to work with corresponding changes in COSM. Other MIC daemon fixes, cleanups and enhancements as are also rolled into this patch. Changes to MIC sysfs ABI which go into effect with this patch are also documented. Reviewed-by: Sudeep Dutt <sudeep.dutt@intel.com> Signed-off-by: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@intel.com> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
104 lines
2.4 KiB
C
104 lines
2.4 KiB
C
/*
|
|
* Intel MIC Platform Software Stack (MPSS)
|
|
*
|
|
* Copyright(c) 2013 Intel Corporation.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License, version 2, as
|
|
* published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful, but
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* General Public License for more details.
|
|
*
|
|
* The full GNU General Public License is included in this distribution in
|
|
* the file called "COPYING".
|
|
*
|
|
* Intel MIC User Space Tools.
|
|
*/
|
|
#ifndef _MPSSD_H_
|
|
#define _MPSSD_H_
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <fcntl.h>
|
|
#include <unistd.h>
|
|
#include <dirent.h>
|
|
#include <libgen.h>
|
|
#include <pthread.h>
|
|
#include <stdarg.h>
|
|
#include <time.h>
|
|
#include <errno.h>
|
|
#include <sys/dir.h>
|
|
#include <sys/ioctl.h>
|
|
#include <sys/poll.h>
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#include <sys/stat.h>
|
|
#include <sys/types.h>
|
|
#include <sys/mman.h>
|
|
#include <sys/utsname.h>
|
|
#include <sys/wait.h>
|
|
#include <netinet/in.h>
|
|
#include <arpa/inet.h>
|
|
#include <netdb.h>
|
|
#include <pthread.h>
|
|
#include <signal.h>
|
|
#include <limits.h>
|
|
#include <syslog.h>
|
|
#include <getopt.h>
|
|
#include <net/if.h>
|
|
#include <linux/if_tun.h>
|
|
#include <linux/if_tun.h>
|
|
#include <linux/virtio_ids.h>
|
|
|
|
#define MICSYSFSDIR "/sys/class/mic"
|
|
#define LOGFILE_NAME "/var/log/mpssd"
|
|
#define PAGE_SIZE 4096
|
|
|
|
struct mic_console_info {
|
|
pthread_t console_thread;
|
|
int virtio_console_fd;
|
|
void *console_dp;
|
|
};
|
|
|
|
struct mic_net_info {
|
|
pthread_t net_thread;
|
|
int virtio_net_fd;
|
|
int tap_fd;
|
|
void *net_dp;
|
|
};
|
|
|
|
struct mic_virtblk_info {
|
|
pthread_t block_thread;
|
|
int virtio_block_fd;
|
|
void *block_dp;
|
|
volatile sig_atomic_t signaled;
|
|
char *backend_file;
|
|
int backend;
|
|
void *backend_addr;
|
|
long backend_size;
|
|
};
|
|
|
|
struct mic_info {
|
|
int id;
|
|
char *name;
|
|
pthread_t config_thread;
|
|
pthread_t init_thread;
|
|
pid_t pid;
|
|
struct mic_console_info mic_console;
|
|
struct mic_net_info mic_net;
|
|
struct mic_virtblk_info mic_virtblk;
|
|
int restart;
|
|
int boot_on_resume;
|
|
struct mic_info *next;
|
|
};
|
|
|
|
__attribute__((format(printf, 1, 2)))
|
|
void mpsslog(char *format, ...);
|
|
char *readsysfs(char *dir, char *entry);
|
|
int setsysfs(char *dir, char *entry, char *value);
|
|
#endif
|