arch.c 834 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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. #include <asm/elf.h>
  10. #include <asm/page.h>
  11. #include <asm/setup.h>
  12. #include <asm/mach/arch.h>
  13. unsigned int vram_size;
  14. #ifdef CONFIG_ARCH_ACORN
  15. unsigned int memc_ctrl_reg;
  16. unsigned int number_mfm_drives;
  17. static int __init parse_tag_acorn(const struct tag *tag)
  18. {
  19. memc_ctrl_reg = tag->u.acorn.memc_control_reg;
  20. number_mfm_drives = tag->u.acorn.adfsdrives;
  21. switch (tag->u.acorn.vram_pages) {
  22. case 512:
  23. vram_size += PAGE_SIZE * 256;
  24. case 256:
  25. vram_size += PAGE_SIZE * 256;
  26. default:
  27. break;
  28. }
  29. #if 0
  30. if (vram_size) {
  31. desc->video_start = 0x02000000;
  32. desc->video_end = 0x02000000 + vram_size;
  33. }
  34. #endif
  35. return 0;
  36. }
  37. __tagtable(ATAG_ACORN, parse_tag_acorn);
  38. #endif