X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Farm%2Fkernel%2Fsetup.c;h=550cb831aa885dafedfea9a64e3cfeda4bed8465;hb=9e1bf581d67d87a1d7fc0ea500729e3a03643a26;hp=a78ccd76e3ca1a84ccc2666d6d585657284eb094;hpb=8d40237c730b8be87c1b80a5d96b9c603fefa829;p=linux-2.6.git diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index a78ccd76e..550cb831a 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c @@ -59,7 +59,7 @@ extern void convert_to_tag_list(struct tag *tags); extern void squash_mem_tags(struct tag *tag); extern void reboot_setup(char *str); extern int root_mountflags; -extern void _stext, _text, _etext, __data_start, _edata, _end; +extern int _stext, _text, _etext, _edata, _end; unsigned int processor_id; unsigned int __machine_arch_type; @@ -113,7 +113,7 @@ static union { char c[4]; unsigned long l; } endian_test __initdata = { { 'l', ' */ static struct resource mem_res[] = { { "Video RAM", 0, 0, IORESOURCE_MEM }, - { "Kernel text", 0, 0, IORESOURCE_MEM }, + { "Kernel code", 0, 0, IORESOURCE_MEM }, { "Kernel data", 0, 0, IORESOURCE_MEM } }; @@ -132,21 +132,21 @@ static struct resource io_res[] = { #define lp2 io_res[2] static const char *cache_types[16] = { - "write-through", - "write-back", - "write-back", + "VIVT write-through", + "VIVT write-back", + "VIVT write-back", "undefined 3", "undefined 4", "undefined 5", - "write-back", - "write-back", + "VIVT write-back", + "VIVT write-back", "undefined 8", "undefined 9", "undefined 10", "undefined 11", "undefined 12", "undefined 13", - "write-back", + "VIPT write-back", "undefined 15", }; @@ -236,8 +236,7 @@ static void __init dump_cpu_info(void) unsigned int info = read_cpuid(CPUID_CACHETYPE); if (info != processor_id) { - printk("CPU: D %s %s cache\n", cache_is_vivt() ? "VIVT" : "VIPT", - cache_types[CACHE_TYPE(info)]); + printk("CPU: D %s cache\n", cache_types[CACHE_TYPE(info)]); if (CACHE_S(info)) { dump_cache("CPU: I cache", CACHE_ISIZE(info)); dump_cache("CPU: D cache", CACHE_DSIZE(info)); @@ -256,7 +255,7 @@ int cpu_architecture(void) } else if ((processor_id & 0x0000f000) == 0x00007000) { cpu_arch = (processor_id & (1 << 23)) ? CPU_ARCH_ARMv4T : CPU_ARCH_ARMv3; } else { - cpu_arch = (processor_id >> 16) & 7; + cpu_arch = (processor_id >> 16) & 15; if (cpu_arch) cpu_arch += CPU_ARCH_ARMv3; } @@ -448,10 +447,10 @@ request_standard_resources(struct meminfo *mi, struct machine_desc *mdesc) struct resource *res; int i; - kernel_code.start = virt_to_phys(&_text); - kernel_code.end = virt_to_phys(&_etext - 1); - kernel_data.start = virt_to_phys(&__data_start); - kernel_data.end = virt_to_phys(&_end - 1); + kernel_code.start = __virt_to_phys(init_mm.start_code); + kernel_code.end = __virt_to_phys(init_mm.end_code - 1); + kernel_data.start = __virt_to_phys(init_mm.end_code); + kernel_data.end = __virt_to_phys(init_mm.brk - 1); for (i = 0; i < mi->nr_banks; i++) { unsigned long virt_start, virt_end; @@ -727,7 +726,7 @@ void __init setup_arch(char **cmdline_p) * Set up various architecture-specific pointers */ init_arch_irq = mdesc->init_irq; - system_timer = mdesc->timer; + init_arch_time = mdesc->init_time; init_machine = mdesc->init_machine; #ifdef CONFIG_VT