summaryrefslogtreecommitdiffstats
path: root/sys/contrib/dev/fla/README
diff options
context:
space:
mode:
Diffstat (limited to 'sys/contrib/dev/fla/README')
-rw-r--r--sys/contrib/dev/fla/README198
1 files changed, 198 insertions, 0 deletions
diff --git a/sys/contrib/dev/fla/README b/sys/contrib/dev/fla/README
new file mode 100644
index 0000000..78433de
--- /dev/null
+++ b/sys/contrib/dev/fla/README
@@ -0,0 +1,198 @@
+ README and FAQ for the fla driver.
+ ==================================
+
+
+[0] COPYRIGHT & LICENSE
+
+ Please read the COPYRIGHT file carefully. If you cannot
+ agree to be bound by the terms of this license, please
+ contact M-systems and make arrangements with them.
+
+[1] What does this driver do ?
+
+ This driver supports up to eight M-systems DiskOnChip
+ devices.
+
+ The driver has been tested with the following devices:
+
+ DiskOnChip2000 (8, 12, 24, 32, 40, 72, 144 MB)
+ DiskOnChipMillenium (8 MB)
+ DiskOnChipMillenium TSOP (8 MB)
+
+ You can find full details, specs etc on M-systems homepage:
+ http://www.m-sys.com
+
+[2] Which firmware version ?
+
+ The driver has only been tested with version 1.21.
+
+[3] How many devices ?
+
+ The driver supports up to 8 devices but have been tested only
+ with 5 due to hardware limitations in my test setup.
+
+[4] Which FreeBSD versions ?
+
+ The driver is tested for 4.0-CURRENT and 3.3-RELEASE.
+
+ Porting to earlier versions of FreeBSD should be a simple
+ matter of modifying the fla.c file. [patches are welcome]
+
+[5] Can I install FreeBSD with sysinstall ?
+
+ Yes, it has been tested in FreeBSD-4.0-CURRENT and it works.
+ You will need to build a kernel with the fla driver since
+ the default "GENERIC" kernel doesn't contain the fla driver.
+
+[6] How to boot from a fla device ?
+
+ FreeBSD 4.0 and forward find their root device by reading
+ the /etc/fstab, so the DiskOnChip devices will work just
+ like any other device.
+
+ Earlier FreeBSD kernels recognizes the root device using
+ various hacks. These hacks doesn't recognize the fla device
+ so some "real" hacks are needed to boot from your fla
+ device.
+
+ In pre 4.0 versions specifying the boot device in the kernel
+ config file this way is the easiest way to do it:
+
+ config kernel root on major 28 minor 65538
+
+[7] How to disklabel a fla device ?
+
+ Look at the script in prep.fla.sh, it will do the job for you.
+
+[8] Who to contact ?
+
+ doc2k@phk.freebsd.dk will offer limited best-effort help
+ to the extent time permits. Further support for special
+ projects or configurations available at reasonable hourly
+ rates.
+
+[9] Getting detailed
+
+ The DiskOnChip product gets out in some odd corners of the
+ PC-architecture, and chances are that things don't do what
+ you expect. Here are some hints and random observations
+ I've made during my work with these devices.
+
+[9a] Choosing an address for the DOC
+
+ Each DOC needs a 8K memory window starting on an 8K boundary.
+ The lowest possible address is C000:0, the highest is DE00:0
+
+ If your hardware puts the DOC another place, you will need
+ to modify the doc2k_probe() call in fla.c.
+
+ It is important that you set the BIOS to not do "fancy things"
+ with this window, in particular no kind of cache or shadowing
+ can be enabled.
+
+ Be aware that some hardware will decode a 32k memory window
+ for the DOC device.
+
+ If everything is OK, the DOC will print a message during
+ the BIOS startup.
+
+ For large devices it can take some time to check the flash
+ data structures, but if it takes more than 3 minutes
+ something is wrong.
+
+ If you boot a MSDOS floppy and run FDISK you should be able
+ to see the DOC device.
+
+ If it doesnt work:
+
+ If you machine never gets to the point where it will boot,
+ but just hangs it could be because you have a BIOS which
+ need the "slightly special" DOC firmware. Obviously you
+ will need to put the DOC in another machine to load this
+ firmware. You can download the firmware and utilities
+ from M-systems website http://www.m-sys.com
+
+ If the machine boots, but the device isn't visible it can
+ be because some other device uses the same memory window,
+ or because the BIOS prevents it from being used. If you
+ boot MSDOS and enter DEBUG, you should be able to find a
+ BIOS extension signature at the address using the 'd'
+ command, for instance 'd d800:0'.
+
+ A special case is when the DOC prints the BIOS message
+ but disappears afterwards, this can happen because another
+ card (NCR SCSI controllers for instance) steal the memory
+ window later in the boot process. In such a case the
+ above check with DEBUG will not show the BIOS signature.
+
+[9b] So just who is drive 'C' here anyway ?
+
+ Using the DUPDATE program you can choose to have the DOC
+ add itself at the front or the back of the device list.
+
+ This is, unfortunately not the only thing affecting the
+ drive order, the above mentioned NCR SCSI controllers also
+ have some builtin AI, and the result can be very confusing
+ because the DOC will come before even the floppy as a result.
+
+ There is no simple solution for this case, only variuos
+ work-arounds. But chances are good that most users will
+ not use both a DOC and a SCSI in the same system, except
+ maybe for initial programming.
+
+[9c] MBR/fdisk
+
+ The boot firmware in the DOC and/or the FreeBSD bootblocks
+ mandate that the first MBR slice/(partition in FDISK lingo)
+ start exactly at "sector #1, head #1, cylinder #0." You
+ will have problems booting from the fla if you don't get this
+ right. The prep.fla.sh script will do this for you.
+
+ DO NOT WRITE JUNK IN THE MBR! The DOC firmware relies on
+ various fields and can get utterly confused if they don't
+ make sense.
+
+[9d] Getting the FreeBSD kernel to use the fla as root
+
+ Please see above under item 6.
+
+[9e] I turned the machine off while it was running and now my
+ DOC hangs during boot/panics the machine/does weird things.
+
+ If a write operation to the DOC gets interrupted by reset
+ or power-failure, it can happen that the flash data structures
+ are left in a state the sofware cannot cope with.
+
+ Your best chance is to DUPDATE, DFORMAT the device again.
+
+ If it hangs during boot, you can use this particular dirty
+ trick ENTIRELY AT YOUR OWN RISK! DO NOT COMPLAIN IF THIS
+ DOESN'T WORK FOR YOU OR IF YOU DESTROY YOUR COMPUTER OR
+ DOC DEVICE DOING IT!
+
+ Jumper the DOC for an address which will not work, but which
+ will not interfere with the system either, C000:0 seems to
+ work pretty universally for this.
+
+ Boot MSDOS and rejumper the DOC for its real (working) address.
+
+ Run DUPDATE and use the /win:xxxx argument to point it at the
+ DOC device.
+
+[9f] Apart from that...
+
+ ...the DOC is just like any other disk, but it is silent,
+ has better MTBF and doesn't take up a lot of space.
+
+
+[10] History
+
+ The fla driver was written by Poul-Henning Kamp <phk@FreeBSD.org>
+ under contract for M-systems, and using their "OSAK"
+ development kit.
+
+Good Luck,
+
+Poul-Henning
+
+$FreeBSD$
OpenPOWER on IntegriCloud