I like to follow the progress of the stuff I use, so I decided to keep track of Linux/APUS changes so others with the same interest can get an idea of what's happening.
I also keep source code ChangeLogs (ChangeLog-22x and ChangeLog-23x) for the Linux/APUS changes which are available from the 'docs' directory at SunSITE Denmark.
Please note that some of the entries may only apply to one of the kernel trees. If in doubt, check the 22x and 23x ChangeLogs for details.
991030
Added notes about MUI installer from Duncan Gibb
Added link to R5 installation guide.
Updated stable and developer sources.
Updated the FAQ with text from Sven Luther and Douglas Valentine.
More hypercom updates from Gordon Huby.
Sound and heartbeat patch from Chris Lawrence
Added A1200 HyperCOM1 serial driver from Gordon Huby.
Added keyboard fix from Jeff Crystal/Geert Uytterhoeven.
Fixed some broken APUS links (thanks Douglas).
Re-organized this document a bit.
Made a new stable branch.
Added a new paragraph about kernel sources/diffs. (suggested by Douglas Valentine)
Added a new FAQ entry from Sven Luther.
Source release only - serious changes and known keyboard problem.
Updated to Linux/m68k 2.2.8.
Merged in a few vger changes. apus_setup.c needs a major overhaul, but now the framework is there to do a proper job of it...
Applied fixes from Chris Lawrence and Jouko Pynnonen.
Fixed a few broken links (thanks, Geert).
Added some stuff to /proc/cpuinfo so an Linux/APUS system can be recognized by the installer.
Added new section about X and CyberGfx stuff from Jeff Crystal.
Added __lshrdi3 patch from Gabriel Paubert (paubert@iram.es) (from ppc kernel list).
Added mb() to ser_ioext in an attemt to work around a problem found by Peter Kaltstein (CyberStrike@studbox.uni-stuttgart.de).
Named the files of this document so you can now add bookmarks that will work.
Added the PCMCIA WHIPPET & APNE drivers. Mecha Ike deserves credits for almost beating me to it :)
Updated to Linux/m68k 2.2.3pre1.
Added mb() fix for A2091 driver from Jes.
Added yet another info item for GPM, this time from Gerard Cornu.
ChangeLog now available from this document. Incremental change logs included in the linux-apus-YYMMDD.diff diffs as a comment.
Ken Tyler sends me a virge blitter fix as a birthday present ;)
Arno Griffioen takes matters in his own hands and fixes DMA on the A3000 SCSI controller :)
I added the same DMA patches to the A2091 and GVP11 drivers.
Updated to Linux/m68k 2.2.1pre2.
Cleaned up serial driver and GDB support.
Added gpm note from Robert Ramiega.
Updated to Linux/m68k 2.2.1pre1.
Removed parallel/printer drivers. The new driver scheme seems to hang the kernel and I don't have the time to track it down now.
Updated The Linux/APUS Doc'n'FAQ to compile with DocBook 3.0
Debian install help updated (Michel Dänzer)
Added Virge Z2 support from (Christian T. Steigies).
NO_RELOAD_TAB fix from Michel Dänzer.
Cleaned up APUS: output during boot.
Virge update from Ken Tyler.
Other video updates from Geert Uytterhoeven.
Module fix from Andreas Schwab.
Menuconfig and module fix from Michel Dänzer).
Rewrote part of the interrupt handling. Lvl7 interrupts cannot be avoided, but they are now treated as the bogus Lvl0 interrupts.
Updated to Linux/m68k 2.2.0pre7.
Replaced the obsolete cvppc driver with the pm2 driver (Ilario Nardinocchi).
Fix BlizzardPPC SCSI's dependencies (Michel Dänzer).
Replaced iobarrier() with mb().
Added fix for building lp as module from Frank Petzold.
Removed FastLane from list of working hardware and from the precompiled kernels.
Added Debian installation section by Michel Dänzer.
Updated to Linux/m68k 2.2.0pre6. There might be problems with memory mapping devices. If you experience problems, try using the nobats option.
Added PowerUp PCI Bridge detection to boothack. Contributed by Ralph Schmidt.
Updated to Linux/m68k 2.2.0pre4. Light my fire, baby! It's smoooking fast :@) X starts in no time now... I need to get this kernel installed on Concubine!
Changed installer directory structure on SunSITE Denmark in preparation for proper support of Debian installation schemes.
Martin Koenig sez the Ariadne II driver is working (somewhat slow though).
Carlos Mayo sez the SurfSquirrel is working. (PCMCIA card, right?).
Updated The Linux/APUS Doc'n'FAQ here and there. If I missed anything during the past couple of weeks, please let me know.
Updated to Linux/m68k 2.1.131.
Added patch from Richard Hirst to fix CDROM mount problem on A4000T/A4091 SCSI.
Changed CONFIG_PPC in sound driver to CONFIG_PMAC. I'd like to know if it solves the problems.
Added a handful of patches from Chris Lawrence.
Updated to 2.1.130
Fixed off-by-1 error in reloc code. This is what stopped some people from running the later kernels, I'm sure.
Added a (good) handful of iobarriers to the MFC serial driver. It might have fixed the reported problem.
The latest directory now contains files (not links) with dated names to prevent confusion in the future. If people try to download using a cached and obsolete name, they should get an error.
Reintroduced the head.S progress values.
Included Whippet driver. I got a patch from Carlos Mayo some time ago, but it was already included in 2.1.127.
Changed a few bits of the new relocation magic per suggestion from Paul Mackerras. I can't imagine it will help on the failing boxes but one never knows.
Added new sections by Marco (FAQ) and Matthias (X).
Added some Debian/PPC links from Sven Luther
Updated list of included drivers.
The vger integration is pretty much done now.
Reports of 981121 failing to boot. *sigh* If you can get it to boot, use an older kernel.
Added X help text from Marco De Vitis.
Good progress on the major Linux/APUS workover and vger integration. It's now close to being possible to boot a Linux/APUS kernel on any of the other PPC targets. Do I need to point out that this is a Good Thing(TM) for distributions? :) Still a few nits to sort out though.
boothack needed a modification to allow the above changes so you need to get that as well. It is backwards compatible, so you can still use it with the older kernels.
Included pretty much all drivers in the kernel image (and Mac FS and partition table support).
Worked on vger integration.
Renamed iobarrier macros.
Updated CyberVision driver. Might have broken it, please let me know.
Cleaned up links (see Chapter 12).
Replaced auxmem with a simpler hack. Even though auxmem would have been pretty compared with the random hacking of Z2 and motherboard memory now used, it would also have been overkill.
Updated to 2.1.127.
Added section about installing from a RedHat/Rough Cuts CD.
Included Ilario's CVPPC frame buffer device. See the home page for details on use (the section called Linux Links in Chapter 12).
Sync'd with vger again. Mainly to get some Linux/APUS changes into the Linux main tree.
Juiced up my motivation (nice meeting you, Ken & Julian :)
Fixed stupid bug in mm_ptov. Found by Ilario.
Redid the fb X fix, avoiding ptov calls.
Added '60nsram' kernel option.
Added 'nobats' kernel option.
Improved memory mapping; should use BATs correctly, even on Blizzard/PPC cards with weird alignment.
Added patch from Peter McGavin to fix EGS.
Added patch from Frank Petzold to fix modules.
Worked a bit more on The Linux/APUS Doc'n'FAQ
Sync'd PPC stuff with vger.
Proper fix to the X problem.
Started rearranging The Linux/APUS Doc'n'FAQ into two parts.
Added IDEDOUBLER fix from Geert Uytterhoeven.
Added X fix from Carsten.
Added some installer doc changes from Ken Tyler.
Sven found the problem preventing proper operation on Blizzard. It was as suspected all along related to the new (soon obsolete :) booting process.
I have started using egcs-1.1 for building kernels. They seem to work fine on my box. I'd like to hear from you ASAP if they don't work on your box.
I don't know if the patches the 'misc' directory at SunSITE Denmark are necessary for egcs-1.1. I guess time will tell. (Remember; if parts of the patch seems to be missing in egcs-1.1 it doesn't necessary mean that the problem the patch fixed in 1.0.3 hasn't been fixed in some other way.)
Included the serial driver again.
Added RedHat install updates from Ken Tyler to The Linux/APUS Doc'n'FAQ
Updated to 2.1.124 (X is still broken).
Included Fastlane SCSI driver.
Wasted some more time on KGDB. It's still not good, but it's better.
Added heartbeat.
Made KGDB work (still some problems to sort out, but it is usable).
Added workaround for ioremap bug. You can now use motherboard/Z2 memory for swap (see relevant FAQ entry).
Added compiler option (-fno-strength-reduce) that may (or may not) affect the A4000T/A4091 SCSI drivers.
Added some more changes to the RedHat installer sections from Ken Tyler.
Included some changes to the RedHat installer sections from Ken Tyler.
Added new FAQ entry from Ken Tyler (disabling CV to boot on AGA).
Added new section with suggestions for The Linux/APUS Doc'n'FAQ
Christophe Decanini reports that RH CDROM, FTP and NFS installation methods work.
Added Geert Uytterhoeven's patch to allow 1024x768-16bp with CyberVision.
Undid the first change of 980907 since it made the kernel fail to boot on most other machines.
Updated to 2.1.120.
Only 128kB is eaten by the PPC exception registers now, leaving 384kB more free memory than before.
Added a simple and not yet fully functional method for using motherboard memory as swap. See new FAQ entry.
Submitted patch to vger (well, to Geert, really :)
Added code to determine bus speed written by Ralph Schmidt.
Added latest vger PPC changes.
The above bloated the kernel so much that a linker/booter problem prevented it from booting. I removed the Retina and clGen graphics drivers because of this.
It's now possible to disable wait states for all bus speeds. Sven Ottemann has been pushing for this for some time, but let me warn you; you need 60ns RAM, and according to Phase5 it doesn't work on 66MHz buses. YMMV.
Now the bus speed ID is output at startup to help debugging.
Sven Ottemann fixed the booter to be a one-file image, rather than the old ADOSHUNK/ELF pair.
Made the booter clear all MMU registers. head.S now sets up all the required mappings - which makes the Blizzard/PPC get past the old trouble spot. There are still some problems left though.
Reintroduced colors to The Linux/APUS Doc'n'FAQ, marking new stuff. The chapters and sections are appended with a date where appropriate so you can see where the latest changes are from the table of contents.
Updated to Linux 2.1.119.
Fixed a potential problem in head.S. Blizzard/PPC owners should give it a try.
Ken Tyler informs me that the A4091/A4000T SCSI driver is finally working. This is due to the fabulous work of Richard Hirst. Still, this has resulted in an item on the to do list (performance penalty).
I have put my sources under CVS control so in the future I will be able to release incremental diffs of the Linux/APUS sources.
Francisco also reports that the Hydra driver is working.
Blizzard/PPC owners should check the FAQ entry specific to their HW. I just added a suggestion from Sven Luther.
Francisco Sepulveda informs me that the Picasso driver is working on his A3000T.
Added patch to menubox.c from Frank Petzold.
Changed kernel to use segment registers for mapping kernel space. This might fix the A4000T/A4091 driver problem (even though I'm tired of being enthusiastic about that :)
Completed move of The Linux/APUS Doc'n'FAQ to DocBook. That took some time!
I wonder if anyone will miss the color highlighting of changes to the document? If so, let me know and I will get it working again.
Added some changes from Linux/PPC
Included Blizzard/PPC SCSI driver again.
Included Buddha IDE driver.
Included patch to socket.h
Included clgen gfx driver.
More additions to the A4091 support.
Updated to linux-2.1.115
Unfortunately the new boothack still can't boot Linux/APUS properly on Blizzard/PPC - possibly a problem with the 040. I'd like to hear from CyberStorm/PPC people who can boot on an 040.
Added a few syncs and eieios to the booter.
Added Sven's Blizzard SCSI patches. The kernel image in vmbl980801.lzh includes this driver and a not the Gayle IDE driver which conflicts with the SCSI driver for some reason.
boothack: Added more robust synchronization between the CPUs (the "wedgie" scheme).
boothack: Added stack space for PowerPC in CHIP.
boothack: Invalidate cache contents.
boothack: Disable TimerBase interrupts (this is the one that won the gold).
The above ensures rock-stable booting on my box with the 980711 ppc.library. No more bad checksums; it's just awesome :)
Updated my ppc.library to 980711. I now know what the problem has been on the Blizzard/PPC cards - I think :)
Moved head.S progress word to 0xfff0eff0.
Added some text about how to avoid memory problems when booting (Please do read it and tell me if it is of any help, or if it requires changes/additions).
Added checksum code to the booter.
Fixed the problem with zorro devices count.
Fixed memory initialization code again.
Fixed silly bug in an A4091/A4000T SCSI driver support routine which caused kernel panics.
Thomas Lohmann informs me that Ken&Son's RedHat Installer works with FTP.
Added new contrib directory at SunSITE Denmark (see Chapter 13).
Memory initialization should now correctly identify an active Amiga DOS ROM shadow and ignore that 512kB block of memory.
Changed date format to YYMMDD.
Fixed problem with Zorro structures (get newest boothack).
Apparently lots of stuff is broken in 2.1.108: CyberVision, GVP HC+8, you name it. I'm clueless. Nothing really changed on the Linux/APUS side of things, so I must have missed some serious Linux/m68k changes.
Thomas Lohmann informs me that CV works with the console in all resolutions after he installed the ppc.library included in cybergfx of 05.07.98 (IIRC).
I tried including sound in the kernel, but there is a build problem.
I have made some changes to the A4091/A4000T driver support that might make a difference.
Added Richard Hirst's 53c710 patch.
Moved patches to 2.1.108.
Added a few FAQ changes suggested by Thomas Lohmann. He also told me that the GVP A2000-HC+8 Series II SCSI controller is working with Linux/APUS.
Increased SCSI timeouts.
Tested Linux/APUS startup with ppc.library version 46.15 and 68060.library version 44.3. No problems whatsoever on my box.
Massimo Gais has made a mirror of the apus directory at ftp.unina.it.
Reordered the sections in the installation chapter.
Changed the booter to disable ROM mappings. Maybe it will help on Blizzard/PPC cards?
I have run of ideas for what could be causing the Blizzard/PPC problem. Someone with a Blizzard/PPCs needs to dig in and have a look. I'm not spending any more time on this....
Ken and Julian Tyler have completed the RedHat Installer support for Linux/APUS. Obviously this makes it much easier to get a system properly installed and working.
SunSITE Denmark has been unaccessible for a couple of days now. It's due to a cut cable on the Danish back bone (I think).
Bartek Kozakiewicz tells me that HFS and ISO9660/Joliet drivers are working. And also that the printer driver is working.
Now writes head.S progress to 0xfff07000. Hope it works this time... *sigh*
Cleaned up Linux/APUS changes to intrude less on the Linux/m68k sources.
Carsten Plunkte tells me it is important to apply the egcs patches from SunSITE Denmark if building applications (I added a new subsection to Applications).
Moved patches to 2.1.105.
Geert Uytterhoeven tells me that emacs-nox also fails on CHRP so it is indeed an application problem.
Updated ppc.library to V45.20. Everything is still working. Also tried installing another 8MB but the ppc.library (V44.27) wouldn't run then. I might try installing the RAM again with the new ppc.library at some time.
Corrected initial mapping in head.S - I had set it to 4MB, not 8MB.
Now writes head.S progress to address 0xfff02ffc which exists on all PoweUp boards and is not deleted by the Phase5 PowerPC software (not on my box anyway).
The emacs compiled with X libs works, so I think the problem with emacs-nox is probably a generic (application) problem, and not caused in particular by the Linux/APUS kernel.
More reports of problems booting the newest kernels. I'm at a loss here - the kernels are working fine on my box.
Merged in a few vger changes and submitted the few Linux/APUS changes to the vger tree.
I replaced the head.S serial progress output with a counter updated in memory. If the kernel hangs for you before it opens a display, have a look at address 0xfff04000 after rebooting. The long word should read 0x1234000?, with ? being between 1 and 8.
SCSI drivers are now again included in the precompiled kernels.
Exception registers are now mapped with caching enabled.
The kernel can now reboot the machine (thanks to Holger Jakob who bugged Ralph Schmidt for the information.)
The kernel should now be able to handle weird aligned memory (such as 24MB aligned to an 8MB boundary).
While working its way through head.S (early initialization) the kernel now writes the characters A-F to the serial port much like Linux/m68k. Caching issues prevents it from being just as detailed as in Linux/m68k though.
Removed BOOTP/RARP support.
Found potential cause of the Blizzard/PPC problems; the first mapping set up before the memory system is initialized used a 64MB mapping instead of the 16MB mentioned in the comment. I changed it to 8MB which should allow a Blizzard/PPC box with only 8MB to boot Linux/APUS.
Included support for msdos partition tables.
Put some patches for egcs-1.0.3 in the misc directory at SunSITE Denmark. I don't know how important they are: I've recompiled a working kernel under Linux/APUS without the patches. The patches are from a posting on the Linux/PPC kernel list.
More patches for vger and the Linux/m68k kernel have been submitted.
Linux/APUS is now up-to-date with Linux/m68k 2.1.101 and Linux/PPC-vger-980523.
I finally got around to installing a new disk in my Amiga so I can now do some more testing on it. Also installed RedHat/PPC/1998.
Egcs-1.0.3 has been released. There are still some Linux/PPC-specific patches which have not been included, but with egcs-1.0.3 and binutils-2.9.1 I can compile a working kernel under Linux/APUS.
Added a new section with mirror sites. First entry is in Poland (thanks Bartek). If you have made a mirror or an archive of the mailing list please let me know.
Jimmy "What's-yer-sir-name?" reported that X is finally running on CyberVision. Shortly after Jeffrey W. Davis posted a nice HOWTO on the Linux/APUS kernel list which I have put in the FAQ section.
Most of the remaining Linux/APUS patches have been applied to the PowerPC tree at vger.
I added a new section about kernel debugging.
I completed the Linux/m68k-2.1.99 and vger-980424 merge. I'll upload this diff and start working on merging 2.1.1xx and vger-980514.
Sven Ottemann reports that CyberVision is working with the console. X does not work. (old news btw, but now it's in the list).
Alex Kazik reports that 980507 change fixed the problems with the GVP 11 SCSI driver.
The 980507 change did solve the problem with at least A3000 SCSI. The 53c7xx driver (A4000T+A4091) is also broken under Linux/m68k so it will not be fixed by the change.
I got my vger merge booting as far as INIT. I'll merge it with 2.1.99 before tracking the last problems down.
Removed A4091 and A4000T SCSI drivers from the precompiled kernel.
Hopefully fixed kernel_map/VTOP problems. Also cleaned up cache functions. SCSI users should try if this improves things.
Removed the sound driver from the precompiled kernel.
Completed vger merge. Can't test it though since my shiny new RedHat 5.0 box doesn't like me using the network. I'll re-install 4.2 sometime in the coming week.
I think I have found the problem with the SCSI drivers: they use cache_flush/clear with addresses that are not necessarily in kernel space (bounce buffers. user space buffers(?)). The PowerPC uses virtual addresses in its cache instructions and PTOV is non-trivial, slow and definitely not working correctly at the moment. Have to give this some serious thought.
Thomas Lohmann reports that Ariadne is working.
Updated texts about news group and cross-compilation.
Jouko Pynnonen reports that Linux/APUS is finally working on the A1200 Blizzard/PPC.
Sven Ottemann updated the hdinstall script.
Holger Jakob uploaded an XF86Config example file for 640x480x256 AGA, and a patch for gpm.
Tripled SCSI timeouts.
Reverted BAT mapping change of 980425. Configurations with non-power-of-two memory sizes fail with this.
I have to rewrite the memory mapping to support the CyberStorm/PPC HW properly: the PowerPC is not happy with the weird alignments caused by growing the memory downwards (as designed by Phase5). If Amiga DOS was using the MMU, I'm sure the memory base would be at the bottom of the addressing space.
Changed the CPU speeds for Blizzard/PPC to 50MHz/66MHz.
Continue with vger merging.
Started to merge the latest vger changes into the Linux/APUS kernel sources.
Use same page fault mechanism on PPC603p as on PPC604. May solve problem with Blizzard/PPC.
Realized that some people might have a memory configuration which cannot be mapped with BATs. Added instructions in the section called Booting Linux/APUS (991030) in Chapter 4.
The kernel I build with egcs-1.0.2 after disabling the inline assembly versions of __swab16/32 seems pretty stable.
Made a small (fancy :) script which makes it easy to mark changes in the HTML version of this document with colors.
Had a go at using egcs to compile the kernel. Didn't work very well. I hope the next egcs release will fix it. If you have the time, please try to get gcc-2.7.2.1 (available from SunSITE Denmark in misc) running under Linux/APUS and upload the binaries to SunSITE Denmark.
Sven Ottemann reports that the floppy driver works with both affs and msdos formatted floppies.
Map exception vectors and CyberStorm/PPC control vectors with different BATs for improved performance.
Unfortunately the last booter changes made it unusable. The 980425 version should be better.
Thomas Haller reports that A3000 SCSI actually works if DMA is disabled.
Added some progress information to the booter which can be used (hopefully) to find the Blizzard/PPC problems. See FAQ.
Fiddled a bit with gcc under Linux/APUS. The version of gcc I use on Concubine (x86) I cannot get properly working under Linux/APUS. I have to look into the problems with egcs RSN. I put an additional gcc patch on SunSITE Denmark/misc, but it's probably not worth getting; Linux/PPC is going to use egcs in the future so I have to get those problems fixed anyways. Stay tuned!
Fixed bus_to_virt/virt_to_bus macros. May help A4000T and A4091 drivers.
Checked if LPSTOP could be used on the MC68060 to reduce heat in the box. It cannot.
Fixed problem with debug=mem. This may also affect drivers using the VTOP macro.
Completed the last part of the FAQ. Added the new kernel mailing list address.
Proper bus speed check for A1200 Blizzard/PPC.
The new HTML FAQ almost done. Will announce it and the new directory Monday.
Added patch from Holger Jakob to allow inclusion of DMA sound.
Started work on SGML'ogrifing the FAQ.
Got a dedicated directory at SunSITE Denmark. Thanks Karsten!
Added a patch from Carsten Pluntke to fix a virtual-to-physical address translation problem causing X to crash.
Fixed a potential problem with ioremap. Hopefully SCSI drivers using kernel_map (A4000T/A4091/Fastlane) will now work.
Added a GDB debugging stub to the kernel sources (not the binaries).
Sven Ottemann completed the HD install script. Get hdinstall.lha and the newest FAQ for instructions.
Added handling for booting on systems where the ROM has been mapped to RAM. (not tested)
Added a compiled version of the kernel without the A3000 SCSI driver.
Added PPP driver.
Added a few extra drivers.
Applied some more of Roman's patches.
Fixed RAM disk problem.
Applied a few of Roman's patches.
Changed the way the exception vectors are handled. You have to get the new boothack as well (bh980326.lha).
Moved the patches to 2.1.90.
I still have a few of Roman Zippel's patches that have not been applied.
I wrote a small Linux/APUS FAQ available from SunSITE Denmark in the apus directory.
The kernel now auto detects the bus speed.
If you have a system with a 60MHz bus speed and press the left mouse button while booting, the memory waitstate will be removed (this requires 60ns RAM).
Kernels now compiled for 60MHz and 66MHz busses.
Includes a few more drivers.
Kernel seems to be working. I experienced some random signals to user processes during the weekend, but was not able to reproduce it.
Compiled a version for 50MHz busses with 60ns RAM.
Included System.map and .config for reference.
Did some more magic with the interrupt handling.
Tracked down the problem causing the kernel to hang from time to time (A2065).
Compiled two versions of the kernel; one for 50MHz bus and one for 66MHz bus. I will add auto detect soon.
Moved my changes to 2.1.85.
Cleaned up the handling of interrupts. Mismatch between Phase5 doc and actual behavior (Phase5 notified).
The kernel still hangs from time to time (while processing bottom half interrupt handlers). This might be due to some spurious interrupts, improper interrupt handling, or some problem in the kernel code that only affects Linux/APUS. I'm looking into it.
Added minix support to the kernel.
The kernel happily boots the ram disk but is pretty unstable. This is due to improper interrupt handling. I think I have it nailed down, though.
Ram disks now work properly (also updated the booter).
The patched instructions in the hashing algorithm had to be copied to 0xfff00000 where the exception vectors are located on Linux/APUS.
IDE driver is now working.
Kernel hangs when elf_create_table is accessing the stack of the user program to be launched (problem with exception handlers?)