Skip to content

About EFI Device Properties

RevoGirl edited this page Jul 1, 2011 · 5 revisions

RevoBoot/i386/config/EFI/example.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- GPU properties -->
<key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)</key>
<dict>
	<key>@0,AAPL,boot-display</key>
	<data>
	AQAAAA==
	</data>
	<key>@0,name</key>
	<data>
	QVRZLER1Y2t3ZWVk
	</data>
	<key>@1,name</key>
	<data>
	QVRZLER1Y2t3ZWVk
	</data>
	<key>@2,name</key>
	<data>
	QVRZLER1Y2t3ZWVk
	</data>
	<key>@3,name</key>
	<data>
	QVRZLER1Y2t3ZWVk
	</data>
	<key>model</key>
	<data>
	QU1EIFJhZGVvbiBIRCA2ODUw
	</data>
</dict>
<!-- HDEF 892 properties -->
<key>PciRoot(0x0)/Pci(0x1b,0x0)</key>
<dict>
	<key>PinConfigurations</key>
	<data>
	AA==
	</data>
	<key>layout-id</key>
	<data>
	fAMAAA==
	</data>
	<key>subsystem-id</key>
	<data>
	oAAAAA==
	</data>
	<key>subsystem-vendor-id</key>
	<data>
	axAAAA==
	</data>
</dict>
<!-- FRWR properties -->
<key>PciRoot(0x0)/Pci(0x1c,0x4)/Pci(0x0,0x0)</key>
<dict>
	<key>fw-hub</key>
	<data>
	AAAAAA==
	</data>
</dict>
<!-- LAN properties -->
<key>PciRoot(0x0)/Pci(0x1c,0x5)/Pci(0x0,0x0)</key>
<dict>
	<key>built-in</key>
	<data>
	AQ==
	</data>
</dict>

RevoBoot/i386/config/EFI/data.h example snippet:

