[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