2N/A/* init.c -- Initialize GRUB on the newworld mac (PPC). */ 2N/A * GRUB -- GRand Unified Bootloader 2N/A * Copyright (C) 2003,2004,2005,2007,2008,2009 Free Software Foundation, Inc. 2N/A * GRUB is free software: you can redistribute it and/or modify 2N/A * it under the terms of the GNU General Public License as published by 2N/A * the Free Software Foundation, either version 3 of the License, or 2N/A * (at your option) any later version. 2N/A * GRUB is distributed in the hope that it will be useful, 2N/A * but WITHOUT ANY WARRANTY; without even the implied warranty of 2N/A * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 2N/A * GNU General Public License for more details. 2N/A * You should have received a copy of the GNU General Public License 2N/A/* The minimal heap size we can live with. */ 2N/A/* The maximum heap size we're going to claim */ 2N/A/* If possible, we will avoid claiming heap above this address, because it 2N/A seems to cause relocation problems with OSes that link at 4 MiB */ 2N/A/* Translate an OF filesystem path (separated by backslashes), into a GRUB 2N/A path (separated by forward slashes). */ 2N/A /* Should never happen. */ 2N/A /* Transform an OF device path to a GRUB path. */ 2N/A /* Truncate at last directory. */ 2N/A/* Claim some available memory in the first /memory node. */ 2N/A len -=
1;
/* Required for some firmware. */ 2N/A /* Never exceed HEAP_MAX_SIZE */ 2N/A /* Avoid claiming anything above HEAP_MAX_ADDR, if possible. */ 2N/A /* In theory, firmware should already prevent this from happening by not 2N/A as a safeguard in case that doesn't happen. However, it doesn't protect 2N/A us from corrupting our module area, which extends up to a 2N/A yet-undetermined region above _end. */ 2N/A /* Claim and use it. */ 2N/A "failed to claim heap at 0x%llx, len 0x%llx",
2N/A i =
actual;
/* No more commands after this one. */ 2N/A /* Process command. */