Lines Matching +full:console +full:- +full:size
1 // SPDX-License-Identifier: GPL-2.0
25 #include <linux/console.h>
61 #include <asm/console.h>
86 * Using SRM callbacks for initial console output. This works from
92 * console device is "registered" during console_init().
95 * the console drivers. That's the last possible time srmcons can be
96 * unregistered without interfering with console behavior.
99 * "console=srm". The meaning of these two args is:
100 * "srmcons" - early callback prints
101 * "console=srm" - full callback based console, including early prints
105 /* Enforce a memory size limit; useful for testing. By default, none. */
108 /* Set AGP GART window size (0 means disabled). */
136 * i386-setup code. This is just enough to make the console
227 { .name = "rtc", .start = -1, .end = -1 }, in reserve_std_resources()
242 for (hose = hose_head; hose; hose = hose->next) in reserve_std_resources()
243 if (hose->index == 0) { in reserve_std_resources()
244 io = hose->io_space; in reserve_std_resources()
259 for ((_cluster) = (memdesc)->cluster, (i) = 0; \
260 (i) < (memdesc)->numclusters; (i)++, (_cluster)++)
287 unsigned long size; in move_initrd() local
289 size = initrd_end - initrd_start; in move_initrd()
290 start = memblock_alloc(PAGE_ALIGN(size), PAGE_SIZE); in move_initrd()
291 if (!start || __pa(start) + size > mem_limit) { in move_initrd()
295 memmove(start, (void *)initrd_start, size); in move_initrd()
297 initrd_end = initrd_start + size; in move_initrd()
313 (hwrpb->mddt_offset + (unsigned long) hwrpb); in setup_memory()
319 i, cluster->usage, cluster->start_pfn, in setup_memory()
320 cluster->start_pfn + cluster->numpages); in setup_memory()
322 end = cluster->start_pfn + cluster->numpages; in setup_memory()
326 memblock_add(PFN_PHYS(cluster->start_pfn), in setup_memory()
327 cluster->numpages << PAGE_SHIFT); in setup_memory()
329 /* Bit 0 is console/PALcode reserved. Bit 1 is in setup_memory()
330 non-volatile memory -- we might want to mark in setup_memory()
332 if (cluster->usage & 3) in setup_memory()
333 memblock_reserve(PFN_PHYS(cluster->start_pfn), in setup_memory()
334 cluster->numpages << PAGE_SHIFT); in setup_memory()
357 printk("setup: forcing memory size to %ldK (from %ldK).\n", in setup_memory()
358 mem_size_limit << (PAGE_SHIFT - 10), in setup_memory()
359 max_low_pfn << (PAGE_SHIFT - 10)); in setup_memory()
364 kernel_size = virt_to_phys(kernel_end) - KERNEL_START_PHYS; in setup_memory()
396 (hwrpb->mddt_offset + (unsigned long) hwrpb); in page_is_ram()
399 if (pfn >= cluster->start_pfn && in page_is_ram()
400 pfn < cluster->start_pfn + cluster->numpages) { in page_is_ram()
401 return (cluster->usage & 3) ? 0 : 1; in page_is_ram()
416 return -ENOMEM; in register_cpus()
449 hwrpb = (struct hwrpb_struct*) __va(INIT_HWRPB->phys_addr); in setup_arch()
453 * Pre-process the system type to make sure it will be valid. in setup_arch()
462 if ((long)hwrpb->sys_type < 0) { in setup_arch()
463 hwrpb->sys_type = -((long)hwrpb->sys_type); in setup_arch()
474 alpha_using_srm = !str_has_prefix((const char *)hwrpb->ssn, "MILO"); in setup_arch()
478 alpha_using_qemu = strstr((const char *)hwrpb->ssn, "QEMU") != 0; in setup_arch()
502 * Process command-line arguments. in setup_arch()
522 if (strncmp(p, "console=srm", 11) == 0) { in setup_arch()
542 /* If we want SRM console printk echoing early, do it now. */ in setup_arch()
547 * If "console=srm" was specified, clear the srmcons_output in setup_arch()
555 /* If we're using SRM, make sysrq-b halt back to the prom, in setup_arch()
556 not auto-reboot. */ in setup_arch()
566 cpu = (struct percpu_struct*)((char*)hwrpb + hwrpb->processor_offset); in setup_arch()
568 get_sysnames(hwrpb->sys_type, hwrpb->sys_variation, in setup_arch()
569 cpu->type, &type_name, &var_name); in setup_arch()
574 vec = get_sysvec(hwrpb->sys_type, hwrpb->sys_variation, in setup_arch()
575 cpu->type); in setup_arch()
581 hwrpb->sys_type, hwrpb->sys_variation); in setup_arch()
639 determine_cpu_caches(cpu->type); in setup_arch()
650 * Give us a default console. TGA users will see nothing until in setup_arch()
674 if (hwrpb->max_asn != MAX_ASN) { in setup_arch()
675 printk("Max ASN from HWRPB is bad (0x%lx)\n", hwrpb->max_asn); in setup_arch()
752 NULL, /* Sable -- see below. */ in get_sysvec()
760 NULL, /* Mikasa -- see below. */ in get_sysvec()
762 NULL, /* EB66 -- see variation. */ in get_sysvec()
763 NULL, /* EB64+ -- see variation. */ in get_sysvec()
769 NULL, /* EB164 -- see variation. */ in get_sysvec()
770 NULL, /* Noritake -- see below. */ in get_sysvec()
777 NULL, /* Tsunami -- see variation. */ in get_sysvec()
859 (type - ST_API_BIAS) < ARRAY_SIZE(api_vecs)) { in get_sysvec()
860 vec = api_vecs[type - ST_API_BIAS]; in get_sysvec()
862 (type - ST_UNOFFICIAL_BIAS) < ARRAY_SIZE(unofficial_vecs)) { in get_sysvec()
863 vec = unofficial_vecs[type - ST_UNOFFICIAL_BIAS]; in get_sysvec()
869 /* Member ID is a bit-field. */ in get_sysvec()
979 if (strcasecmp(mv->vector_name, name) == 0) in get_sysvec_byname()
996 (type - ST_API_BIAS) < ARRAY_SIZE(api_names)) { in get_sysnames()
997 *type_name = api_names[type - ST_API_BIAS]; in get_sysnames()
999 (type - ST_UNOFFICIAL_BIAS) < ARRAY_SIZE(unofficial_names)) { in get_sysnames()
1000 *type_name = unofficial_names[type - ST_UNOFFICIAL_BIAS]; in get_sysnames()
1013 member = (variation >> 10) & 0x3f; /* member ID is a bit-field */ in get_sysnames()
1064 * was not implemented in the console firmware. If it's revision 5 or
1068 * the string--a pointer to the name of the platform.
1071 * - Pointer to a ASCII string if it's in the HWRPB
1072 * - Pointer to a blank string if the data is not in the HWRPB.
1081 /* Go to the console for the string pointer. in platform_string()
1085 if (hwrpb->revision < 5) in platform_string()
1093 ((char *)hwrpb + hwrpb->dsr_offset)); in platform_string()
1094 return ((char *)dsr + (dsr->sysname_off + in platform_string()
1108 ((char *)cpubase + i*hwrpb->processor_size); in get_nr_processors()
1109 if ((cpu->flags & 0x1cc) == 0x1cc) in get_nr_processors()
1118 if (shape == -1) in show_cache_size()
1123 seq_printf (f, "%s\t\t: %dK, %d-way, %db line\n", in show_cache_size()
1149 cpu_index = (unsigned) (cpu->type - 1); in show_cpuinfo()
1154 get_sysnames(hwrpb->sys_type, hwrpb->sys_variation, in show_cpuinfo()
1155 cpu->type, &systype_name, &sysvariation_name); in show_cpuinfo()
1157 nr_processors = get_nr_processors(cpu, hwrpb->nr_processors); in show_cpuinfo()
1160 timer_freq = (100UL * hwrpb->intr_freq) / 4096; in show_cpuinfo()
1176 "page size [bytes]\t: %ld\n" in show_cpuinfo()
1184 cpu_name, cpu->variation, cpu->revision, in show_cpuinfo()
1185 (char*)cpu->serial_no, in show_cpuinfo()
1186 systype_name, sysvariation_name, hwrpb->sys_revision, in show_cpuinfo()
1187 (char*)hwrpb->ssn, in show_cpuinfo()
1188 est_cycle_freq ? : hwrpb->cycle_freq, in show_cpuinfo()
1191 hwrpb->pagesize, in show_cpuinfo()
1192 hwrpb->pa_bits, in show_cpuinfo()
1193 hwrpb->max_asn, in show_cpuinfo()
1215 read_mem_block(int *addr, int stride, int size) in read_mem_block() argument
1217 long nloads = size / stride, cnt, tmp; in read_mem_block()
1235 return cnt / (size / stride); in read_mem_block()
1251 long size = minsize, maxsize = MAX_BCACHE_SIZE * 2; in external_cache_probe() local
1257 read_mem_block(__va(0), stride, size); in external_cache_probe()
1259 while (size < maxsize) { in external_cache_probe()
1261 cycles = read_mem_block(__va(0), stride, size); in external_cache_probe()
1266 size >> 11, prev_cycles, cycles); in external_cache_probe()
1267 return CSHAPE(size >> 1, width, 1); in external_cache_probe()
1270 read_mem_block(__va(size), stride, size); in external_cache_probe()
1272 size <<= 1; in external_cache_probe()
1274 return -1; /* No BCACHE found. */ in external_cache_probe()
1291 L3 = -1; in determine_cpu_caches()
1293 /* BIU_CTL is a write-only Abox register. PALcode has a in determine_cpu_caches()
1297 unsigned long biu_ctl, size; in determine_cpu_caches()
1298 size = 128*1024 * (1 << ((biu_ctl >> 28) & 7)); in determine_cpu_caches()
1299 L2 = CSHAPE (size, 5, 1); in determine_cpu_caches()
1309 unsigned long car, size; in determine_cpu_caches() local
1312 L3 = -1; in determine_cpu_caches()
1315 size = 64*1024 * (1 << ((car >> 5) & 7)); in determine_cpu_caches()
1316 /* No typo -- 8 byte cacheline size. Whodathunk. */ in determine_cpu_caches()
1317 L2 = (car & 1 ? CSHAPE (size, 3, 1) : -1); in determine_cpu_caches()
1328 /* Check the line size of the Scache. */ in determine_cpu_caches()
1333 /* BC_CONTROL and BC_CONFIG are write-only IPRs. PALcode in determine_cpu_caches()
1337 unsigned long bc_control, bc_config, size; in determine_cpu_caches()
1338 size = 1024*1024 * (1 << ((bc_config & 7) - 1)); in determine_cpu_caches()
1339 L3 = (bc_control & 1 ? CSHAPE (size, width, 1) : -1); in determine_cpu_caches()
1357 L3 = -1; in determine_cpu_caches()
1360 unsigned long cbox_config, size; in determine_cpu_caches()
1363 size = 512*1024 * (1 << ((cbox_config >> 12) & 3)); in determine_cpu_caches()
1365 L2 = ((cbox_config >> 31) & 1 ? CSHAPE (size, 6, 1) : -1); in determine_cpu_caches()
1380 L3 = -1; in determine_cpu_caches()
1387 L3 = -1; in determine_cpu_caches()
1408 return *pos ? NULL : (char *)hwrpb + hwrpb->processor_offset; in c_start()
1436 /* If we are using SRM and serial console, just hard halt here. */ in alpha_panic_event()
1448 pd = platform_device_alloc("pcspkr", -1); in add_pcspkr()
1450 return -ENOMEM; in add_pcspkr()