This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: MMU Off / Strict Alignment


>> > Second, this is a contract issue. If newlib intends to support
>> > embedded platforms, then it needs to implement algorithms that are
>> > functionally correct without relying on an MMU. By all means use
>> > simpler or smarter algorithms when an MMU can be assumed to be
>> > available in a given configuration, but provide an algorithm that is
>> > functionally correct when no MMU is available. "Good overall
>> > performance in memcpy" is a fine thing, but it is subject to the
>> > requirement of meeting functional specifications. As Jochen Liedtke
>> > famously put it (read this in a heavy German accent): "Fast, ya. But
>> > correct? (shrug) Eh!"

The ARMv8 reference manual defines three profiles of which only A
profile cores support A64 instruction set.  An A profile core has an
MMU.

> Initializing an MMU oversteps the definition of "a few low-level routines" in
> my book, especially since this is intended to refer to callbacks to UARTs
> and so on.

There is an implementation of the MMU initialization provided in
libgloss/aarch64.  This initialization comprises 1 routine of 24
instructions.

/Marcus


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]