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

[MiNT] FreeMiNT for ColdFire: Generic - was: XaAES




Am Dienstag, den 17.05.2011, 09:33 +0200 schrieb Stefan Niestegge <beetle@abbuc.de>:

The kernel still has to be fully patched (mainly the "arch" subdir), the various modules have to be checked and maybe patched, same story for the tools...
I'm going to continue!

Understood. Thanks and thumbs up for the good work! Keep going!

I want to mention the following,... from my point of view it is an big problem. Maybe I'm just to confused ;) And I don't want Vincent to repeat everything he already told about it. However, I try to explain - don't take everything here for the real thing..., I'm just getting into it...

With the firebee we have 2 optional low-level systems. Options: a.) the BaS b.) dbug. Both of them hide the real hardware and put the TOS into an Hardware environment which looks like the one of the falcon
(and it's ready to have a go... "everything" is initialized etc...) .
If you want to access hardware - that's maybe possible. Vincent said: "just do it as you would do it - it will work" - I'm not sure what Vincent meant with that - because I would do it as the Coldfire Manual tells me, but maybe he thought
I would do it as I would do it with my Falcon...

It's also possible to start the firebee without dbug / BaS. Drawback: no m68k compatibility, no hardware init. I could live without the m68k compatibility, however - the early hardware init would be up to the EmuTOS. (That's the only TOS running without dbug/BaS). (Altough the code is already present within FireTOS/BaS/dbug I assume something is blocking that code from beeing used within FreeMiNT/EmuTOS...)

Problems:
- Maybe the FPGA/BaS remamps memory Registers to the addresses where TOS expects the hardware - or does it mirror them? - More critical: when running freemint on top of BaS/dbug/Firetos ( whooo,... there is so much low level stuff loading before MiNT ) we don't have access to the Ethernet hardware... FireTOS/dbug already uses the Hardware - and dbug runs in Super-User mode - where MiNT doesn't run in SuperUser mode - and it will never run in super user mode with FireTOS/dbug/BaS. So there is no way to stop dbug from using the Network hardware. It's not an option to use the lwip stack as network hardware - because that would mean 2 stacks stacked together. Maybe it would be an option if there is an gateway to low-level LWIP packet functions,... However, the upper layer of lwip probably expects these packets to be passed to it's own upper layer. - In generally you are free to do with an kernel what/where you want to do... with Firebee this doesn't seem to be possible. That's possibly ok as long as you don't need priviled instructions & don't want to use custom coldfire drivers... - but what I find more complicated is the fact that there is already some low-level task running which prevents me from accessing the Network Hardware... (If you would ask me, I would just shutdown these LWIP tasks, but freemint kernel has no right to do that and even if it would, it would need to know how to do that).

I know this is chaotic... sorry guys.

So there are different directions for FreeMiNT:

FreeMiNT with FireTOS/dbug
FreeMiNT with FireTOS/BaS
FreeMiNT with EmuTOS/BaS
FreeMiNT with EmuTOS ( totally native, no access restrictions, full access to hardware - sounds good, 'eh? ;) - but the EMUTOS code misses a lot which is expected to be there when FreeMiNT boot's up.... , like MMU setup)

I guess some FreeMiNT kernel guru will answer this mail, clarify everything and give us direction ;)

Greets,
m