Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/x68k/dev/fdreg.h
RevisionDateAuthorComments
 1.6  14-Oct-2012  tsutsui Add floppy format support. Mostly taken from sys/dev/isa/fd.c.

Tested both fdNa (1232KB, 1024bytes/sector, 8sectors/track) and
fdNc (1200KB, 512bytes/sector, 15sectors/track) format on X68030
using fdformat(1).

Finally we can prepare NetBSD/x68k install floppies without Human68k
(except actual initial bootstrap).
 1.5  15-May-2012  tsutsui branches: 1.5.2;
- check bus_space_map(9) return value
- use BUS_SPACE_MAP_SHIFTED_ODD for clarify
- define and use proper macro instead of magic
 1.4  11-Dec-2005  christos branches: 1.4.112; 1.4.116; 1.4.118;
merge ktrace-lwp.
 1.3  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.2  16-Mar-1999  minoura branches: 1.2.42;
Merged minoura_x68k_bus_h branch.
 1.1  05-May-1996  oki branches: 1.1.1;
Initial revision
 1.1.1.1  05-May-1996  oki branches: 1.1.1.1.24;
NetBSD/x68k, by Masaru Oki.
 1.1.1.1.24.3  13-Feb-1999  minoura Use BUS_SPACE_MAP_SHIFTED.
Flush the data cache for the transfer buffer.
Handle INTIOCF_{INTR,DMA,DMAINTR}_DEFAULT cases.
 1.1.1.1.24.2  10-Feb-1999  minoura Sync with other ports'(i386,sparc) fd.c.
Use dma_cachectl.
note: still unstable especially on soft err.
 1.1.1.1.24.1  02-Feb-1999  minoura fdc at intio.
 1.2.42.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.42.2  18-Sep-2004  skrll Sync with HEAD.
 1.2.42.1  03-Aug-2004  skrll Sync with HEAD
 1.4.118.1  18-Nov-2012  riz Pull up following revision(s) (requested by tsutsui in ticket #646):
sys/arch/x68k/dev/intio_dmac.c: revision 1.34
sys/arch/x68k/dev/fd.c: revision 1.100
sys/arch/x68k/dev/fd.c: revision 1.101
sys/arch/x68k/dev/fd.c: revision 1.102
sys/arch/x68k/dev/fd.c: revision 1.103
sys/arch/x68k/dev/fd.c: revision 1.104
sys/arch/x68k/dev/fd.c: revision 1.105
sys/arch/x68k/dev/fd.c: revision 1.98
sys/arch/x68k/dev/fd.c: revision 1.99
sys/arch/x68k/dev/fdreg.h: revision 1.5
sys/arch/x68k/dev/fdreg.h: revision 1.6
Explicitly specify a proper FDC data register address for HD63450 DMAC
to avoid confusion.
Previous one (fdc->sc_addr + fddata) wasn't a right address for
the FDC's data register but one for the command register by accident,
but FDC ignores A0 address input (connected to A1 of x68k address bus)
during DMA xfer (i.e. when DACK is asserted) so it happened to work
as expected on the real X680x0 hardware, but caused trouble on emulators.
The inconsistency was found by Y.Sugahara during debugging XM6i emulator
(and it will be fixed in the next release).
FDC behavior during DMA is confirmed by uPD72068 hardware application note.
XXX: There is no proper MI API to specify DMA address for DMA controller
(like MC68450) to access devices mapped to memory space by bus_space(9).
- use <sys/bus.h> rather than <machine/bus.h>
- no need to include uvm_extern.h
- include "ioconf.h" for struct cfdriver foo_cd
KNF and cosmetics. No binary change.
- check bus_space_map(9) return value
- use BUS_SPACE_MAP_SHIFTED_ODD for clarify
- define and use proper macro instead of magic
To abort DMA in dmac_abort_xfer(), set DMAC_CCR_SAB (software abort)
rather than DMAC_CCR_HLT (halt operation).
DMAC_CCR_HLT doesn't abort DMA xfers but only suspends DMA ops
(i.e. clearing HLT bit will resume DMA xfers), so previously
DMAC error always occurs on the next DMA xfer ops after
dmac_abort_xfer() is called.
Also suppress DMAC error messages in dmac_error() if it's caused
by software abort command because it can happen during normal
audio play/record DMA ops in vs(4) driver.
Before probing floppy drives, call NE7CMD_SENSEI and fdcresult()
to drain possible pending FDC interrupts. Taken from sys/dev/isa/fd.c.
Hopefully might fix occasional fd drive probe failure (but not confirmed).
Terminate DMAC and call bus_dmamap_unload(9) properly in all FDC xfer
error paths, as sys/dev/isa/fd.c does. Fixes unexpected DMAC errors
(and possible VM panic due to un-unloaded dmamap) on the first floppy
access after read/write errors.
Add floppy format support. Mostly taken from sys/dev/isa/fd.c.
Tested both fdNa (1232KB, 1024bytes/sector, 8sectors/track) and
fdNc (1200KB, 512bytes/sector, 15sectors/track) format on X68030
using fdformat(1).
Finally we can prepare NetBSD/x68k install floppies without Human68k
(except actual initial bootstrap).
KNF and space nits
 1.4.116.1  02-Jun-2012  mrg sync to latest -current.
 1.4.112.2  30-Oct-2012  yamt sync with head
 1.4.112.1  23-May-2012  yamt sync with head.
 1.5.2.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC

RSS XML Feed