Page 1 of 1

osdev wiki talks little on x64 long mode and UEFI protocols?

Posted: Fri Oct 23, 2015 8:09 am
by wyj
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.

Re: osdev wiki talks little on x64 long mode and UEFI protoc

Posted: Fri Oct 23, 2015 8:13 am
by iansjack
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

Posted: Fri Oct 23, 2015 9:01 am
by kzinti
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