X86-64 Bootstrapping

I worked on a project where the goal was to be able to boot raw code on an X86-64 pc and run it in 64 bit mode.

(I did mention that we have operating systems to make this easier, but sigh, apparently that was not an option)

So, from scratch I created some boot blocks and some code to set up the page tables and bootstrap the machine into 64 bit mode with a flat address space. This code code be run from any disk or USB stick.