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()
395 (hwrpb->mddt_offset + (unsigned long) hwrpb); in page_is_ram()
398 if (pfn >= cluster->start_pfn && in page_is_ram()
399 pfn < cluster->start_pfn + cluster->numpages) { in page_is_ram()
400 return (cluster->usage & 3) ? 0 : 1; in page_is_ram()
415 return -ENOMEM; in register_cpus()
448 hwrpb = (struct hwrpb_struct*) __va(INIT_HWRPB->phys_addr); in setup_arch()
452 * Pre-process the system type to make sure it will be valid. in setup_arch()
461 if ((long)hwrpb->sys_type < 0) { in setup_arch()
462 hwrpb->sys_type = -((long)hwrpb->sys_type); in setup_arch()
473 alpha_using_srm = !str_has_prefix((const char *)hwrpb->ssn, "MILO"); in setup_arch()
477 alpha_using_qemu = strstr((const char *)hwrpb->ssn, "QEMU") != 0; in setup_arch()
501 * Process command-line arguments. in setup_arch()
521 if (strncmp(p, "console=srm", 11) == 0) { in setup_arch()
541 /* If we want SRM console printk echoing early, do it now. */ in setup_arch()
546 * If "console=srm" was specified, clear the srmcons_output in setup_arch()
554 /* If we're using SRM, make sysrq-b halt back to the prom, in setup_arch()
555 not auto-reboot. */ in setup_arch()
565 cpu = (struct percpu_struct*)((char*)hwrpb + hwrpb->processor_offset); in setup_arch()
567 get_sysnames(hwrpb->sys_type, hwrpb->sys_variation, in setup_arch()
568 cpu->type, &type_name, &var_name); in setup_arch()
573 vec = get_sysvec(hwrpb->sys_type, hwrpb->sys_variation, in setup_arch()
574 cpu->type); in setup_arch()
580 hwrpb->sys_type, hwrpb->sys_variation); in setup_arch()
638 determine_cpu_caches(cpu->type); in setup_arch()
649 * Give us a default console. TGA users will see nothing until in setup_arch()
673 if (hwrpb->max_asn != MAX_ASN) { in setup_arch()
674 printk("Max ASN from HWRPB is bad (0x%lx)\n", hwrpb->max_asn); in setup_arch()
751 NULL, /* Sable -- see below. */ in get_sysvec()
759 NULL, /* Mikasa -- see below. */ in get_sysvec()
761 NULL, /* EB66 -- see variation. */ in get_sysvec()
762 NULL, /* EB64+ -- see variation. */ in get_sysvec()
768 NULL, /* EB164 -- see variation. */ in get_sysvec()
769 NULL, /* Noritake -- see below. */ in get_sysvec()
776 NULL, /* Tsunami -- see variation. */ in get_sysvec()
858 (type - ST_API_BIAS) < ARRAY_SIZE(api_vecs)) { in get_sysvec()
859 vec = api_vecs[type - ST_API_BIAS]; in get_sysvec()
861 (type - ST_UNOFFICIAL_BIAS) < ARRAY_SIZE(unofficial_vecs)) { in get_sysvec()
862 vec = unofficial_vecs[type - ST_UNOFFICIAL_BIAS]; in get_sysvec()
868 /* Member ID is a bit-field. */ in get_sysvec()
978 if (strcasecmp(mv->vector_name, name) == 0) in get_sysvec_byname()
995 (type - ST_API_BIAS) < ARRAY_SIZE(api_names)) { in get_sysnames()
996 *type_name = api_names[type - ST_API_BIAS]; in get_sysnames()
998 (type - ST_UNOFFICIAL_BIAS) < ARRAY_SIZE(unofficial_names)) { in get_sysnames()
999 *type_name = unofficial_names[type - ST_UNOFFICIAL_BIAS]; in get_sysnames()
1012 member = (variation >> 10) & 0x3f; /* member ID is a bit-field */ in get_sysnames()
1063 * was not implemented in the console firmware. If it's revision 5 or
1067 * the string--a pointer to the name of the platform.
1070 * - Pointer to a ASCII string if it's in the HWRPB
1071 * - Pointer to a blank string if the data is not in the HWRPB.
1080 /* Go to the console for the string pointer. in platform_string()
1084 if (hwrpb->revision < 5) in platform_string()
1092 ((char *)hwrpb + hwrpb->dsr_offset)); in platform_string()
1093 return ((char *)dsr + (dsr->sysname_off + in platform_string()
1107 ((char *)cpubase + i*hwrpb->processor_size); in get_nr_processors()
1108 if ((cpu->flags & 0x1cc) == 0x1cc) in get_nr_processors()
1117 if (shape == -1) in show_cache_size()
1122 seq_printf (f, "%s\t\t: %dK, %d-way, %db line\n", in show_cache_size()
1148 cpu_index = (unsigned) (cpu->type - 1); in show_cpuinfo()
1153 get_sysnames(hwrpb->sys_type, hwrpb->sys_variation, in show_cpuinfo()
1154 cpu->type, &systype_name, &sysvariation_name); in show_cpuinfo()
1156 nr_processors = get_nr_processors(cpu, hwrpb->nr_processors); in show_cpuinfo()
1159 timer_freq = (100UL * hwrpb->intr_freq) / 4096; in show_cpuinfo()
1175 "page size [bytes]\t: %ld\n" in show_cpuinfo()
1183 cpu_name, cpu->variation, cpu->revision, in show_cpuinfo()
1184 (char*)cpu->serial_no, in show_cpuinfo()
1185 systype_name, sysvariation_name, hwrpb->sys_revision, in show_cpuinfo()
1186 (char*)hwrpb->ssn, in show_cpuinfo()
1187 est_cycle_freq ? : hwrpb->cycle_freq, in show_cpuinfo()
1190 hwrpb->pagesize, in show_cpuinfo()
1191 hwrpb->pa_bits, in show_cpuinfo()
1192 hwrpb->max_asn, in show_cpuinfo()
1214 read_mem_block(int *addr, int stride, int size) in read_mem_block() argument
1216 long nloads = size / stride, cnt, tmp; in read_mem_block()
1234 return cnt / (size / stride); in read_mem_block()
1250 long size = minsize, maxsize = MAX_BCACHE_SIZE * 2; in external_cache_probe() local
1256 read_mem_block(__va(0), stride, size); in external_cache_probe()
1258 while (size < maxsize) { in external_cache_probe()
1260 cycles = read_mem_block(__va(0), stride, size); in external_cache_probe()
1265 size >> 11, prev_cycles, cycles); in external_cache_probe()
1266 return CSHAPE(size >> 1, width, 1); in external_cache_probe()
1269 read_mem_block(__va(size), stride, size); in external_cache_probe()
1271 size <<= 1; in external_cache_probe()
1273 return -1; /* No BCACHE found. */ in external_cache_probe()
1290 L3 = -1; in determine_cpu_caches()
1292 /* BIU_CTL is a write-only Abox register. PALcode has a in determine_cpu_caches()
1296 unsigned long biu_ctl, size; in determine_cpu_caches()
1297 size = 128*1024 * (1 << ((biu_ctl >> 28) & 7)); in determine_cpu_caches()
1298 L2 = CSHAPE (size, 5, 1); in determine_cpu_caches()
1308 unsigned long car, size; in determine_cpu_caches() local
1311 L3 = -1; in determine_cpu_caches()
1314 size = 64*1024 * (1 << ((car >> 5) & 7)); in determine_cpu_caches()
1315 /* No typo -- 8 byte cacheline size. Whodathunk. */ in determine_cpu_caches()
1316 L2 = (car & 1 ? CSHAPE (size, 3, 1) : -1); in determine_cpu_caches()
1327 /* Check the line size of the Scache. */ in determine_cpu_caches()
1332 /* BC_CONTROL and BC_CONFIG are write-only IPRs. PALcode in determine_cpu_caches()
1336 unsigned long bc_control, bc_config, size; in determine_cpu_caches()
1337 size = 1024*1024 * (1 << ((bc_config & 7) - 1)); in determine_cpu_caches()
1338 L3 = (bc_control & 1 ? CSHAPE (size, width, 1) : -1); in determine_cpu_caches()
1356 L3 = -1; in determine_cpu_caches()
1359 unsigned long cbox_config, size; in determine_cpu_caches()
1362 size = 512*1024 * (1 << ((cbox_config >> 12) & 3)); in determine_cpu_caches()
1364 L2 = ((cbox_config >> 31) & 1 ? CSHAPE (size, 6, 1) : -1); in determine_cpu_caches()
1379 L3 = -1; in determine_cpu_caches()
1386 L3 = -1; in determine_cpu_caches()
1407 return *pos ? NULL : (char *)hwrpb + hwrpb->processor_offset; in c_start()
1435 /* If we are using SRM and serial console, just hard halt here. */ in alpha_panic_event()
1447 pd = platform_device_alloc("pcspkr", -1); in add_pcspkr()
1449 return -ENOMEM; in add_pcspkr()