From: Oren Weil <oren.jer.weil@intel.com>
To: gregkh@suse.de
Cc: devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org,
alan@linux.intel.com, david@woodhou.se,
Oren Weil <oren.jer.weil@intel.com>
Subject: [PATCH 0/8] staging/mei: Intel MEI Driver
Date: Wed, 27 Apr 2011 13:27:29 +0300 [thread overview]
Message-ID: <1303900057-21694-1-git-send-email-oren.jer.weil@intel.com> (raw)
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 4317 bytes --]
Intel MEI Driver
=======================
The Intel Management Engine (Intel ME) is an isolated and
protected computing resources (Coprocessor) residing inside
Intel chipsets. The Intel ME provides support for computer/IT
management features.
The Feature set depends on Intel chipset SKU.
The Intel Management Engine Interface (Intel MEI, previous known
as HECI) is interface between the Host and Intel ME.
This interface is exposed to the host as PCI device.
The Intel MEI Driver is in charge of the communication channel
between host application and ME feature.
Each ME feature (ME Client) is addressed by GUID/UUID
and each feature defines its own protocol.
The protocol is message based with header and payload up to
512 bytes.
The driver exposes character device called /dev/mei.
Application maintain communication with a ME feature while
/dev/mei is open. The feature binding is preformed by calling
MEI_CONNECT_CLIENT_IOCTL which pass the desired UUID.
The number of instances of a ME feature that can be opened
at the same time depends on the ME feature, but most of the
features allow only single instance
Intel AMT Host Interface (AMTHI) feature requires multiple
user application maintaining therefore the MEI driver handle
it internally by maintaining requests queues for it.
Because some of the ME features can change the system
configuration, the driver by default allowing only privilege
user to access it.
pseudo code:
struct mei_connect_client_data data;
fd = open(MEI_DEVICE);
data.d.in_client_uuid = AMTHI_UUID;
ioctl(fd, IOCTL_MEI_CONNECT_CLIENT, &data);
printf(“Ver=%d, MaxLen=%ld\n”,
data.d.in_client_uuid.protocol_version,
data.d.in_client_uuid.max_msg_length);
[...]
write(fd, amthi_req_data, amthi_req_data_len);
[...]
read(fd, &amthi_res_data, amthi_res_data_len);
[...]
Module Parameters
=================
watchdog_timeout - in order to change the watchdog timeout setting
the user can use this module parameter.
this value set the Intel AMT watchdog timeout interval in seconds,
the default value is 120sec.
to disable the watchdog set the value 0.
The AMT watchdog is used for monitoring the OS health.
Note: We are aware that this code is not in its best shape
we are working to make it better and we will appreciate any feedbacks
and reviews that you can give to improve it.
Oren Weil (8):
staging/mei: PCI device and char driver support.
staging/mei: Interrupt handling.
staging/mei: MEI "Link" layer code - MEI Hardware communications.
staging/mei: MEI driver init flow.
staging/mei: Hardware and MEI driver internal struct definition
staging/mei: Header file contain the Userland API, (IOCTL and its
struct)
staging/mei: AMT Watchdog
staging/mei: Updates to staging/Kconfig ane staging/Makefile and a
new Makefile and Kconfig
drivers/staging/Kconfig | 2 +
drivers/staging/Makefile | 1 +
drivers/staging/mei/Kconfig | 10 +
drivers/staging/mei/Makefile | 20 +
drivers/staging/mei/hw.h | 510 ++++++++++++
drivers/staging/mei/init.c | 769 +++++++++++++++++
drivers/staging/mei/interface.c | 440 ++++++++++
drivers/staging/mei/interface.h | 124 +++
drivers/staging/mei/interrupt.c | 1634 +++++++++++++++++++++++++++++++++++++
drivers/staging/mei/iorw.c | 595 ++++++++++++++
drivers/staging/mei/main.c | 1340 ++++++++++++++++++++++++++++++
drivers/staging/mei/mei.h | 148 ++++
drivers/staging/mei/mei_version.h | 31 +
drivers/staging/mei/wd.c | 171 ++++
include/linux/mei.h | 105 +++
15 files changed, 5900 insertions(+), 0 deletions(-)
create mode 100644 drivers/staging/mei/Kconfig
create mode 100644 drivers/staging/mei/Makefile
create mode 100644 drivers/staging/mei/hw.h
create mode 100644 drivers/staging/mei/init.c
create mode 100644 drivers/staging/mei/interface.c
create mode 100644 drivers/staging/mei/interface.h
create mode 100644 drivers/staging/mei/interrupt.c
create mode 100644 drivers/staging/mei/iorw.c
create mode 100644 drivers/staging/mei/main.c
create mode 100644 drivers/staging/mei/mei.h
create mode 100644 drivers/staging/mei/mei_version.h
create mode 100644 drivers/staging/mei/wd.c
create mode 100644 include/linux/mei.h
[-- Attachment #2: Type: text/plain, Size: 366 bytes --]
---------------------------------------------------------------------
Intel Israel (74) Limited
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
next reply other threads:[~2011-04-27 10:30 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-27 10:27 Oren Weil [this message]
2011-04-27 10:27 ` [PATCH 1/8] staging/mei: PCI device and char driver support Oren Weil
2011-04-27 12:24 ` Jiri Slaby
2011-04-27 15:05 ` Greg KH
2011-04-28 5:47 ` Weil, Oren jer
2011-04-28 13:37 ` Greg KH
2011-04-27 10:27 ` [PATCH 2/8] staging/mei: Interrupt handling Oren Weil
2011-04-27 10:27 ` [PATCH 3/8] staging/mei: MEI "Link" layer code - MEI Hardware communications Oren Weil
2011-04-27 15:18 ` Greg KH
2011-04-27 10:27 ` [PATCH 4/8] staging/mei: MEI driver init flow Oren Weil
2011-04-27 10:27 ` [PATCH 5/8] staging/mei: Hardware and MEI driver internal struct definition Oren Weil
2011-04-27 10:27 ` [PATCH 6/8] staging/mei: Header file contain the Userland API, (IOCTL and its struct) Oren Weil
2011-04-27 15:02 ` Greg KH
2011-04-27 15:15 ` Randy Dunlap
2011-04-27 15:33 ` Greg KH
2011-04-28 6:29 ` Weil, Oren jer
2011-04-28 13:40 ` Greg KH
2011-04-28 14:12 ` Weil, Oren jer
2011-04-28 15:04 ` Greg KH
2011-04-28 15:39 ` David Woodhouse
2011-04-28 14:43 ` Alan Cox
2011-04-27 10:27 ` [PATCH 7/8] staging/mei: AMT Watchdog Oren Weil
2011-04-27 13:53 ` Arnd Bergmann
2011-04-27 15:07 ` Greg KH
2011-04-28 5:51 ` Weil, Oren jer
2011-04-28 12:50 ` Arnd Bergmann
2011-04-28 13:38 ` Greg KH
2011-04-27 10:27 ` [PATCH 8/8] staging/mei: Updates to staging/Kconfig ane staging/Makefile and a new Makefile and Kconfig Oren Weil
2011-04-27 15:06 ` Greg KH
2011-04-28 6:39 ` Weil, Oren jer
2011-04-28 8:22 ` Alan Cox
2011-04-27 15:19 ` Randy Dunlap
2011-04-28 0:05 ` Valdis.Kletnieks
2011-04-27 15:03 ` [PATCH 0/8] staging/mei: Intel MEI Driver Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1303900057-21694-1-git-send-email-oren.jer.weil@intel.com \
--to=oren.jer.weil@intel.com \
--cc=alan@linux.intel.com \
--cc=david@woodhou.se \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome