Linux-2.6.12-rc2
[linux-3.10.git] / arch / arm / kernel / arch.c
1 /*
2  *  linux/arch/arm/kernel/arch.c
3  *
4  *  Architecture specific fixups.
5  */
6 #include <linux/config.h>
7 #include <linux/init.h>
8 #include <linux/types.h>
9
10 #include <asm/elf.h>
11 #include <asm/page.h>
12 #include <asm/setup.h>
13 #include <asm/mach/arch.h>
14
15 unsigned int vram_size;
16
17 #ifdef CONFIG_ARCH_ACORN
18
19 unsigned int memc_ctrl_reg;
20 unsigned int number_mfm_drives;
21
22 static int __init parse_tag_acorn(const struct tag *tag)
23 {
24         memc_ctrl_reg = tag->u.acorn.memc_control_reg;
25         number_mfm_drives = tag->u.acorn.adfsdrives;
26
27         switch (tag->u.acorn.vram_pages) {
28         case 512:
29                 vram_size += PAGE_SIZE * 256;
30         case 256:
31                 vram_size += PAGE_SIZE * 256;
32         default:
33                 break;
34         }
35 #if 0
36         if (vram_size) {
37                 desc->video_start = 0x02000000;
38                 desc->video_end   = 0x02000000 + vram_size;
39         }
40 #endif
41         return 0;
42 }
43
44 __tagtable(ATAG_ACORN, parse_tag_acorn);
45
46 #endif