oxidecomputer / oxidecomputer/helios

APCB configuration should support 1 TiB RAM

Open
#51 1 comment 0 reactions 1 assignee View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
481
Forks
21
Avg merge
1d 17h
Merged PRs (30d)
2

Description

There are a handful of configuration parameters that need to be set in the APCB to support the full 1 TiB of RAM on machines that have it. There is a 12 GiB region of physical address space immediately below 0x100_0000_0000 that is used in some very poorly specified manner by the IOMMU, possibly even if it's disabled. It is possible, at least sometimes, to remap the DRAM that would otherwise land in this region above that hole, just as is done for the normal MMIO hole below 4 GiB. The AMD AGESA manual explains the tokens that are involved and the limitations (which depend in turn on DRAM interleave settings). We should make sure that we're at least trying to do this remapping; if we also have to change interleave settings to make it work, we will need to do a performance evaluation to see whether it's better for the customer to lose 12 GiB of DRAM or use a suboptimal interleave.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.