[转]DEADBEEF 是什么
我在uboot代码里看到,freescale系列cpu,总喜欢把ddr的值全部初始化为0xDEADBEEF。
直到最近,我看到谷歌面试题里居然也有问这个值的来历,才认真搜了一下,果然有历史渊源啊。
http://en.wikipedia.org/wiki/Hexspeak
Many computer processors, operating systems, and debuggers make use of magic numbers, especially as a magic debug value.
-
0x8BADF00D ("ate bad food") is used by Apple in iOS crash reports, when an application takes too long to launch, terminate, or respond to system events.[1]
-
0x1BADB002 ("1 bad boot"[2]) Multiboot header magic number.[3]
-
0xB16B00B5 ("big boobs") was required by Microsoft's Hyper-V hypervisor to be used by Linux guests as their "guest signature".[4] This offending code was later changed to 0x0DEFACED ("defaced").[5]
-
0xBAADF00D ("bad food") is used by Microsoft's LocalAlloc(LMEM_FIXED) to indicate uninitialised allocated heap memory when the debug heap is used.[6]
-
0xBADDCAFE ("bad cafe") is used by Libumem to indicate uninitialized memory area
-
0xCAFEBABE ("cafe babe") is used by Mach-O to identify Universal object files, and by the Java programming language to identify Java bytecodeclass files.[7]
-
0xCAFED00D ("Cafe Dude") is used by Java as a magic number for their pack200 compression.[8]
-
0xD15EA5E ("disease") is a flag that indicates regular boot on the Nintendo GameCube and Wii consoles.[9][10]
-
0xDEADBABE ("Dead Babe") is used by IBM Jikes RVM as a sanity check of the stack of the primary thread [11]
-
0xDEADBEEF ("dead beef") is frequently used to indicate a software crash or deadlock in embedded systems. DEADBEEF was originally used to mark newly allocated areas of memory that had not yet been initialized -- when scanning a memory dump, it is easy to see the DEADBEEF. It is used by IBM RS/6000 systems, Mac OS on 32-bit PowerPC processors and the Commodore Amiga as a magic debug value. On Sun Microsystems' Solaris, it marks freed kernel memory. On OpenVMS running on Alpha processors, DEAD_BEEF can be seen by pressing CTRL-T. The DEC Alpha SRM console has a background process that traps memory errors, identified by PS as "BeefEater waiting on 0xdeadbeef".[12]
-
0xDEADC0DE ("dead code") is used as a marker in OpenWRT firmware to signify the beginning of the to-be created jffs2 filesystem at the end of the static firmware.
-
0xDEADDEAD ("dead dead") is the bug check (STOP) code displayed when invoking a Blue Screen of Death either by telling the kernel via the attached debugger, or by using a special keystroke combination.[13] This is usually seen by driver developers, as it is used to get a memory dump on Windows NT based systems. An alternative to 0xDEADDEAD is the bug check code 0x000000E2,[14] as they are both called MANUALLY_INITIATED_CRASH as seen on the Microsoft Developer Network.
-
0xDEADFA11 ("dead fall") is used by Apple in iOS crash reports, when the user force quits an application.[1]
-
0xDEAD10CC ("dead lock") is used by Apple in iOS crash reports, when application holds on to a system resource while running in the background.[1]
-
0xDEFEC8ED ("defecated") is the magic number for OpenSolaris core dumps.[15]
-
0xFACEFEED ("face feed") is used by Alpha servers running Windows NT. The Alpha Hardware Abstraction Layer (HAL) generates this error when it encounters a hardware failure.[16]
-
0xFEE1DEAD ("feel dead") is used as a magic number in the Linux reboot system call.[17]
-
0xE011CFD0 is used as magic number for Microsoft Office files. In little endian this reads D0CF11E0, "docfile0".[18]
-
0x0000000FF1CE ("office") is used as the last part of product codes (guid) for Microsoft Office components (visible in registry under HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall registry key).
-
0x00BAB10C ("oo-ba-block") is used as the magic number for the ZFS uberblock.
-
C15C:0D06:F00D ("cisco dog food") used in the IPv6 address of www.cisco.com on World IPv6 Day. "Dog food" refers to Cisco eating its own dog foodwith IPv6.
-
face:b00c ("facebook") used in the IPv6 address of www.v6.facebook.com
-
0xDEADD00D ("dead dude") is used by Android in the Dalvik virtual machine to indicate a VM abort.
-
0xCEFAEDFE ("face feed") is used by Apple in iOS as a header for binary files. In little endian this reads FACEFEED, "Face Feed".
-
0xDABBAD00 ("dabba doo") is the name of a blog on computer security.[19]
-
0x1CEB00DA ("ice buddha") was used as the origin for the binary file parser IceBuddha.[20]