Skip to content

switch to 64b (AMD64) #87

Description

@d4ilyrun

Why ?

32bit architectures are old (the i386 processor is 40 years old !), and the only reason we went with a 32b kernel in the first place was because of the few beginner tutorials on OsDev all targeting this architecture.

There is no real reason to stick with it anymore, except for the extra work porting to 64b requires. Moreover porting to 64b brings several improvements:

  • Being able to access arbitrary physical addresses thanks to the larger virtual address space
  • Being able to run on real modern hardware
  • Not teaching outdated and deprecated stuff

Changes required

Here's a list of the changes required to run in long mode

  • Build a 64b toolchain
  • 4 level paging (and PAE)
  • 64b interrupts

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    arch: x86x86 specific featurestarget: kernelKernel related featurestype: refactoRefactor an existing piece of code

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions