Messages in this thread Patch in this message | | | Date | Sat, 5 Sep 1998 17:06:04 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: Patch 2.1.120 breaks DOSEMU (fwd) |
| |
On Sun, 6 Sep 1998, Hans Lermen wrote: > > I can confirm the below posting from Alberto Vignani: > > The ldt changes in i386/kernel/process.c _do_ break DOSEMU's DPMI.
I believe you.. Does the appended one-liner fix it for you?
> What were these ldt changes supposed to fix?
2.1.120 fixes resetting the LDT back to the original value, and cleans it up a bit. Very few things actually depend on the original value, but iBCS2 does.
The breakage in 2.1.120 is due to forgetting to initialize a member in the task-struct when we create a new LDT - we correctly load the entry, but the very next task-switch will forget about it again..
Linus
----- --- v2.1.120/linux/arch/i386/kernel/ldt.c Tue Aug 18 22:02:02 1998 +++ linux/arch/i386/kernel/ldt.c Sat Sep 5 16:46:23 1998 @@ -82,6 +82,7 @@ int i = current->tarray_ptr - &task[0]; mm->segments = ldt; set_ldt_desc(gdt+(i<<1)+FIRST_LDT_ENTRY, ldt, LDT_ENTRIES); + current->tss.ldt = _LDT(i); load_ldt(i); if (atomic_read(&mm->count) > 1) printk(KERN_WARNING
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/faq.html
| |