| Paolo 'Blaisorblade' Giarrusso | fbdf216 | 2006-03-31 02:30:19 -0800 | [diff] [blame] | 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 |  | 
| Daniel Walker | 01ac835 | 2008-02-04 22:31:26 -0800 | [diff] [blame] | 11 | #include <linux/mutex.h> | 
| Al Viro | efb21cc | 2008-08-18 01:26:38 -0400 | [diff] [blame] | 12 | #include <sysdep/host_ldt.h> | 
| Paolo 'Blaisorblade' Giarrusso | fbdf216 | 2006-03-31 02:30:19 -0800 | [diff] [blame] | 13 |  | 
| Paolo 'Blaisorblade' Giarrusso | fbdf216 | 2006-03-31 02:30:19 -0800 | [diff] [blame] | 14 | extern void ldt_host_info(void); | 
| Paolo 'Blaisorblade' Giarrusso | fbdf216 | 2006-03-31 02:30:19 -0800 | [diff] [blame] | 15 |  | 
|  | 16 | #define LDT_PAGES_MAX \ | 
|  | 17 | ((LDT_ENTRIES * LDT_ENTRY_SIZE)/PAGE_SIZE) | 
|  | 18 | #define LDT_ENTRIES_PER_PAGE \ | 
|  | 19 | (PAGE_SIZE/LDT_ENTRY_SIZE) | 
|  | 20 | #define LDT_DIRECT_ENTRIES \ | 
|  | 21 | ((LDT_PAGES_MAX*sizeof(void *))/LDT_ENTRY_SIZE) | 
|  | 22 |  | 
|  | 23 | struct ldt_entry { | 
|  | 24 | __u32 a; | 
|  | 25 | __u32 b; | 
|  | 26 | }; | 
|  | 27 |  | 
|  | 28 | typedef struct uml_ldt { | 
|  | 29 | int entry_count; | 
| Daniel Walker | 01ac835 | 2008-02-04 22:31:26 -0800 | [diff] [blame] | 30 | struct mutex lock; | 
| Paolo 'Blaisorblade' Giarrusso | fbdf216 | 2006-03-31 02:30:19 -0800 | [diff] [blame] | 31 | union { | 
|  | 32 | struct ldt_entry * pages[LDT_PAGES_MAX]; | 
|  | 33 | struct ldt_entry entries[LDT_DIRECT_ENTRIES]; | 
|  | 34 | } u; | 
|  | 35 | } uml_ldt_t; | 
|  | 36 |  | 
|  | 37 | #endif |