Ugh. what an ugly week.
I decided to start at the beginning on my documentation again. the stuff i was writing at patch 47 was much better than the level of detail i provided at the beginning. I naively thought i'd make it to patch 47 again inside of a week.
Then I ran into patch 17.
Patch 17 is the x86_64 entry.S system call insertion. in this patch, we do something evil to the stack (that i still don't quite understand), to make sure space for the userspace registers is allocated and available when we jump to the user_thread handler.
Its all written in X86_64 assembly. I haven't done assembly since before i started using linux.
So now, I'm reading "The Revolutionary Guide to Assembly Language". I'm about 100 pages in. it may be x86, not x86_64, and may cover dos and bios calls, but i'm pretty sure when i get through it, i'll be ready to tackle this file.
On an ironic note, I've already made it through the X86 version of this patch. I'll probably go through it again, before going on to patch 18.
This assembly makes my head hurt.