Suche Linux-Anschluss im Raum Bi-Sennestadt
Jan 'RedBully' Seiffert
redbully at cc.fh-luh.de
Tue Apr 24 20:11:16 CEST 2007
Pfeiffer wrote:
> Meine Name ist André Pfeiffer bin 35 Jahre und bin absoluter Newbie in
> Sachen Linux.
>
Halli hallo!
> In meiner programmiertechnischen Vergangenheit habe ich mich mit dem Amiga
> beschäftigt und verfüge über Kenntnisse in 68k-Assembler, Pascal und Basic.
Du schreckst also wenigstens nicht davor zurueck, dir die Bits und Bytes
Untertan zu machen ;)
> In Sachen Linux habe ich NULL Ahnung und versuche mich nun an einem
> schwierigen Projekt und kann jede erdenkliche Hilfe gebrauchen.
>
> Das Projekt an dem ich mitwirken möchte besteht aus einer PCI-Bridge die das
> Bussystem des PCs mit dem Bussystem eines Amigas koppeln soll.
> Auf dem PC soll eine 68K-CPU-Emulation die Arbeit der Amiga-CPU übernehmen
> und die betagten MC680x0-CPU ablösen.
Hmmm, aber muss fuer die Kompatibilitaet nicht die Geschwindigkeit
eingehalten werden?
> Es handelt sich bei dem Projektteilnehmern um einige Leute aus dem Bereich
> des RetroComputings, wobei die Stärken jedoch im Hardwaredesign liegen.
> Nun geht es uns um eine Firmware für unser x86-Spielzeug.
>
Nun, Firmware ist relativ. Das direkteste ware, auf ein OS zu
verzichten, bringt aber die Unanhemlichkeit mit, das man sich ploetzlich
um die ganze x86 Hardware kuemmern muss. Nebenbei wollt ihr ja
vielleicht auf einen schon vorhandenen 68k-Emulator zurueckgreifen, und
die gehen meist von einem OS aus....
> Was ich irgendwie erreichen möchte ist ein wirklich mimimales Linuxsystem,
> welches die PCI-Bridge aktiviert und in der MemoryMap einbindet.
Da der PCI-Bus hier schon gluecklicher weise etwas weiter ist als der
ISA-Bus, tut das schon das BIOS, das heist aber noch lange nicht, das
man das device benutzten kann ;)
Von sich wird Linux das device auch nicht ansprechen, nur eine
"awareness" haben (da ist noch ein PCI-Device, das hat diese
Speicheradresse, aber da kann ich nix mit machen, aber nicht weiter
schlimm...), also wird da ein minimaler Treiber noetig sein.
> Der Adressbereich wird 16MB betragen und sollte ab Adresse $00000000 bis
> $010000000 gemapped werden.
Oehm, und da geht es los...
1) Der Physikalische Speicher an und ueber $000000000 ist belegt, x86
ISA-DMA area und BIOS und foo.
2) PCI-Rescourcen liegen eher so bei $FFFFF...
3) Aber das ist ja nicht schlimm, dafuer gibt es ja Virtuelle
Speichermapings
5) Also dein Treiber stellt ein devicefile zur Verfuegung, worauf ein
(Userspace-)Emulator mit mmap (wofuer du die unterstuzung Programmieren
musst) sich "den Amiga" in seinen virtuellen Adressraum einblenden kann
6) Das kann der Emulator theoretisch auch an Addresse $00000..., da ist
nur ein Problem: dort ist normalerweise das Programm/der Emulatorcode
selbst (bzw. ein bischen oberhalb der Addresse)
Was noch weitere unlustigkeiten zu Tage fördert.
Harware-Unterhaltung/Interrupts und Multitasking sind sich ein wenig
Spinnefeind.
Den Emulator in den Kernel? Uhhh...
Hmmm...
Echte Treiber fuer die devices schreiben? Mom, ne, der Gast im Emulator
soll sie ja benutzen, Doppelemulation ist doof.
RT-Linux? Interruptweiterleitung in den Emulator mit RT-Tasks...
> Das System sollte in der Endphase ohne Keyboard, Maus, Bildschirm arbeiten
> und als CPU-Karte für Amiga-Systeme funktionieren.
> Es sollte (sehr)schnell starten und aus einer RAM-Disk heraus laufen und
> klein sein.
>
Kann man machen, muss man nur Zeit investieren das aufzusetzen...
> Mit freundlichem Gruß
> André Pfeiffer
>
Gruss
Jan
--
<!Mayday> wenn 2 maurer um die wette mauern ist das dann mörtel kombat?
More information about the Linux
mailing list