#define	STATIC_EFI_DEVICE_PROPERTIES \
0x5e, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, \
0x01, 0x00, 0x00, 0x00, 0x02, 0x01, 0x0c, 0x00, 0xd0, 0x41, 0x03, 0x0a, 0x00, 0x00, 0x00, 0x00, \
0x01, 0x01, 0x06, 0x00, 0x05, 0x1c, 0x01, 0x01, 0x06, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x04, 0x00, \
0x16, 0x00, 0x00, 0x00, 0x62, 0x00, 0x75, 0x00, 0x69, 0x00, 0x6c, 0x00, 0x74, 0x00, 0x2d, 0x00, \
0x69, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x10, 0x01, 0x00, 0x00, 0x06, \
0x00, 0x00, 0x00, 0x02, 0x01, 0x0c, 0x00, 0xd0, 0x41, 0x03, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x01, \
0x01, 0x06, 0x00, 0x00, 0x01, 0x01, 0x01, 0x06, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x04, 0x00, 0x10, \
0x00, 0x00, 0x00, 0x6d, 0x00, 0x6f, 0x00, 0x64, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x16, \
0x00, 0x00, 0x00, 0x41, 0x4d, 0x44, 0x20, 0x52, 0x61, 0x64, 0x65, 0x6f, 0x6e, 0x20, 0x48, 0x44, \
0x20, 0x36, 0x38, 0x35, 0x30, 0x2e, 0x00, 0x00, 0x00, 0x40, 0x00, 0x30, 0x00, 0x2c, 0x00, 0x41, \
0x00, 0x41, 0x00, 0x50, 0x00, 0x4c, 0x00, 0x2c, 0x00, 0x62, 0x00, 0x6f, 0x00, 0x6f, 0x00, 0x74, \
0x00, 0x2d, 0x00, 0x64, 0x00, 0x69, 0x00, 0x73, 0x00, 0x70, 0x00, 0x6c, 0x00, 0x61, 0x00, 0x79, \
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x40, \
0x00, 0x30, 0x00, 0x2c, 0x00, 0x6e, 0x00, 0x61, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x00, 0x00, 0x10, \
0x00, 0x00, 0x00, 0x41, 0x54, 0x59, 0x2c, 0x44, 0x75, 0x63, 0x6b, 0x77, 0x65, 0x65, 0x64, 0x14, \
0x00, 0x00, 0x00, 0x40, 0x00, 0x33, 0x00, 0x2c, 0x00, 0x6e, 0x00, 0x61, 0x00, 0x6d, 0x00, 0x65, \
0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x41, 0x54, 0x59, 0x2c, 0x44, 0x75, 0x63, 0x6b, 0x77, \
0x65, 0x65, 0x64, 0x14, 0x00, 0x00, 0x00, 0x40, 0x00, 0x32, 0x00, 0x2c, 0x00, 0x6e, 0x00, 0x61, \
0x00, 0x6d, 0x00, 0x65, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x41, 0x54, 0x59, 0x2c, 0x44, \
0x75, 0x63, 0x6b, 0x77, 0x65, 0x65, 0x64, 0x14, 0x00, 0x00, 0x00, 0x40, 0x00, 0x31, 0x00, 0x2c, \
0x00, 0x6e, 0x00, 0x61, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x41, \
0x54, 0x59, 0x2c, 0x44, 0x75, 0x63, 0x6b, 0x77, 0x65, 0x65, 0x64, 0x3e, 0x00, 0x00, 0x00, 0x01, \
0x00, 0x00, 0x00, 0x02, 0x01, 0x0c, 0x00, 0xd0, 0x41, 0x03, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x01, \
0x01, 0x06, 0x00, 0x04, 0x1c, 0x01, 0x01, 0x06, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x04, 0x00, 0x12, \
0x00, 0x00, 0x00, 0x66, 0x00, 0x77, 0x00, 0x2d, 0x00, 0x68, 0x00, 0x75, 0x00, 0x62, 0x00, 0x00, \
0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, \
0x00, 0x02, 0x01, 0x0c, 0x00, 0xd0, 0x41, 0x03, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x06, \
0x00, 0x00, 0x1b, 0x7f, 0xff, 0x04, 0x00, 0x28, 0x00, 0x00, 0x00, 0x50, 0x00, 0x69, 0x00, 0x6e, \
0x00, 0x43, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x66, 0x00, 0x69, 0x00, 0x67, 0x00, 0x75, 0x00, 0x72, \
0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x00, 0x00, 0x05, \
0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x61, 0x00, 0x79, 0x00, 0x6f, 0x00, \
0x75, 0x00, 0x74, 0x00, 0x2d, 0x00, 0x69, 0x00, 0x64, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, \
0x7c, 0x03, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x73, 0x00, 0x75, 0x00, 0x62, 0x00, 0x73, 0x00, \
0x79, 0x00, 0x73, 0x00, 0x74, 0x00, 0x65, 0x00, 0x6d, 0x00, 0x2d, 0x00, 0x76, 0x00, 0x65, 0x00, \
0x6e, 0x00, 0x64, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x2d, 0x00, 0x69, 0x00, 0x64, 0x00, 0x00, 0x00, \
0x08, 0x00, 0x00, 0x00, 0x6b, 0x10, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x73, 0x00, 0x75, 0x00, \
0x62, 0x00, 0x73, 0x00, 0x79, 0x00, 0x73, 0x00, 0x74, 0x00, 0x65, 0x00, 0x6d, 0x00, 0x2d, 0x00, \
0x69, 0x00, 0x64, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00

Handy Scripts

RevoBoot/i386/config/EFI/xml2bin.sh

./gfxutil -i xml -o bin example.xml example.bin

RevoBoot/i386/config/EFI/bin2xml.sh

./gfxutil -i bin -o xml example.bin example.xml

RevoBoot/i386/config/EFI/create.sh

xxd -i -c 16 ./Desktop/example.bin | tail -n +2 | sed 'N;$!P;$!D;$d' | sed 's/$/ \\/' | sed '$s/.$//'