1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) 4 */ 5 #ifndef __ASM_ARC_SETUP_H 6 #define __ASM_ARC_SETUP_H 7 8 9 #include <linux/types.h> 10 #include <uapi/asm/setup.h> 11 12 #define COMMAND_LINE_SIZE 256 13 14 /* 15 * Data structure to map a ID to string 16 * Used a lot for bootup reporting of hardware diversity 17 */ 18 struct id_to_str { 19 int id; 20 const char *str; 21 }; 22 23 extern int root_mountflags, end_mem; 24 25 void setup_processor(void); 26 void __init setup_arch_memory(void); 27 long __init arc_get_mem_sz(void); 28 29 /* Helpers used in arc_*_mumbojumbo routines */ 30 #define IS_AVAIL1(v, s) ((v) ? s : "") 31 #define IS_DISABLED_RUN(v) ((v) ? "" : "(disabled) ") 32 #define IS_USED_RUN(v) ((v) ? "" : "(not used) ") 33 #define IS_USED_CFG(cfg) IS_USED_RUN(IS_ENABLED(cfg)) 34 #define IS_AVAIL2(v, s, cfg) IS_AVAIL1(v, s), IS_AVAIL1(v, IS_USED_CFG(cfg)) 35 #define IS_AVAIL3(v, v2, s) IS_AVAIL1(v, s), IS_AVAIL1(v, IS_DISABLED_RUN(v2)) 36 37 extern void arc_mmu_init(void); 38 extern char *arc_mmu_mumbojumbo(int cpu_id, char *buf, int len); 39 extern void read_decode_mmu_bcr(void); 40 41 extern void arc_cache_init(void); 42 extern char *arc_cache_mumbojumbo(int cpu_id, char *buf, int len); 43 extern void read_decode_cache_bcr(void); 44 45 #endif /* __ASMARC_SETUP_H */ 46