diff options
author | Timothy Pearson <tpearson@raptorengineering.com> | 2017-08-27 16:20:38 -0500 |
---|---|---|
committer | Timothy Pearson <tpearson@raptorengineering.com> | 2017-08-27 16:20:38 -0500 |
commit | 84eea7fdc46dd76e84cafbf96813bc826d5e08ad (patch) | |
tree | 035d28afe18ce33231b956349d1a3a90ec763d60 /meta-facebook/meta-wedge/recipes-wedge/fblibs/files/ipmi | |
parent | e65a7944211c70f6b5cfb6cedd73cc31105319de (diff) | |
download | ast2050-yocto-openbmc-84eea7fdc46dd76e84cafbf96813bc826d5e08ad.zip ast2050-yocto-openbmc-84eea7fdc46dd76e84cafbf96813bc826d5e08ad.tar.gz |
Add initial support for the ASpeed 2050 and the ASUS KGPE-D16
Thermal management is functional but expects all fans to be attached
Known issues:
* BMC has been observed spontaneously rebooting after ~7-8 hours uptime
with no logs and no console output.
* While kcs has been implemented, the IPMI daemon is only functional
enough to report chassis status.
Diffstat (limited to 'meta-facebook/meta-wedge/recipes-wedge/fblibs/files/ipmi')
3 files changed, 0 insertions, 143 deletions
diff --git a/meta-facebook/meta-wedge/recipes-wedge/fblibs/files/ipmi/Makefile b/meta-facebook/meta-wedge/recipes-wedge/fblibs/files/ipmi/Makefile deleted file mode 100644 index 369819c..0000000 --- a/meta-facebook/meta-wedge/recipes-wedge/fblibs/files/ipmi/Makefile +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 2014-present Facebook. All Rights Reserved. -# -# This program file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation; version 2 of the License. -# -# 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. -# -# You should have received a copy of the GNU General Public License -# along with this program in a file named COPYING; if not, write to the -# Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301 USA - -lib: libipmi.so - -libipmi.so: ipmi.c - $(CC) $(CFLAGS) -fPIC -c -o ipmi.o ipmi.c - $(CC) -shared -o libipmi.so ipmi.o -lc - -.PHONY: clean - -clean: - rm -rf *.o libipmi.so diff --git a/meta-facebook/meta-wedge/recipes-wedge/fblibs/files/ipmi/ipmi.c b/meta-facebook/meta-wedge/recipes-wedge/fblibs/files/ipmi/ipmi.c deleted file mode 100644 index b5a3e19..0000000 --- a/meta-facebook/meta-wedge/recipes-wedge/fblibs/files/ipmi/ipmi.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - * - * Copyright 2014-present Facebook. All Rights Reserved. - * - * This file contains code to support IPMI2.0 Specificaton available @ - * http://www.intel.com/content/www/us/en/servers/ipmi/ipmi-specifications.html - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include "ipmi.h" -#include <stdio.h> -#include <stdlib.h> -#include <errno.h> -#include <string.h> -#include <syslog.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <sys/un.h> - -#define SOCK_PATH "/tmp/ipmi_socket" -#define MAX_IPMI_RES_LEN 100 - -/* - * Function to handle IPMI messages - */ -void -ipmi_handle(unsigned char *request, unsigned char req_len, - unsigned char *response, unsigned char *res_len) { - - int s, t, len; - struct sockaddr_un remote; - - // TODO: Need to update to reuse the socket instead of creating new - if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) == -1) { - syslog(LOG_ALERT, "ipmi_handle: socket() failed\n"); - return; - } - - remote.sun_family = AF_UNIX; - strcpy(remote.sun_path, SOCK_PATH); - len = strlen(remote.sun_path) + sizeof(remote.sun_family); - - if (connect(s, (struct sockaddr *)&remote, len) == -1) { - syslog(LOG_ALERT, "ipmi_handle: connect() failed\n"); - return; - } - - if (send(s, request, req_len, 0) == -1) { - syslog(LOG_ALERT, "ipmi_handle: send() failed\n"); - return; - } - - if ((t=recv(s, response, MAX_IPMI_RES_LEN, 0)) > 0) { - *res_len = t; - } else { - if (t < 0) { - syslog(LOG_ALERT, "ipmi_handle: recv() failed\n"); - } else { - printf("Server closed connection"); - } - - return; - } - - close(s); - - return; -} diff --git a/meta-facebook/meta-wedge/recipes-wedge/fblibs/files/ipmi/ipmi.h b/meta-facebook/meta-wedge/recipes-wedge/fblibs/files/ipmi/ipmi.h deleted file mode 100644 index 4c6ed62..0000000 --- a/meta-facebook/meta-wedge/recipes-wedge/fblibs/files/ipmi/ipmi.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * - * Copyright 2014-present Facebook. All Rights Reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#ifndef __IPMI_H__ -#define __IPMI_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -void ipmi_handle(unsigned char *request, unsigned char req_len, - unsigned char *response, unsigned char *res_len); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif /* __IPMI_H__ */ |