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

soc.c (737B)


      1// SPDX-License-Identifier: GPL-2.0-or-later
      2/*
      3 * Copyright (C) 2020 Western Digital Corporation or its affiliates.
      4 */
      5#include <linux/init.h>
      6#include <linux/libfdt.h>
      7#include <linux/pgtable.h>
      8#include <asm/soc.h>
      9
     10/*
     11 * This is called extremly early, before parse_dtb(), to allow initializing
     12 * SoC hardware before memory or any device driver initialization.
     13 */
     14void __init soc_early_init(void)
     15{
     16	void (*early_fn)(const void *fdt);
     17	const struct of_device_id *s;
     18	const void *fdt = dtb_early_va;
     19
     20	for (s = (void *)&__soc_early_init_table_start;
     21	     (void *)s < (void *)&__soc_early_init_table_end; s++) {
     22		if (!fdt_node_check_compatible(fdt, 0, s->compatible)) {
     23			early_fn = s->data;
     24			early_fn(fdt);
     25			return;
     26		}
     27	}
     28}