This announces the availability of version 1.2.13pl6 of Linux/68k. The source and a precompiled kernel are in /pub/Linux/LOCAL/680x0 on ftp.uni-erlangen.de and its mirrors. Changes against the last version: - Fixed the catastrophic performance of reads from MS-DOS filesystems. The cause was an unfortunate combination of two parameters. For the Falcon, there was also a second problem with the changed block size (now default 512 bytes instead of 1024) and the DMA limit of Falcon-SCSI; see also "Atari SCSI" below. (myself) - In several places, NOP's were necessary after bus-error-protected write tests. Without the NOP, the CPU may already have executed the instruction following the write at the time the bus error "arrives"... even on the '030! This was also the cause for the probing failure of the Atari Lance driver ("data write fault at 0xffe00000") (myself) - Cleaned up and corrected comments in serial.[ch]. (myself) - The handling of the "inverse" parameter was IMHO quite messed: It was (formerly) stored in the 'vc_decscnm' flag of the VC, that is also used for inverting the screen via VT100 codes. Ok, besides that that a terminal reset destroyed the inverting information from the framebuffer, this also has caused lots of trouble in the past... (not working at all, working the other way 'round). I think the correct place to handle inverting is in fbcon.c, which should be able to deal with whichever type of framebuffer it is built on. So I've shifted the "inverse" handling into the attr_* macros of fbcon.c. This also required using this macros everytime when applicable (which wasn't the case yet). Also a new macro attr_bgcol_ec for the background color of the erase char was necessary. Hope that fixes the inverse problem for all future :-) (myself) - Several new Zorro product codes (Geert.Uytterhoeven@cs.kuleuven.ac.be) - Added support for kerneld from 1.3.x. With this, the kernel is now able to request modules it needs from a user process (kerneld). (schwab@issan.informatik.uni-dortmund.de) - ELF: more aux infos on startup (schwab@issan.informatik.uni-dortmund.de) - Fixed typos in (schwab@issan.informatik.uni-dortmund.de) - MM fix: don't (try to :-) free an invalid page (from 1.3.x) (schwab@issan.informatik.uni-dortmund.de) - Fixes in the ATAFB_* defines of atafb.c (schwab@issan.informatik.uni-dortmund.de & guenther@pool.informatik.rwth-aachen.de) - Minor Falcon framebuffer fix (guenther@pool.informatik.rwth-aachen.de) - General SCSI: retry commands aborted by a reset, but not those that fail due to any other UNIT ATTENTION condition. Not retrying resetted commands could result in damaged disk data (!) in case of writes, and retrying all caused endless reset loops on not-present removable media. (guenther@pool.informatik.rwth-aachen.de) - Atari SCSI driver changes: o Cleaned up and unified debug output format. (drpiper@cix.compulink.co.uk) o Default CAN_QUEUE on the Falcon is now 8. CMD_PER_LUN is still 1, since greater values cause still unsolved problems. o Revised the handling of the DMA-limit problem of Falcon-SCSI. The problem is that certain commands read an unknown number of bytes, and the transfer length is an allocation length in this case. Using DMA on those commands would cause bytes to be lost in the ST-DMA-FIFO. The decision whether to use DMA or not is now based on the command and device type, not only the transfer length anymore. Thus, 512 byte READ/WRITEs can use DMA now. (myself, with help by Michael Schmitz) o The Atari SCSI driver is able to use SCSI-2 tagged queuing now. Unfortunately, both my two disk don't support tagged queuing :-( so I couldn't test this. But it should work... I'm looking forward to hear about results! Since the feature is untested, it must be turned on manually for now (but may become default in future), see below. o Certain important options of the Atari SCSI driver can now be set without recompiling the kernel by a command line option: atascsi=,,,, All values are numbers. Negative values mean "use default". Brief explanation (more in kernel-options.txt): can_queue: This many commands are queued in the low level driver. 1 turns off the internal SCSI multitasking. Higher values do not cost memory! cmd_per_lun: Maximum number of commands queued for one logical unit. In case of untagged operation, 2 is sufficient. SCSI memory requirements are mainly influenced by this parameter. The exact formula is complicated, but some hits: no scatter-gather : cmp_per_lun * 232 bytes full scatter-gather: cmp_per_lun * 17 kbytes scat-gat: Maximum number of requests merged into one SCSI command (max. 255). 0 turns off scatter-gather. 0 is forced on a Falcon, since the ST-DMA is unable to handler SG :-( host-id: SCSI ID of the Atari host tagged: != 0 means use tagged queuing (on targets that support it...) - There's now a ramdisk device for slow Zorro II 16-bit RAM, e.g. for fast swapping or a /tmp filesystem. To use it, the memory must not be mapped as normal Linux system RAM (by using the -m switch for bootstrap). Unused Zorro II RAM is detected automatically and can then be accessed by the block device /dev/z2ram (major 60, minor 0). In the final version of the driver, the major and minor numbers will probably change. 60/0 is just preliminary until the device is officially registered. I haven't received an answer from Peter Anvin (the Linux device registrar) for my registration request before this release. The original idea and driver is by Ingo.Wilken@arbi.informatik.uni- oldenburg.de, Geert.Uytterhoeven@cs.kuleuven.ac.be added the autodetection of unused Zorro II RAM (zorro_unused_z2ram), and I the access translation via the z2ram_map array. - Made the Amiga floppy driver more "system friendly" by replacing udelay()s with timers (CIA timer B). There is also a new ioctl to access the raw trackbuffer from user space. (dorchain@cscip.uni-sb.de) - Updated Documentation/devices.txt to 1.3.57 level - Remove a bug with SCSI CD-ROMs reading TOC entries in LBA mode (dorchain@cscip.uni-sb.de) - The GVP detection code checked only the Product ID and not the Manufacturer ID. This may give problems when the GVP code tries to get the GVP Extended Product Code for non-GVP boards with Product ID 0x0b (e.g. FastLane Z3 SCSI, Picasso II gfx, SD64 gfx). The IDs for the FastLane Z3 were incorrect. (sb@hplyot.obspm.fr and Geert.Uytterhoeven@cs.kuleuven.ac.be) - arch/m68k/fpsp040/Makefile still lacked a `modules:' line (Geert.Uytterhoeven@cs.kuleuven.ac.be) - The kernel should not try to core dump an inaccessable memory region (ELF format only) (schwab@issan.informatik.uni-dortmund.de) - The Atari floppy driver did a cache push instead of a cache clear at one point. Shouldn't have done any harm, except on a '060 :-) (drpiper@cix.compulink.co.uk) - Changed the Medusa/Afterburner distinction: Now the address 0x00ff82fe is used, that gives a bus error on the Falcon, but is in the range where the Medusa always asserts DTACK. Hope that works now... This also caused a change in the Atari bootstrap, which version thus has been incremented to 1.6. But this is the only change... If you have neither a Medusa or an Afterburner, 1.5 will do the same. (myself) Current Amiga bootstrap version: 2.2 Current Atari bootstrap version: 1.6 (changed) The precompiled kernel contains both, Amiga and Atari support, so it is very big. You propably want to compile your own kernel tailored to your personal needs. Note also that there have been some problems reported that such big kernels cannot be booted with Amiga Lilo. Roman