Re: Endianness

From: Christian Weisgerber <naddy(at)mips.inka.de>
Date: Fri, 22 Mar 2002 00:59:30 +0000 (UTC)

Oliver Fromme <de-bsd-questions(at)DE.FreeBSD.ORG> wrote:

> Völlig richtig. Der Alpha kann beides, und es bleibt dem
> OS überlassen, ob es little-endian oder big-endian laufen
> möchte.

Hmm. Im Alpha Architecture Handbook steht, dass eine Implementierung
(= Prozessormodell) einen Big-Endian-Modus anbieten *kann*. Der
Programmcode wird davon unabhängig immer als 64-Bit-Quadwords in
little-endian interpretiert. Das macht Spaß bei Toolchain und Trap-
Handlern.

> Die BSDs und Linux haben es da einfach Tru64 nachgemacht
> (oder sich an die i386-Linie gehalten) und sich für little-
> endian entschieden.

VAX war little-endian, da überrascht es nicht, dass DEC das bei den
Nachfolgern beibehalten hat.

> Prinzipiell kann die Entscheidung big- / little-endian so-
> gar von einem Prozeß für sich (lokal) umgeschaltet werden.

Wie? Das Architecture Handbook verlangt von einem optionalen
Big-Endian-Modus nur, dass er beim Booten irgendwie eingeschaltet
werden kann. Praktisch heißt das, aus dem SROM. Eine Umschaltbarkeit
im Betrieb wird explizit nicht gefordert, und der gewählte Modus
gilt für Usermode und Betriebssystem.

Ich weiß nicht, was die vorhandenen Implementierungen im Detail
anbieten.

-- 
Christian "naddy" Weisgerber                          naddy(at)mips.inka.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 22 Mar 2002 - 02:30:37 CET

search this site