1N/A/* common.c - miscellaneous shared variables and routines */ 1N/A * GRUB -- GRand Unified Bootloader 1N/A * Copyright (C) 1999,2000,2001,2002,2004 Free Software Foundation, Inc. 1N/A * This program is free software; you can redistribute it and/or modify 1N/A * it under the terms of the GNU General Public License as published by 1N/A * the Free Software Foundation; either version 2 of the License, or 1N/A * (at your option) any later version. 1N/A * This program is distributed in the hope that it will be useful, 1N/A * but WITHOUT ANY WARRANTY; without even the implied warranty of 1N/A * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1N/A * GNU General Public License for more details. 1N/A * You should have received a copy of the GNU General Public License 1N/A * along with this program; if not, write to the Free Software 1N/A * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 1N/A#
endif /* SOLARIS_NETBOOT */ 1N/A/* This saves the maximum size of extended memory (in KB). */ 1N/A "Filename must be either an absolute pathname or blocklist",
1N/A "Filesystem compatibility error, cannot read whole file",
1N/A [
ERR_GEOM] =
"Selected cylinder exceeds maximum supported by BIOS",
1N/A /* this zfs file system is not found in the pool of the device */ 1N/A [
ERR_NO_BOOTPATH] =
"No valid boot path found in the zfs label. This may be caused by attempting to boot from an off-lined device.",
1N/A/* static for BIOS memory map fakery */ 1N/A/* A big problem is that the memory areas aren't guaranteed to be: 1N/A (1) contiguous, (2) sorted in ascending order, or (3) non-overlapping. 1N/A Thus this kludge. */ 1N/A /* For now, GRUB assumes 32bits addresses, so... */ 1N/A#
endif /* ! STAGE1_5 */ 1N/A/* This queries for BIOS information. */ 1N/A * Get information from BIOS on installed RAM. 1N/A * We need to call this somewhere before trying to put data 1N/A * above 1 MB, since without calling it, address line 20 will be wired 1N/A * to 0. Not too desirable. 1N/A /* Store the size of extended memory in EXTENDED_MEMORY, in order to 1N/A tell it to non-Multiboot OSes. */ 1N/A * The "mbi.mem_upper" variable only recognizes upper memory in the 1N/A * first memory region. If there are multiple memory regions, 1N/A * the rest are reported to a Multiboot-compliant OS, but otherwise 1N/A /* If the returned buffer's length is zero, quit. */ 1N/A * This is to get the lower memory, and upper memory (up to the 1N/A * first memory hole), into the "mbi.mem_{lower,upper}" 1N/A * elements. This is for OS's that don't care about the memory 1N/A * map, but might care about total RAM available. 1N/A /* Find the maximum available address. Ignore any memory holes. */ 1N/A /* XXX should I do this at all ??? */ 1N/A /* leave room for dhcpack_buf */ 1N/A /* Get the drive info. */ 1N/A /* FIXME: This should be postponed until a Multiboot kernel actually 1N/A requires it, because this could slow down the start-up 1N/A /* For now, GRUB doesn't probe floppies, since it is trivial to map 1N/A floppy drives to BIOS drives. */ 1N/A /* Get the geometry. This ensures that the drive is present. */ 1N/A /* Clean out the I/O map. */ 1N/A /* Disable to probe I/O ports temporarily, because this doesn't 1N/A work with some BIOSes (maybe they are too buggy). */ 1N/A /* Track the int13 handler. */ 1N/A /* Set the information. */ 1N/A /* Get the ROM configuration table by INT 15, AH=C0h. */ 1N/A /* Set the boot loader name. */ 1N/A /* Get the APM BIOS table. */ 1N/A * Initialize other Multiboot Info flags. 1N/A#
endif /* STAGE1_5 */ 1N/A /* Set boot drive and partition. */ 1N/A /* Set cdrom drive. */ 1N/A /* Get the geometry. */ 1N/A /* Start main routine here. */