machvec.c
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:1k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. #include <linux/config.h>
  2. #ifdef CONFIG_IA64_GENERIC
  3. #include <linux/kernel.h>
  4. #include <linux/string.h>
  5. #include <asm/page.h>
  6. #include <asm/machvec.h>
  7. struct ia64_machine_vector ia64_mv;
  8. /*
  9.  * Most platforms use this routine for mapping page frame addresses
  10.  * into a memory map index.
  11.  */
  12. unsigned long
  13. map_nr_dense (unsigned long addr)
  14. {
  15. return MAP_NR_DENSE(addr);
  16. }
  17. static struct ia64_machine_vector *
  18. lookup_machvec (const char *name)
  19. {
  20. extern struct ia64_machine_vector machvec_start[];
  21. extern struct ia64_machine_vector machvec_end[];
  22. struct ia64_machine_vector *mv;
  23. for (mv = machvec_start; mv < machvec_end; ++mv)
  24. if (strcmp (mv->name, name) == 0)
  25. return mv;
  26. return 0;
  27. }
  28. void
  29. machvec_init (const char *name)
  30. {
  31. struct ia64_machine_vector *mv;
  32. mv = lookup_machvec(name);
  33. if (!mv) {
  34. panic("generic kernel failed to find machine vector for platform %s!", name);
  35. }
  36. ia64_mv = *mv;
  37. printk("booting generic kernel on platform %sn", name);
  38. }
  39. #endif /* CONFIG_IA64_GENERIC */
  40. void
  41. machvec_noop (void)
  42. {
  43. }