Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/arch/mips/cobalt/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 2 kB image not shown  

Quelle  setup.c   Sprache: C

 
/*
 * Setup pointers to hardware dependent routines.
 *
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file "COPYING" in the main directory of this archive
 * for more details.
 *
 * Copyright (C) 1996, 1997, 2004, 05 by Ralf Baechle (ralf@linux-mips.org)
 * Copyright (C) 2001, 2002, 2003 by Liam Davies (ldavies@agile.tv)
 *
 */

#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/ioport.h>
#include <linux/memblock.h>
#include <linux/pm.h>

#include <asm/bootinfo.h>
#include <asm/reboot.h>
#include <asm/setup.h>
#include <asm/gt64120.h>

#include <cobalt.h>

const char *get_system_type(void)
{
 switch (cobalt_board_id) {
  case COBALT_BRD_ID_QUBE1:
   return "Cobalt Qube";
  case COBALT_BRD_ID_RAQ1:
   return "Cobalt RaQ";
  case COBALT_BRD_ID_QUBE2:
   return "Cobalt Qube2";
  case COBALT_BRD_ID_RAQ2:
   return "Cobalt RaQ2";
 }
 return "MIPS Cobalt";
}

/*
 * Cobalt doesn't have PS/2 keyboard/mouse interfaces,
 * keyboard controller is never used.
 * Also PCI-ISA bridge DMA controller is never used.
 */

static struct resource cobalt_reserved_resources[] = {
 { /* dma1 */
  .start = 0x00,
  .end = 0x1f,
  .name = "reserved",
  .flags = IORESOURCE_BUSY | IORESOURCE_IO,
 },
 { /* keyboard */
  .start = 0x60,
  .end = 0x6f,
  .name = "reserved",
  .flags = IORESOURCE_BUSY | IORESOURCE_IO,
 },
 { /* dma page reg */
  .start = 0x80,
  .end = 0x8f,
  .name = "reserved",
  .flags = IORESOURCE_BUSY | IORESOURCE_IO,
 },
 { /* dma2 */
  .start = 0xc0,
  .end = 0xdf,
  .name = "reserved",
  .flags = IORESOURCE_BUSY | IORESOURCE_IO,
 },
};

void __init plat_mem_setup(void)
{
 int i;

 _machine_restart = cobalt_machine_restart;
 _machine_halt = cobalt_machine_halt;
 pm_power_off = cobalt_machine_halt;

 set_io_port_base(CKSEG1ADDR(GT_DEF_PCI0_IO_BASE));

 /* I/O port resource */
 ioport_resource.end = 0x01ffffff;

 /* These resources have been reserved by VIA SuperI/O chip. */
 for (i = 0; i < ARRAY_SIZE(cobalt_reserved_resources); i++)
  request_resource(&ioport_resource, cobalt_reserved_resources + i);
}

/*
 * Prom init. We read our one and only communication with the firmware.
 * Grab the amount of installed memory.
 * Better boot loaders (CoLo) pass a command line too :-)
 */


void __init prom_init(void)
{
 unsigned long memsz;
 int argc, i;
 char **argv;

 memsz = fw_arg0 & 0x7fff0000;
 argc = fw_arg0 & 0x0000ffff;
 argv = (char **)fw_arg1;

 for (i = 1; i < argc; i++) {
  strlcat(arcs_cmdline, argv[i], COMMAND_LINE_SIZE);
  if (i < (argc - 1))
   strlcat(arcs_cmdline, " ", COMMAND_LINE_SIZE);
 }

 memblock_add(0, memsz);

 setup_8250_early_printk_port(CKSEG1ADDR(0x1c800000), 0, 0);
}

Messung V0.5
C=98 H=88 G=93

¤ Dauer der Verarbeitung: 0.2 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.