Re: [uClinux-dev] [PATCH v2 1/6] m68k: merge mmu and non-mmu versions of muldi3

Greg Ungerer
2011-04-20T10:20:55Z

Hi Philippe,

On 20/04/11 19:55, Philippe De Muyter wrote:
> On Wed, Apr 20, 2011 at 07:31:33PM +1000, Greg Ungerer wrote:
>> On 20/04/11 19:12, Philippe De Muyter wrote:
>>> On Wed, Apr 20, 2011 at 10:55:15AM +0200, Geert Uytterhoeven wrote:
>>>> On Wed, Apr 20, 2011 at 10:06, Sam Ravnborg<sam@ravnborg.org> wrote:
>>>>> Hi Greg.
>>>>>
>>>>>> +
>>>>>> +#if defined(__mc68020__) || defined(__mc68030__) || \
>>>>>> + â”œÃ­ â”œÃ­defined(__mc68040__) || defined(__mc68060__)
> (*)
>>>>>
>>>>> Why use these to decide if this is MMU or not?
>>>>> This code is not exposed to user-space so we can rely on CONFIG_*
>>>>> symbols.
>>>>> IMO the CONIFG_* symbols is easier to read/maintain.
>>>>
>>>> Because technically it doesn't depend on having a MMU or not, but on
>>>> having
>>>> the full 32-bit multiplication instruction or not.
>>>>
>>>> Does Coldfire-with-MMU (for which we haven't integrated the support
>>>> yet) have that
>>>> instruction?
>>>
>>> Actually, MCF547x& MCF548x (CFv4e family) are integrated but without
> (*)
>>> their
>>> limited MMU functionality.
>>>
>>> freescale had even written an mmu port for 2.6.25 but has not pushed it
>>> upstream. This port can be found on their site or in the openwrt
>>> repository.
>>
>> Part of my plan with the merge of m68k and m68knommu is to make
>> it easy to support the v4e parts with MMU enabled. And certainly as
>> I work through cleaning the individual files up I am doing it
>> with this in mind. Of course most of the code to support the v4e
>> is the same no matter if you have the MMU enabled or not.
>>
>> I have Freescales 2.6.25 kernel, but it is really only a reference
>> point for this work.
>>
>>> MCF547x& MCF548x do not have that instruction.
> (*)
>>
>> Thats right. I believe the processors listed in the patch are
>> the only ones that currently support the 64bit mul.
>
> The 68340 has it also. (And I have an old linux port for this processor)

That is just a SoC that contains a 68020 though, so __mc68020__ would
be defined for that.

> I surmise the 68360 has it also.

I believe that is a SoC with a 68040 cpu core, so I would expect that
__mc68040__ would be correct for that.

> Philippe
>
> (*) Greg, there must be something with your mail installation : it garbles
> the messages. (or is it mine, but I noticed that only with replies from you ?)

Unfortunately mail getting to me goes through an MS exchange server
that tends to garble some parts of emails. Not too much I can do
about that (at least using the existing gerg@snapgear.com email
address).

Regards
Greg

------------------------------------------------------------------------
Greg Ungerer -- Principal Engineer EMAIL: gerg@snapgear.com
SnapGear Group, McAfee PHONE: +61 7 3435 2888
8 Gardner Close FAX: +61 7 3217 5323
Milton, QLD, 4064, Australia WEB: http://www.SnapGear.com