aboutsummaryrefslogtreecommitdiff
path: root/util/inteltool/pcr.h
diff options
context:
space:
mode:
authorNico Huber <nico.huber@secunet.com>2017-04-05 17:39:57 +0200
committerStefan Reinauer <stefan.reinauer@coreboot.org>2018-01-15 01:18:05 +0000
commit99b02a1d7c486d0b4083cbfdafe2a92de4975362 (patch)
treed4221e5772446d5158f642bec6cfbc20fe351aa6 /util/inteltool/pcr.h
parent76a4f71e89722fd579daa559a1d24b3d710dbed6 (diff)
inteltool: Support for nasty Primary to Sideband Bridge (P2SB)
The Primary to Sideband Bridge (P2SB) is the interface to Private Con- figuration Registers (PCR) including GPIO configuration. Of course, access is restricted to Intel partners and criminals, so the PCI device is hidden from the OS. Probably we only need to fetch the SBREG_BAR address and can hide the PCI device again after that. Change-Id: Ic121a09f021708aab82ae4b9d76d6c3c6fb884fa Signed-off-by: Nico Huber <nico.huber@secunet.com> Reviewed-on: https://review.coreboot.org/19588 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'util/inteltool/pcr.h')
-rw-r--r--util/inteltool/pcr.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/util/inteltool/pcr.h b/util/inteltool/pcr.h
new file mode 100644
index 0000000000..601cfb6874
--- /dev/null
+++ b/util/inteltool/pcr.h
@@ -0,0 +1,30 @@
+/*
+ * inteltool - dump all registers on an Intel CPU + chipset based system.
+ *
+ * Copyright (C) 2017 secunet Security Networks AG
+ *
+ * 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; 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.
+ */
+
+#ifndef INTELTOOL_PCR_H
+#define INTELTOOL_PCR_H 1
+
+#include <stdint.h>
+#include "inteltool.h"
+
+#define SBBAR_SIZE (16 * MiB)
+#define PCR_PORT_SIZE (64 * KiB)
+
+uint32_t read_pcr32(uint8_t port, uint16_t offset);
+
+void pcr_init(struct pci_dev *sb);
+void pcr_cleanup(void);
+
+#endif