summaryrefslogtreecommitdiff
path: root/util
AgeCommit message (Collapse)Author
2010-01-29Add the BSD-licensed getopt tool to crossgcc, to usePatrick Georgi
if there's no native getopt around. Use $PATCH instead of the hardcoded "patch" for patching files (after we already looked it up) Ignore various temporary files via svn:ignore Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Ronald G. Minnich <rminnich@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5063 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-26use stdint types for structures, and don't use pointersStefan Reinauer
for fields defined 32bit in the multi processor specification. Also, fix lots of trivial warnings in the code. If you ever wondered, why you get odd or wrong mp tables on your x64 system: It's not because bios vendors neglected mp tables; it's because we neglected 64bit systems. ;-) Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5056 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-25More Kconfig changes to improve match with newconfig:Patrick Georgi
DIMM_SUPPORT APIC_ID_OFFSET ACPI_SSDTX_NUM IRQ_SLOT_COUNT MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID (except msi/ms9185) MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID MEM_TRAIN_SEQ HAVE_ACPI_RESUME Also remove MMX (kconfig specific) and HAVE_MOVNTI and IOAPIC (which we deliberately differ in kconfig) from compareboard report. Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5052 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-24Document CONFIG_PCI usage in the README (trivial).Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5050 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-24Update list of superiotool contributors to r5048 (trivial).Uwe Hermann
The list is mostly generated by grepping for Signed-off-by in 'svn log'. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5049 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-24Add missing files from the last commit (trivial).Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5048 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-24Add VIA VT82C686A/VT82C686B detection support to superiotool.Carl-Daniel Hailfinger
This adds an additional requirement to superiotool: libpci. The PCI code is conditional on PCI_SUPPORT. You can set the CONFIG_PCI variable in the Makefile to 'no' to disable it. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5047 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-23Add detection support for the Winbond W83667HG Super I/O.David Bartley
$ sudo ./superiotool superiotool r4931 Found Winbond W83667HG (id=0xa5, rev=0x13) at 0x2e Details: http://lists.lm-sensors.org/pipermail/lm-sensors/2008-July/023683.html Signed-off-by: David Bartley <dtbartle@csclub.uwaterloo.ca> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5046 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-23Add detection support for ITE IT8510E/TE/G and IT8511E/TE/G.Anders Juel Jensen
Signed-off-by: Anders Juel Jensen <andersjjensen@gmail.com> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5045 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-19dev->rom_address was dropped a while ago which broke yabel. This patch fixes itStefan Reinauer
again. Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5041 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-19drop COREBOOT_V2 and COREBOOT_V4 define. We're not sharing code with v3Stefan Reinauer
anymore so this ugly hack is no longer needed. Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5040 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-17msrtool: Fix typoPaul Menzel
Trivial! Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5034 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-17msrtool: Read both MSR values from file in diff modePeter Stuge
Previously, msrtool would assume that MSR values should be compared between stored value in file and current value in hardware which msrtool was running on. This does not always fit the use case and with this change msrtool can now compare two sets of MSR values stored in a file. If only one MSR value is stored in the file, msrtool will behave as before, and read the second MSR value from hardware. This change means that msrtool does not always need access to the system MSR functions so it can now be run as a regular user when using diff mode with both MSR values stored in the file. Signed-off-by: Peter Stuge <peter@stuge.se> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5033 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-17msrtool: Add endptr to str2msr() showing how many characters were parsedPeter Stuge
This also introduces a small change in the user interface for immediate mode (-i). Previously, whitespace could separate high and low words in an MSR as such: msrtool -i 4c00000f='f2f100ff 56960004' That is no longer allowed, a space character now ends the MSR value. Any other character can still be used as separator however, so the following syntax still works as expected: msrtool -i 4c00000f=f2f100ff:56960004 Signed-off-by: Peter Stuge <peter@stuge.se> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5032 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-16msrtool: More trivial rearrangementPeter Stuge
Rename some variables Remove the 'found' variable which turns out not to be needed anyway Signed-off-by: Peter Stuge <peter@stuge.se> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5024 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-16ectool: Support for dumping EC "index ram"Stefan Reinauer
Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Ronald G. Minnich <rminnich@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5021 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-16msrtool: Remove indent by using continue inside for() to avoid an if blockPeter Stuge
The only actual code change is from if (.. >= 1) { } to if (.. < 1) continue so this is pretty trivial. Signed-off-by: Peter Stuge <peter@stuge.se> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5020 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-16Update reference toolchain toStefan Reinauer
gcc 4.4.2 binutils 2.20 gdb 7.0 and add mingw support. Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Patrick Georgi <patrick.georgi@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5019 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-16nvramtool: Consider a string with non-printable characters a "bad value".Stefan Reinauer
Otherwise nvramtool -a with random cmos contents can mess up your terminal. Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Patrick Georgi <patrick.georgi@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5015 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-15(missing svn add)Nils Jacobs
Support for the AMD Geode GX2 Processors to Msrtool. It seems to work as it was tested on a Wyse Winterm S50. Signed-off-by: Nils Jacobs <njacobs8@hetnet.nl> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5009 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-15Support for the AMD Geode GX2 Nils Jacobs
Processors to Msrtool. It seems to work as it was tested on a Wyse Winterm S50. Signed-off-by: Nils Jacobs <njacobs8@hetnet.nl> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5008 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-13indent all of nvramtool to make it fit into coreboot'sStefan Reinauer
coding style Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5007 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-08- Makefile.romccboard.inc supports tinybootblock romcc boards, too.Patrick Georgi
- via/epia-cn is a romcc board, not a CAR board. (Thanks Kevin, for the report) - Make emulation/qemu-x86, dell/s1850, via/epia-cn use Makefile.romccboard.inc - New flag: BIG_BOOTBLOCK, which is always the inverse of tinybootblock Suitable for Makefile.inc rules (foo-$(CONFIG_BIG_BOOTBLOCK) += ...) Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5005 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-07Print (empty) instead of nothing at all for emptyMaciej Pijanka
filename entries (particularily "null" files) Signed-off-by: Maciej Pijanka <maciej.pijanka@gmail.com> Acked-by: Patrick Georgi <patrick.georgi@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5004 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2010-01-05* Explicitly add __PRE_RAM__ where it should be added.Stefan Reinauer
* Don't implicitly add __PRE_RAM__ in romcc. Fixes intel/xe7501devkit Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Ronald G. Minnich <rminnich@gmail.com> Acked-by: Patrick Georgi <patrick.georgi@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4998 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-12-31romcc:Patrick Georgi
- Set __PRE_RAM__ define per default - Properly handle ignored (#ifdef'd out) #include lines amd/serengeti_cheetah_fam10: - write ACPI files to $(obj) instead of the top dir (alias $(CURDIR)) tinybootblock: - provide a way to define code that should be added to the bootblock, to map the entire ROM for use by CBFS amd/model_fxx, amd/model_10xxx: - add CONFIG_SSE walkcbfs.S: - eliminate the use of two registers, to make space for romcc to wiggle amd/serengeti_cheetah_fam10: - use the enable_rom framework. not entirely functional yet Boot-tested on emulation/qemu-x86 Build-tested on amd/serengeti_cheetah_fam10 amd/serengeti_cheetah_fam10 fails in amdht/ somewhere, but builds Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Ronald G. Minnich <rminnich@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4994 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-12-23Add mainboard x86emu interrupt function support. Add tim5690 VGA BIOS ↵Libra Li
functions: int15 getting LCD panel ID. Signed-off-by: Libra Li <libra.li@technexion.com> Acked-by: Marc Jones <marcj303@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4990 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-12-23Tiny Bootblock, step 1/n.Patrick Georgi
Introduce the tiny bootblock infrastructure and use it on QEmu. Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Myles Watson <mylesgw@gmail.com> Acked-by: Ronald G. Minnich <rminnich@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4989 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-12-21make strcmp happy by including string.h (trivial)Stefan Reinauer
Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4988 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-12-21Allow user to specify the size of a newly created cbfs imagePatrick Georgi
to be stated in kilobytes or megabytes. Usage is cbfstool coreboot.rom create 1048576 coreboot.bootblock cbfstool coreboot.rom create 1024k coreboot.bootblock cbfstool coreboot.rom create 1m coreboot.bootblock to get an 1048576 bytes = 1024kb = 1mb image. Kconfig also uses this instead of calculating bytes from kilobytes itself. Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4987 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-12-18CONFIG_K8_MEM_BANK_B_ONLY and CONFIG_PCIE_CONFIGSPACE_HOLE aren't used ↵Patrick Georgi
_anywhere_, so drop them from view (they could be dropped from newconfig, too - but why bother?) trivial Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Patrick Georgi <patrick.georgi@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4984 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-12-18Filter out some more K8/Fam10 specific options on unrelated boards.Patrick Georgi
Trivial. Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Patrick Georgi <patrick.georgi@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4983 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-12-18- speed up board comparison by only building abuild configs, not the wholeStefan Reinauer
target. - use a template for mktemp (fixes OSX error) - convert all numbers to hex to make comparison easier. Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4982 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-12-17Make "KBuild report" a bit happierStefan Reinauer
- drop some unused options from "newconfig" - filter some Kconfig only options from the report - drop targets directory of a non existent mainboard. (trivial) Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4981 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-12-13crossgcc: Fix MPFR download locationPeter Stuge
We want to download a specific version so fetch it from the right directory. Signed-off-by: Peter Stuge <peter@stuge.se> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4977 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-12-06cbfstool: Fill memory allocated in create_cbfs_file() with 0xffPeter Stuge
This should improve programming speed a bit. Signed-off-by: Peter Stuge <peter@stuge.se> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4975 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-12-01Eliminate some noise in the output of compareboard on non-K8/Fam10h boardsPatrick Georgi
Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4972 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-11-28msrtool: Fix simple breakage in r4964Peter Stuge
Signed-off-by: Peter Stuge <peter@stuge.se> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4966 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-11-28msrtool: Add FreeBSD support using /dev/cpuctl ioctl interfaceAndriy Gapon
Signed-off-by: Andriy Gapon <avg@icyb.net.ua> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4965 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-11-28msrtool: Make configure more POSIX sh friendlyAndriy Gapon
Change a few bash-specific constructs to more portable syntax specified by POSIX. After the change the script keeps working with bash interpreter and can also be interpreted by FreeBSD /bin/sh. Signed-off-by: Andriy Gapon <avg@icyb.net.ua> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4964 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-11-28msrtool: Actually do PREFIX substitution in MakefilePeter Stuge
Signed-off-by: Peter Stuge <peter@stuge.se> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4963 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-11-26Remove commented out example MSR definitionsPeter Stuge
Now there are definitions for actual MSRs that can be referenced instead. Signed-off-by: Peter Stuge <peter@stuge.se> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4958 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-11-26Add the following GeodeLX memory controller MSRsNathan Williams
0x20000018 MC_CF07_DATA 0x20000019 MC_CF8F_DATA 0x2000001a MC_CF1017_DATA 0x2000001b MC_CFPERF_CNT1 0x2000001c MC_PERFCNT2 0x2000001d MC_CFCLK_DBUG Signed-off-by: Nathan Williams <nathan@traverse.com.au> Signed-off-by: Peter Stuge <peter@stuge.se> Acked-by: Nathan Williams <nathan@traverse.com.au> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4957 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-11-25msrtool: Fix Geode LX probe function, Family/Model were swappedPeter Stuge
Signed-off-by: Peter Stuge <peter@stuge.se> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4953 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-11-21Make the kconfig-style build work in mingw:Patrick Georgi
* use relative paths in ldscript.ld and crt0_includes.h * avoid use of dd(1) in xcompile * build libregex for kconfig, if necessary * work around missing utsname on win32 * unlink targets before rename on win32 * implement (crude) mkstemp for win32 * avoid open/read/close, use fopen/fread/fclose instead * don't free certain data structures in romcc on win32 to avoid crashes (likely use-after-free()) * handle "\CRLF" and win32 style absolute paths (X:/ or X:\) in romcc * make lzma (part of cbfstool) build on XP * implement ntohl/htonl on win32 * handle CRLF in awk script * set larger stack for romcc on win32 Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4952 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-11-21Add GLCP_SYS_RSTPLL MSR defines for GeodeLXPeter Stuge
Signed-off-by: Peter Stuge <peter@stuge.se> Acked-by: Nathan Williams <nathan@traverse.com.au> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4951 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-11-17Initialize memory before using it. put_bits wants it that way.Patrick Georgi
Trivial. Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Patrick Georgi <patrick.georgi@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4946 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-11-16msrtool: Add comment with DirectIO URL to the code where it is used.Peter Stuge
Signed-off-by: Peter Stuge <peter@stuge.se> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4945 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-11-12Cosmetics (trivial).Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4942 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-11-12Print size of file on cbfs_add_file failure. The size of the file afterMyles Watson
compression is nice to know. Trivial Signed-off-by: Myles Watson <mylesgw@gmail.com> Acked-by: Myles Watson <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4941 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1