I find it is easier today to develop an os with uefi and amd64 platform, with the help of a project called UEFI:SIMPlE,
since uefi has set up the long mode for you and you can enable paging by a single call to SetVirtualMemory.
Besides, using the up-to-date technologies are more inspiring and interesting.
However I have to search the UEFI spec and intel manual all the time just to find some data structures and functions.
I believe it will be helpful if there are more about x64 and UEFI in the wiki.
By the way I recommend the wiki talks about UEFI:SIMPLE.
osdev wiki talks little on x64 long mode and UEFI protocols?
Re: osdev wiki talks little on x64 long mode and UEFI protoc
That's a great chance for you to add some content to the Wiki!
Re: osdev wiki talks little on x64 long mode and UEFI protoc
I took a look at UEFI:Simple. (https://github.com/pbatard/uefi-simple) It's basically just gnu-efi with a Makefile...
I found an easier way: just use the mingw toolchain to produce a proper PE. This works for both 32 and 64 bits.
Here is my code:
https://github.com/kiznit/kiznix/tree/m ... c/boot/efi
Toolchain for 32 bits:
https://github.com/kiznit/kiznix/blob/m ... -efi.cmake
Toolchain for 64 bits:
https://github.com/kiznit/kiznix/blob/m ... -efi.cmake
If you are unfamiliar with CMake and using toolchains, check the Makefile here:
https://github.com/kiznit/kiznix/blob/master/Makefile
I found an easier way: just use the mingw toolchain to produce a proper PE. This works for both 32 and 64 bits.
Here is my code:
https://github.com/kiznit/kiznix/tree/m ... c/boot/efi
Toolchain for 32 bits:
https://github.com/kiznit/kiznix/blob/m ... -efi.cmake
Toolchain for 64 bits:
https://github.com/kiznit/kiznix/blob/m ... -efi.cmake
If you are unfamiliar with CMake and using toolchains, check the Makefile here:
https://github.com/kiznit/kiznix/blob/master/Makefile