Page MenuHomeFreeBSD

[PowerPC64LE] (WIP) Cross-endian loader support
AbandonedPublic

Authored by bdragon on Oct 6 2020, 7:09 PM.

Details

Reviewers
None
Group Reviewers
PowerPC
Summary

Due to _elfN(x) only having a distinction between 32 and 64 bit (meaning we can only have one load endianness in a given loader binary), and the requirement that we need to build a 32 bit big-endian loader that can load 64-bit little-endian kernels, teach stand/common/load_elf.c how to do a cross-endian load.

This hasn't been proven to work correctly (kernel currently crashes, but after banner. I need to reverify with my old load procedure that the kernel is still okay on pseries.)

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

bdragon edited the summary of this revision. (Show Details)

We are going to go with the solution of compiling the entire loader in LE, so we don't have to deal with stuff like filesystem endianness etc.