Thanks, committed in r3204 with some cosmetic changes. Works for me in QEMU and on hardware.
Sorry for the late response, have been busy with actual studying (scary) :) . The committed patch still retains the wrong directions for the last movl instruction. As Mr. Crouse pointed out
/* Restore the stack pointer from the storage area. */
movl 16(%ebx), %esp
/* Restore old stack. */
movl %esp, %ebx
should really be
movl %ebx, %esp
I have a patch that adresses the rest of the raised issues but it mysteriously dies somewhere in vga init. Haven't yet had the time to take a closer look. Attached, maybe somebody knows whats going wrong. ;) No sign-off because the patch is not working. ;)
best regards, devh
PS: hopefully ddd gets a new maintainer, this tool rocks! ;)