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

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