cpu-multi26.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:2k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  *  linux/include/asm-arm/cpu-multi26.h
  3.  *
  4.  *  Copyright (C) 2000 Russell King
  5.  *
  6.  * This program is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License version 2 as
  8.  * published by the Free Software Foundation.
  9.  */
  10. #ifndef __ASSEMBLY__
  11. #include <asm/page.h>
  12. /* forward-declare task_struct */
  13. struct task_struct;
  14. /*
  15.  * Don't change this structure - ASM code
  16.  * relies on it.
  17.  */
  18. extern struct processor {
  19. /* check for any bugs */
  20. void (*_check_bugs)(void);
  21. /* Set up any processor specifics */
  22. void (*_proc_init)(void);
  23. /* Disable any processor specifics */
  24. void (*_proc_fin)(void);
  25. /* set the MEMC hardware mappings */
  26. void (*_set_pgd)(pgd_t *pgd);
  27. /* XCHG */
  28. unsigned long (*_xchg_1)(unsigned long x, volatile void *ptr);
  29. unsigned long (*_xchg_4)(unsigned long x, volatile void *ptr);
  30. } processor;
  31. extern const struct processor arm2_processor_functions;
  32. extern const struct processor arm250_processor_functions;
  33. extern const struct processor arm3_processor_functions;
  34. #define cpu_check_bugs() processor._check_bugs()
  35. #define cpu_proc_init() processor._proc_init()
  36. #define cpu_proc_fin() processor._proc_fin()
  37. #define cpu_do_idle() do { } while (0)
  38. #define cpu_switch_mm(pgd,tsk) processor._set_pgd(pgd)
  39. #define cpu_xchg_1(x,ptr) processor._xchg_1(x,ptr)
  40. #define cpu_xchg_4(x,ptr) processor._xchg_4(x,ptr)
  41. extern void cpu_memc_update_all(pgd_t *pgd);
  42. extern void cpu_memc_update_entry(pgd_t *pgd, unsigned long phys_pte, unsigned long log_addr);
  43. #endif