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

machtype.c (1467B)


      1// SPDX-License-Identifier: GPL-2.0-or-later
      2/*
      3 * Copyright (C) 2009 Lemote Inc.
      4 * Author: Wu Zhangjin, wuzhangjin@gmail.com
      5 *
      6 * Copyright (c) 2009 Zhang Le <r0bertz@gentoo.org>
      7 */
      8#include <linux/errno.h>
      9#include <asm/bootinfo.h>
     10
     11#include <loongson.h>
     12#include <machine.h>
     13
     14/* please ensure the length of the machtype string is less than 50 */
     15#define MACHTYPE_LEN 50
     16
     17static const char *system_types[] = {
     18	[MACH_LOONGSON_UNKNOWN]	= "unknown loongson machine",
     19	[MACH_LEMOTE_FL2E]	= "lemote-fuloong-2e-box",
     20	[MACH_LEMOTE_FL2F]	= "lemote-fuloong-2f-box",
     21	[MACH_LEMOTE_ML2F7]	= "lemote-mengloong-2f-7inches",
     22	[MACH_LEMOTE_YL2F89]	= "lemote-yeeloong-2f-8.9inches",
     23	[MACH_DEXXON_GDIUM2F10]	= "dexxon-gdium-2f",
     24	[MACH_LEMOTE_NAS]	= "lemote-nas-2f",
     25	[MACH_LEMOTE_LL2F]	= "lemote-lynloong-2f",
     26	[MACH_LOONGSON_END]	= NULL,
     27};
     28
     29const char *get_system_type(void)
     30{
     31	return system_types[mips_machtype];
     32}
     33
     34void __weak __init mach_prom_init_machtype(void)
     35{
     36}
     37
     38void __init prom_init_machtype(void)
     39{
     40	char *p, str[MACHTYPE_LEN + 1];
     41	int machtype = MACH_LEMOTE_FL2E;
     42
     43	mips_machtype = LOONGSON_MACHTYPE;
     44
     45	p = strstr(arcs_cmdline, "machtype=");
     46	if (!p) {
     47		mach_prom_init_machtype();
     48		return;
     49	}
     50	p += strlen("machtype=");
     51	strncpy(str, p, MACHTYPE_LEN);
     52	str[MACHTYPE_LEN] = '\0';
     53	p = strstr(str, " ");
     54	if (p)
     55		*p = '\0';
     56
     57	for (; system_types[machtype]; machtype++)
     58		if (strstr(system_types[machtype], str)) {
     59			mips_machtype = machtype;
     60			break;
     61		}
     62}