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

prom.c (973B)


      1// SPDX-License-Identifier: GPL-2.0-or-later
      2/*
      3 * Copyright (c) 2011 Zhang, Keguang <keguang.zhang@gmail.com>
      4 *
      5 * Modified from arch/mips/pnx833x/common/prom.c.
      6 */
      7
      8#include <linux/io.h>
      9#include <linux/init.h>
     10#include <linux/memblock.h>
     11#include <linux/serial_reg.h>
     12#include <asm/fw/fw.h>
     13
     14#include <loongson1.h>
     15
     16unsigned long memsize;
     17
     18void __init prom_init(void)
     19{
     20	void __iomem *uart_base;
     21
     22	fw_init_cmdline();
     23
     24	memsize = fw_getenvl("memsize");
     25	if(!memsize)
     26		memsize = DEFAULT_MEMSIZE;
     27
     28	if (strstr(arcs_cmdline, "console=ttyS3"))
     29		uart_base = ioremap(LS1X_UART3_BASE, 0x0f);
     30	else if (strstr(arcs_cmdline, "console=ttyS2"))
     31		uart_base = ioremap(LS1X_UART2_BASE, 0x0f);
     32	else if (strstr(arcs_cmdline, "console=ttyS1"))
     33		uart_base = ioremap(LS1X_UART1_BASE, 0x0f);
     34	else
     35		uart_base = ioremap(LS1X_UART0_BASE, 0x0f);
     36	setup_8250_early_printk_port((unsigned long)uart_base, 0, 0);
     37}
     38
     39void __init plat_mem_setup(void)
     40{
     41	memblock_add(0x0, (memsize << 20));
     42}