cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

peci.rst (1842B)


      1.. SPDX-License-Identifier: GPL-2.0-only
      2
      3========
      4Overview
      5========
      6
      7The Platform Environment Control Interface (PECI) is a communication
      8interface between Intel processor and management controllers
      9(e.g. Baseboard Management Controller, BMC).
     10PECI provides services that allow the management controller to
     11configure, monitor and debug platform by accessing various registers.
     12It defines a dedicated command protocol, where the management
     13controller is acting as a PECI originator and the processor - as
     14a PECI responder.
     15PECI can be used in both single processor and multiple-processor based
     16systems.
     17
     18NOTE:
     19Intel PECI specification is not released as a dedicated document,
     20instead it is a part of External Design Specification (EDS) for given
     21Intel CPU. External Design Specifications are usually not publicly
     22available.
     23
     24PECI Wire
     25---------
     26
     27PECI Wire interface uses a single wire for self-clocking and data
     28transfer. It does not require any additional control lines - the
     29physical layer is a self-clocked one-wire bus signal that begins each
     30bit with a driven, rising edge from an idle near zero volts. The
     31duration of the signal driven high allows to determine whether the bit
     32value is logic '0' or logic '1'. PECI Wire also includes variable data
     33rate established with every message.
     34
     35For PECI Wire, each processor package will utilize unique, fixed
     36addresses within a defined range and that address should
     37have a fixed relationship with the processor socket ID - if one of the
     38processors is removed, it does not affect addresses of remaining
     39processors.
     40
     41PECI subsystem internals
     42------------------------
     43
     44.. kernel-doc:: include/linux/peci.h
     45.. kernel-doc:: drivers/peci/internal.h
     46.. kernel-doc:: drivers/peci/core.c
     47.. kernel-doc:: drivers/peci/request.c
     48
     49PECI CPU Driver API
     50-------------------
     51.. kernel-doc:: drivers/peci/cpu.c