summaryrefslogtreecommitdiffstats
path: root/src/config
diff options
context:
space:
mode:
authorMichael Brown2015-04-24 17:05:59 +0200
committerMichael Brown2015-04-24 17:27:47 +0200
commita25a16d4adf663abd8f6eaab266b9444157357b6 (patch)
tree9e001b537fb3f79e924d455bc55a894405531c4e /src/config
parent[settings] Add "base64" setting type (diff)
downloadipxe-a25a16d4adf663abd8f6eaab266b9444157357b6.tar.gz
ipxe-a25a16d4adf663abd8f6eaab266b9444157357b6.tar.xz
ipxe-a25a16d4adf663abd8f6eaab266b9444157357b6.zip
[vram] Add "vram" built-in setting to dump video RAM
The "vram" setting returns the (Base64-encoded) contents of video RAM, and can be used to capture a screenshot. For example: after running memtest.0 and encountering an error, the output can be captured and sent to a remote server for later diagnosis: #!ipxe chain -a http://server/memtest.0 && goto ok || goto bad :bad params param errno ${errno} param vram ${vram} chain -a http://server/report.php##params :ok Inspired-by: Christian Nilsson <nikize@gmail.com> Originally-implemented-by: Christian Nilsson <nikize@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/config')
-rw-r--r--src/config/config.c3
-rw-r--r--src/config/settings.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/src/config/config.c b/src/config/config.c
index 47008388..ae2ec479 100644
--- a/src/config/config.c
+++ b/src/config/config.c
@@ -337,6 +337,9 @@ REQUIRE_OBJECT ( cpuid_settings );
#ifdef MEMMAP_SETTINGS
REQUIRE_OBJECT ( memmap_settings );
#endif
+#ifdef VRAM_SETTINGS
+REQUIRE_OBJECT ( vram_settings );
+#endif
/*
* Drag in selected keyboard map
diff --git a/src/config/settings.h b/src/config/settings.h
index b3aabbe5..01feaaa8 100644
--- a/src/config/settings.h
+++ b/src/config/settings.h
@@ -13,6 +13,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
//#define CPUID_SETTINGS /* CPUID settings */
//#define MEMMAP_SETTINGS /* Memory map settings */
//#define VMWARE_SETTINGS /* VMware GuestInfo settings */
+//#define VRAM_SETTINGS /* Video RAM dump settings */
#include <config/named.h>
#include NAMED_CONFIG(settings.h)