home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-um / ldt.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  901 b   |  42 lines

  1. /*
  2.  * Copyright (C) 2004 Fujitsu Siemens Computers GmbH
  3.  * Licensed under the GPL
  4.  *
  5.  * Author: Bodo Stroesser <bstroesser@fujitsu-siemens.com>
  6.  */
  7.  
  8. #ifndef __ASM_LDT_H
  9. #define __ASM_LDT_H
  10.  
  11. #include "asm/semaphore.h"
  12. #include "asm/host_ldt.h"
  13.  
  14. struct mmu_context_skas;
  15. extern void ldt_host_info(void);
  16. extern long init_new_ldt(struct mmu_context_skas * to_mm,
  17.              struct mmu_context_skas * from_mm);
  18. extern void free_ldt(struct mmu_context_skas * mm);
  19.  
  20. #define LDT_PAGES_MAX \
  21.     ((LDT_ENTRIES * LDT_ENTRY_SIZE)/PAGE_SIZE)
  22. #define LDT_ENTRIES_PER_PAGE \
  23.     (PAGE_SIZE/LDT_ENTRY_SIZE)
  24. #define LDT_DIRECT_ENTRIES \
  25.     ((LDT_PAGES_MAX*sizeof(void *))/LDT_ENTRY_SIZE)
  26.  
  27. struct ldt_entry {
  28.     __u32 a;
  29.     __u32 b;
  30. };
  31.  
  32. typedef struct uml_ldt {
  33.     int entry_count;
  34.     struct semaphore semaphore;
  35.     union {
  36.         struct ldt_entry * pages[LDT_PAGES_MAX];
  37.         struct ldt_entry entries[LDT_DIRECT_ENTRIES];
  38.     } u;
  39. } uml_ldt_t;
  40.  
  41. #endif
  42.