Lines Matching +full:se +full:- +full:pos
1 // SPDX-License-Identifier: GPL-2.0-or-later
11 * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se>
13 * This file handles the architecture-dependent parts of initialization
71 * initialize the boot-time allocator (with low memory only). in setup_memory()
76 memblock_reserve(__pa(_stext), _end - _stext); in setup_memory()
84 memblock_reserve(__pa(aligned_start), aligned_end - aligned_start); in setup_memory()
107 printk(KERN_INFO "CPU: OpenRISC-%x (revision %d) @%d MHz\n", in print_cpuinfo()
108 version, revision, cpuinfo->clock_frequency / 1000000); in print_cpuinfo()
112 "-- no UPR register... unable to detect configuration\n"); in print_cpuinfo()
118 "-- dcache: %4d bytes total, %2d bytes/line, %d way(s)\n", in print_cpuinfo()
119 cpuinfo->dcache_size, cpuinfo->dcache_block_size, in print_cpuinfo()
120 cpuinfo->dcache_ways); in print_cpuinfo()
122 printk(KERN_INFO "-- dcache disabled\n"); in print_cpuinfo()
125 "-- icache: %4d bytes total, %2d bytes/line, %d way(s)\n", in print_cpuinfo()
126 cpuinfo->icache_size, cpuinfo->icache_block_size, in print_cpuinfo()
127 cpuinfo->icache_ways); in print_cpuinfo()
129 printk(KERN_INFO "-- icache disabled\n"); in print_cpuinfo()
132 printk(KERN_INFO "-- dmmu: %4d entries, %lu way(s)\n", in print_cpuinfo()
136 printk(KERN_INFO "-- immu: %4d entries, %lu way(s)\n", in print_cpuinfo()
140 printk(KERN_INFO "-- additional features:\n"); in print_cpuinfo()
142 printk(KERN_INFO "-- debug unit\n"); in print_cpuinfo()
144 printk(KERN_INFO "-- performance counters\n"); in print_cpuinfo()
146 printk(KERN_INFO "-- power management\n"); in print_cpuinfo()
148 printk(KERN_INFO "-- PIC\n"); in print_cpuinfo()
150 printk(KERN_INFO "-- timer\n"); in print_cpuinfo()
152 printk(KERN_INFO "-- custom unit(s)\n"); in print_cpuinfo()
168 cpuinfo->icache_ways = 1 << (iccfgr & SPR_ICCFGR_NCW); in setup_cpuinfo()
170 cpuinfo->icache_block_size = 16 << ((iccfgr & SPR_ICCFGR_CBS) >> 7); in setup_cpuinfo()
171 cpuinfo->icache_size = in setup_cpuinfo()
172 cache_set_size * cpuinfo->icache_ways * cpuinfo->icache_block_size; in setup_cpuinfo()
175 cpuinfo->dcache_ways = 1 << (dccfgr & SPR_DCCFGR_NCW); in setup_cpuinfo()
177 cpuinfo->dcache_block_size = 16 << ((dccfgr & SPR_DCCFGR_CBS) >> 7); in setup_cpuinfo()
178 cpuinfo->dcache_size = in setup_cpuinfo()
179 cache_set_size * cpuinfo->dcache_ways * cpuinfo->dcache_block_size; in setup_cpuinfo()
181 if (of_property_read_u32(cpu, "clock-frequency", in setup_cpuinfo()
182 &cpuinfo->clock_frequency)) { in setup_cpuinfo()
184 "Device tree missing CPU 'clock-frequency' parameter." in setup_cpuinfo()
189 cpuinfo->coreid = mfspr(SPR_COREID); in setup_cpuinfo()
203 * Falls back on built-in device tree in case null pointer is passed.
212 pr_info("Compiled-in FDT at %p\n", fdt); in or1k_early_setup()
245 val = of_get_property(cpu, "clock-frequency", NULL); in calibrate_delay()
247 panic("no cpu 'clock-frequency' parameter in device tree"); in calibrate_delay()
279 (void *)(initrd_start), initrd_end - initrd_start); in setup_arch()
289 printk(KERN_INFO "OpenRISC Linux -- http://openrisc.io\n"); in setup_arch()
303 seq_printf(m, "processor\t\t: %d\n", cpuinfo->coreid); in show_cpuinfo()
310 "OpenRISC 1000 (%d.%d-rev%d)\n", in show_cpuinfo()
319 seq_printf(m, "cpu\t\t\t: OpenRISC-%x\n", version); in show_cpuinfo()
323 seq_printf(m, "dcache size\t\t: %d bytes\n", cpuinfo->dcache_size); in show_cpuinfo()
325 cpuinfo->dcache_block_size); in show_cpuinfo()
326 seq_printf(m, "dcache ways\t\t: %d\n", cpuinfo->dcache_ways); in show_cpuinfo()
327 seq_printf(m, "icache size\t\t: %d bytes\n", cpuinfo->icache_size); in show_cpuinfo()
329 cpuinfo->icache_block_size); in show_cpuinfo()
330 seq_printf(m, "icache ways\t\t: %d\n", cpuinfo->icache_ways); in show_cpuinfo()
354 static void *c_start(struct seq_file *m, loff_t *pos) in c_start() argument
356 *pos = cpumask_next(*pos - 1, cpu_online_mask); in c_start()
357 if ((*pos) < nr_cpu_ids) in c_start()
358 return &cpuinfo_or1k[*pos]; in c_start()
362 static void *c_next(struct seq_file *m, void *v, loff_t *pos) in c_next() argument
364 (*pos)++; in c_next()
365 return c_start(m, pos); in c_next()