[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] MiNT on Coldfire



Norman Feske wrote:
> Dear MiNT folks,
>
> I just want to let you know that the MiNT kernel runs
> now also on the Coldfire. I wrote a detailed description
> of how I ported the kernel to this platform. You can read
> it at:
>
> http://acp.atari.org/articles/mcf5407eval/mcf5407eval.html

Very interesting document. It shows clearly, how little MiNT now depends on
TOS (in fact: mainly BIOS). Two notices anyways:

1) in various places you refer to VBL interrupt. MiNT does not use VBL
interrupt, it divides the Timer C to get the 50 Hz interrupt frequency, and
uses this for scheduling and so on. This was VBL once though, and I admit
that this terminology lasts in MiNT sources thus far.

2) the CPU detection. You say that "MiNT detects 68040 for some reason". The
CPU detection routine relies on the behaviour of the CACR register. On
68030, the 15th bit of this register is always read as zero and ignored when
written. On 68040, the same bit controls the data cache. The routine simply
sets this bit and checks, if it is set. If so, this is 68040, and 68030
otherwise.

This bit apparently is settable on Coldfire, thus the detect fails.

I can't say I like this procedure (eventhough I am the author) because it
does something that Motorola does not approve ("for future compatibility
writes should not set these bits"). If there's some better way to
differentiate 68030 and 68040, I am all ears.

--
CVV
Konrad M.Kokoszkiewicz, http://draco.atari.org

** Ea natura multitudinis est,
** aut seruit humiliter, aut superbe dominatur.
** Taka to juz natura pospólstwa, albo sluzalczo sie plaszczy,
** albo bezczelnie sie panoszy. (Liwiusz XXIV, 25).