cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

init.c (1163B)


      1/*
      2 * This file is subject to the terms and conditions of the GNU General Public
      3 * License.  See the file "COPYING" in the main directory of this archive
      4 * for more details.
      5 *
      6 * PROM library initialisation code.
      7 *
      8 * Copyright (C) 1996 David S. Miller (davem@davemloft.net)
      9 */
     10#include <linux/init.h>
     11#include <linux/kernel.h>
     12
     13#include <asm/bootinfo.h>
     14#include <asm/sgialib.h>
     15#include <asm/smp-ops.h>
     16
     17#undef DEBUG_PROM_INIT
     18
     19/* Master romvec interface. */
     20struct linux_romvec *romvec;
     21
     22#if defined(CONFIG_64BIT) && defined(CONFIG_FW_ARC32)
     23/* stack for calling 32bit ARC prom */
     24u64 o32_stk[4096];
     25#endif
     26
     27void __init prom_init(void)
     28{
     29	PSYSTEM_PARAMETER_BLOCK pb = PROMBLOCK;
     30
     31	romvec = ROMVECTOR;
     32
     33	if (pb->magic != 0x53435241) {
     34		printk(KERN_CRIT "Aieee, bad prom vector magic %08lx\n",
     35		       (unsigned long) pb->magic);
     36		while(1)
     37			;
     38	}
     39
     40	prom_init_cmdline(fw_arg0, (LONG *)fw_arg1);
     41	prom_identify_arch();
     42	printk(KERN_INFO "PROMLIB: ARC firmware Version %d Revision %d\n",
     43	       pb->ver, pb->rev);
     44	prom_meminit();
     45
     46#ifdef DEBUG_PROM_INIT
     47	pr_info("Press a key to reboot\n");
     48	ArcRead(0, &c, 1, &cnt);
     49	ArcEnterInteractiveMode();
     50#endif
     51}