coreboot/payloads/libpayload/include/sysinfo.h
<<
>>
Prefs
   1/*
   2 * This file is part of the libpayload project.
   3 *
   4 * Copyright (C) 2008 Advanced Micro Devices, Inc.
   5 *
   6 * Redistribution and use in source and binary forms, with or without
   7 * modification, are permitted provided that the following conditions
   8 * are met:
   9 * 1. Redistributions of source code must retain the above copyright
  10 *    notice, this list of conditions and the following disclaimer.
  11 * 2. Redistributions in binary form must reproduce the above copyright
  12 *    notice, this list of conditions and the following disclaimer in the
  13 *    documentation and/or other materials provided with the distribution.
  14 * 3. The name of the author may not be used to endorse or promote products
  15 *    derived from this software without specific prior written permission.
  16 *
  17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  20 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  27 * SUCH DAMAGE.
  28 */
  29
  30#ifndef _SYSINFO_H
  31#define _SYSINFO_H
  32
  33/* Allow a maximum of 16 memory range definitions. */
  34#define SYSINFO_MAX_MEM_RANGES 16
  35
  36struct sysinfo_t {
  37        unsigned int cpu_khz;
  38        unsigned short ser_ioport;
  39        unsigned long ser_base; // for mmapped serial
  40
  41        int n_memranges;
  42
  43        struct memrange {
  44                unsigned long long base;
  45                unsigned long long size;
  46                unsigned int type;
  47        } memrange[SYSINFO_MAX_MEM_RANGES];
  48
  49        struct cb_cmos_option_table *option_table;
  50        u32 cmos_range_start;
  51        u32 cmos_range_end;
  52        u32 cmos_checksum_location;
  53
  54        struct cb_framebuffer *framebuffer;
  55
  56        unsigned long *mbtable; /** Pointer to the multiboot table */
  57};
  58
  59extern struct sysinfo_t lib_sysinfo;
  60
  61#endif
  62
  63
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.