Moved LDT selector allocation routines to libwine.
Added support for correct locking of all LDT operations.
Added separate functions to manipulate the %fs selector, which allows
using a global GDT selector on recent Linux kernels.
diff --git a/include/miscemu.h b/include/miscemu.h
index 002f182..0ef8287 100644
--- a/include/miscemu.h
+++ b/include/miscemu.h
@@ -145,11 +145,7 @@
* selector which is neither system selector nor zero.
*/
#define CTX_SEG_OFF_TO_LIN(context,seg,off) \
- (ISV86(context) ? PTR_REAL_TO_LIN((seg),(off)) : \
- (!seg || IS_SELECTOR_SYSTEM(seg))? (void *)(ULONG_PTR)(off) : \
- (IS_SELECTOR_32BIT(seg) ? \
- (void *)((off) + (char*)MapSL(MAKESEGPTR((seg),0))) : \
- MapSL(MAKESEGPTR((seg),(off)))))
+ (ISV86(context) ? PTR_REAL_TO_LIN((seg),(off)) : wine_ldt_get_ptr((seg),(off)))
#define INT_BARF(context,num) \
ERR( "int%x: unknown/not implemented parameters:\n" \