Follow us on Google+ Follow us on Facebook Follow us on Twitter

Opened 8 years ago

Last modified 4 months ago

#11 new enhancement

Support PAE on ia32

Reported by: jermar Owned by: decky
Priority: minor Milestone:
Component: helenos/kernel/ia32 Version: mainline
Keywords: gsoc12, gsoc13, gsoc14, gsoc15, gsoc16, gsoc17 Cc:
Blocker for: Depends on: #3
See also:

Description (last modified by jermar)

Add support for Physical Address Extension to our ia32 port so that more than 4G of physical memory can be addressed.

Details
On all currently supported 32-bit platforms (arm32, ia32, mips32, ppc32), HelenOS assumes 32-bit physical addresses. This allows the system to make use of 4G of physical memory in total. Some of these architectures, however, provide extensions (e.g. PAE on ia32, LPAE on arm32) that make it possible to address more physical memory by using wider physical addresses (e.g. 36-bit or 40-bit).

There are actually two goals for this project. The first is to modify HelenOS to use a dedicated type for representing physical addresses instead of the current uintptr_t or void *, because the assumption that both virtual and physical addresses have the same amount of bits will no longer hold. The second goal is to implement the actual support for PAE in the form of PAE page table format and PAE feature detection and initialization.

What Gains and Benefits will this bring?
By having the PAE support on ia32, HelenOS will be able to utilize more of the installed memory. HelenOS will also become ready to support similar features on other architectures (think LPAE on arm32).
Difficulty
High
Required skills
Kernel programming skills are needed and the applicant should be strong in C and should have the ability to understand the HelenOS memory management subsystem quickly.
Documentation
Possible mentors
HelenOS Core Team, Jakub Jermar

Change History (21)

comment:1 Changed 8 years ago by decky

  • Milestone set to 0.5.0

comment:2 Changed 8 years ago by svoboda

  • Component set to kernel/ia32

comment:3 Changed 7 years ago by jermar

  • Depends on set to #3

comment:4 Changed 6 years ago by jermar

  • Milestone changed from 0.5.0 to 0.5.1

comment:5 Changed 5 years ago by jermar

  • Keywords gsoc12 added
  • Milestone changed from 0.5.0 to 0.5.1

comment:6 Changed 5 years ago by jermar

  • Keywords needswork added

comment:7 Changed 5 years ago by jermar

  • Description modified (diff)
  • Keywords needswork removed

comment:8 Changed 5 years ago by jermar

  • Description modified (diff)

comment:9 Changed 5 years ago by jermar

  • Description modified (diff)

comment:10 Changed 5 years ago by jermar

  • Description modified (diff)

comment:11 Changed 5 years ago by decky

  • Description modified (diff)

comment:12 Changed 5 years ago by jermar

  • Keywords gsoc13 added

comment:13 Changed 4 years ago by vhotspur

  • Description modified (diff)

comment:14 Changed 4 years ago by vhotspur

  • Description modified (diff)

comment:15 Changed 4 years ago by decky

  • Description modified (diff)

comment:16 Changed 3 years ago by decky

  • Keywords gsoc14 added

comment:17 Changed 3 years ago by jermar

  • Milestone changed from 0.5.1 to 0.5.2

comment:18 Changed 2 years ago by jermar

  • Keywords gsoc15 added

comment:19 Changed 17 months ago by jermar

  • Keywords gsoc16 added

comment:20 Changed 14 months ago by jermar

  • Milestone 0.6.1 deleted

comment:21 Changed 4 months ago by jermar

  • Description modified (diff)
Note: See TracTickets for help on using tickets.