mmzone.h 773 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifndef _ASM_MACH_MMZONE_H
  2. #define _ASM_MACH_MMZONE_H
  3. #include <asm/sn/addrs.h>
  4. #include <asm/sn/arch.h>
  5. #include <asm/sn/hub.h>
  6. #define pa_to_nid(addr) NASID_TO_COMPACT_NODEID(NASID_GET(addr))
  7. #define LEVELS_PER_SLICE 128
  8. struct slice_data {
  9. unsigned long irq_enable_mask[2];
  10. int level_to_irq[LEVELS_PER_SLICE];
  11. };
  12. struct hub_data {
  13. kern_vars_t kern_vars;
  14. DECLARE_BITMAP(h_bigwin_used, HUB_NUM_BIG_WINDOW);
  15. cpumask_t h_cpus;
  16. unsigned long slice_map;
  17. unsigned long irq_alloc_mask[2];
  18. struct slice_data slice[2];
  19. };
  20. struct node_data {
  21. struct pglist_data pglist;
  22. struct hub_data hub;
  23. };
  24. extern struct node_data *__node_data[];
  25. #define NODE_DATA(n) (&__node_data[(n)]->pglist)
  26. #define hub_data(n) (&__node_data[(n)]->hub)
  27. #endif /* _ASM_MACH_MMZONE_H */