forked from torvalds/linux
Permalink
Show file tree
Hide file tree
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
platform/x86: intel_pmc_core: export platform global reset bits via e…
…tr3 sysfs file During PCH (platform/board) manufacturing process a global platform reset has to be induced in order for the configuration changes take the effect upon following platform reset. This is an internal platform state and is not intended to be used in the regular platform resets. The setting is exposed via ETR3 (Extended Test Mode Register 3). After the manufacturing process is completed the register cannot be written anymore and is hardware locked. This setting was commonly done by accessing PMC registers via /dev/mem but due to security concerns /dev/mem access is much more restricted, hence the reason for exposing this setting via the dedicated sysfs interface. To prevent post manufacturing abuse the register is protected by hardware locking and the file is set to read-only mode via is_visible handler. The register in MMIO space is defined for Cannon Lake and newer PCHs. Cc: Hans de Goede <hdegoede@redhat.com> Cc: David E Box <david.e.box@intel.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Tamar Mashiah <tamar.mashiah@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
- Loading branch information
1 parent
52e4412
commit b966c4184fd486407516000bf3151906318d29f6
Showing
4 changed files
with
140 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| What: /sys/devices/platform/<platform>/etr3 | ||
| Date: Apr 2021 | ||
| KernelVersion: 5.13 | ||
| Contact: "Tomas Winkler" <tomas.winkler@intel.com> | ||
| Description: | ||
| The file exposes "Extended Test Mode Register 3" global | ||
| reset bits. The bits are used during an Intel platform | ||
| manufacturing process to indicate that consequent reset | ||
| of the platform is a "global reset". This type of reset | ||
| is required in order for manufacturing configurations | ||
| to take effect. | ||
|
|
||
| Display global reset setting bits for PMC. | ||
| * bit 31 - global reset is locked | ||
| * bit 20 - global reset is set | ||
| Writing bit 20 value to the etr3 will induce | ||
| a platform "global reset" upon consequent platform reset, | ||
| in case the register is not locked. | ||
| The "global reset bit" should be locked on a production | ||
| system and the file is in read-only mode. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters