aboutsummaryrefslogtreecommitdiffstats
path: root/src/include/ipxe/nvsvpd.h
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2010-11-24 23:59:53 +0000
committerMichael Brown <mcb30@ipxe.org>2010-11-25 00:00:38 +0000
commitce7b0efa87eaa695fa09936bad81ce4332f19a54 (patch)
treef80ab380b81060755ee169d394a675417656cd8c /src/include/ipxe/nvsvpd.h
parent69db6e7d8f34b625ba65c879dc2375b8f59adff2 (diff)
downloadipxe-ce7b0efa87eaa695fa09936bad81ce4332f19a54.tar.gz
[pci] Add a mechanism for using a PCI VPD field as an NVS device
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/ipxe/nvsvpd.h')
-rw-r--r--src/include/ipxe/nvsvpd.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/include/ipxe/nvsvpd.h b/src/include/ipxe/nvsvpd.h
new file mode 100644
index 000000000..5f80844e7
--- /dev/null
+++ b/src/include/ipxe/nvsvpd.h
@@ -0,0 +1,33 @@
+#ifndef _IPXE_NVSVPD_H
+#define _IPXE_NVSVPD_H
+
+/**
+ * @file
+ *
+ * Non-Volatile Storage using Vital Product Data
+ *
+ */
+
+FILE_LICENCE ( GPL2_OR_LATER );
+
+#include <ipxe/nvs.h>
+#include <ipxe/pcivpd.h>
+
+/** An NVS VPD device */
+struct nvs_vpd_device {
+ /** NVS device */
+ struct nvs_device nvs;
+ /** PCI VPD device */
+ struct pci_vpd vpd;
+ /** Starting address
+ *
+ * This address is added to the NVS address to form the VPD
+ * address.
+ */
+ unsigned int address;
+};
+
+extern int nvs_vpd_init ( struct nvs_vpd_device *nvsvpd, struct pci_device *pci,
+ unsigned int field );
+
+#endif /* IPXE_NVSVPD_H */