Everything you always wanted to know about Atari,Milan,IDE and byteswaps...
The Milan configuration is split up in 2 parts: - MILAN_ISAIDE Supports the traditionally formatted IDE disks on the Milan - MILAN_PCIIDE Supports the byte swapped formatted IDE disks on the Milan If you want to read more, checkout the comment in MILAN.in...
This commit is contained in:
parent
92a2e67c31
commit
3bc0965e01
@ -1,236 +0,0 @@
|
||||
#
|
||||
# $NetBSD: MILAN,v 1.6 2001/05/29 06:45:56 leo Exp $
|
||||
#
|
||||
# This file was automatically created. Changes will be
|
||||
# lost when running makeconf in this directory.
|
||||
#
|
||||
# Created from:
|
||||
# NetBSD: MILAN.in,v 1.5 2001/05/29 06:42:21 leo Exp $
|
||||
# NetBSD: GENERIC.in,v 1.2 2001/04/10 06:46:01 leo Exp $
|
||||
|
||||
#This configuration file is for a generic Milan
|
||||
|
||||
#Generic atari
|
||||
|
||||
include "arch/atari/conf/std.milan"
|
||||
|
||||
#ident "GENERIC-$Revision: 1.6 $"
|
||||
|
||||
#Add support for about 16 users. This variable is used to size
|
||||
#various kernel structures.
|
||||
|
||||
maxusers 16
|
||||
|
||||
options HZ=64 # Set the clock-rate (48/64/96)
|
||||
|
||||
#X11R6 related options
|
||||
|
||||
options UCONSOLE # Allow xconsole to work
|
||||
|
||||
#Standard system options
|
||||
options INSECURE # disable kernel security levels
|
||||
#options NTP # NTP phase/frequency locked loop
|
||||
|
||||
#(Co)processors this kernel should support
|
||||
|
||||
options M68040 # support for 040
|
||||
options M68060 # support for 060
|
||||
options FPSP # 68040 Floatingpoint support
|
||||
options M060SP # MC68060 software support (Required for 060)
|
||||
|
||||
#Networking options
|
||||
|
||||
options INET # IP + ICMP + TCP + UDP
|
||||
|
||||
options INET6 # IPV6
|
||||
#options IPSEC # IP security
|
||||
#options IPSEC_ESP # IP security (encryption part; define w/IPSEC)
|
||||
#options IPSEC_DEBUG # debug for IP security
|
||||
#options GATEWAY # packet forwarding
|
||||
#options MROUTING # IP multicast routing
|
||||
options NS # XNS
|
||||
#options NSIP # XNS tunneling over IP
|
||||
options ISO,TPIP # OSI
|
||||
#options EON # OSI tunneling over IP
|
||||
options CCITT,LLC,HDLC # X.25
|
||||
options NETATALK # AppleTalk networking protocols
|
||||
|
||||
options PPP_BSDCOMP # BSD-Compress compression support for PPP
|
||||
options PPP_DEFLATE # Deflate compression support for PPP
|
||||
options PPP_FILTER # Active filter support for PPP (requires bpf)
|
||||
|
||||
options PFIL_HOOKS # pfil(9) packet filter hooks
|
||||
options IPFILTER_LOG # ipmon(8) log support
|
||||
#options IPFILTER_DEFAULT_BLOCK # block packages by default
|
||||
|
||||
#File systems
|
||||
file-system FFS # Berkeley fast file system
|
||||
file-system MFS # Memory based filesystem
|
||||
file-system KERNFS # Kernel parameter filesystem
|
||||
file-system MSDOSFS # MSDOS filesystem
|
||||
file-system CD9660 # ISO 9660 filesystem with Rock Ridge
|
||||
|
||||
file-system NFS # Network File System client side code
|
||||
file-system PROCFS # Process filesystem
|
||||
file-system FDESC # /dev/fd
|
||||
file-system NULLFS # Loopback filesystem
|
||||
file-system OVERLAY # overlay filesystem
|
||||
file-system UNION # union file system
|
||||
file-system UMAPFS # null file system (with uid & gid remapping)
|
||||
file-system PORTAL # portal file system
|
||||
file-system EXT2FS # second extended file system (linux)
|
||||
file-system LFS # log-structured file system
|
||||
|
||||
#File system options
|
||||
options QUOTA # Disk quotas for local disks
|
||||
#options FFS_EI # FFS Endian Independant support
|
||||
options SOFTDEP # FFS soft updates support.
|
||||
options NFSSERVER # Network File System server side code
|
||||
#options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
|
||||
#immutable) behave as system flags.
|
||||
|
||||
#Misc. debugging options
|
||||
|
||||
options PANICWAIT # Require keystroke to dump/reboot
|
||||
options DDB # Kernel debugger
|
||||
|
||||
options DDB_HISTORY_SIZE=100 # Enable history editing in DDB
|
||||
#options DEBUG # expensive debugging checks/support
|
||||
|
||||
#Compatability options for various existing systems
|
||||
|
||||
options COMPAT_43 # 4.3 BSD compatible system calls (required)
|
||||
options COMPAT_10 # Compatibility to NetBSD1.0
|
||||
options COMPAT_11 # Compatibility to NetBSD1.1
|
||||
options COMPAT_12 # Compatibility to NetBSD1.2
|
||||
options COMPAT_13 # Compatibility to NetBSD1.3
|
||||
options COMPAT_14 # Compatibility to NetBSD1.4
|
||||
|
||||
#options COMPAT_09 # has no meaning on the atari
|
||||
#options COMPAT_SUNOS # Support to run Sun-3 executables
|
||||
#options COMPAT_SVR4 # Support to run SVR4 executables
|
||||
#options TCP_COMPAT_42 # Disable UDP checksums (not needed)
|
||||
#options COMPAT_LINUX # Support to run Linux/m68k executables
|
||||
#options EXEC_ELF32 # 32-bit ELF executables (Linux, SVR4)
|
||||
|
||||
#Support for System V IPC facilities.
|
||||
|
||||
options SYSVSHM # System V shared memory
|
||||
options SYSVMSG # System V messages
|
||||
options SYSVSEM # System V semaphores
|
||||
|
||||
#Support for various kernel options
|
||||
|
||||
options KTRACE # Add kernel tracing system call
|
||||
options DIAGNOSTIC # Add additional error checking code
|
||||
|
||||
#These options enable verbose messages for several subsystems.
|
||||
#Warning, these may compile large string tables into the kernel!
|
||||
|
||||
options SCSIVERBOSE # human readable SCSI error messages
|
||||
|
||||
options PCIVERBOSE # verbose PCI device autoconfig messages
|
||||
#options PCI_CONFIG_DUMP # verbosely dump PCI config space
|
||||
|
||||
#Atari specific options
|
||||
|
||||
#options KFONT_8x8 # Use 8x8 font instead of 8x16
|
||||
options ST_POOL_SIZE=22 # smallest that allows TT-HIGH
|
||||
|
||||
options MEMORY_DISK_HOOKS # Boot RAM-disk
|
||||
options DISKLABEL_NBDA # NetBSD disklabels (required)
|
||||
options DISKLABEL_AHDI # NetBSD/AHDI disklabels
|
||||
|
||||
options SERCONSOLE # modem1 console support
|
||||
options RELOC_KERNEL # TT/Falcon: relocate kernel to TT-RAM
|
||||
options STATCLOCK # Separate {stat,prof}clock
|
||||
|
||||
#Try linked commands on all targets
|
||||
options TRY_SCSI_LINKED_COMMANDS=0x7f
|
||||
|
||||
#Build one kernel that can boot from any disk.
|
||||
|
||||
config netbsd root on ? type ?
|
||||
|
||||
pseudo-device sl # Slip
|
||||
pseudo-device ppp # ppp
|
||||
pseudo-device pty # pseudo-terminals
|
||||
pseudo-device loop # Loopback network
|
||||
pseudo-device vnd 3 # 3 pseudo disks (see vnconfig)
|
||||
pseudo-device md 2 # Boot memory disk
|
||||
|
||||
pseudo-device bpfilter 2 # berkeley packet filters
|
||||
pseudo-device tun 2 # network tunnel
|
||||
#pseudo-device gre 2 # generic L3 over IP tunnel
|
||||
pseudo-device gif 4 # IPv[46] over IPv[46] tunnel (RFC1933)
|
||||
#pseudo-device faith 1 # IPv[46] tcp relay translation i/f
|
||||
#pseudo-device stf 1 # 6to4 IPv6 over IPv4 encapsulation
|
||||
pseudo-device vlan # IEEE 802.1q encapsulation
|
||||
pseudo-device ccd 4 # concatenating disk driver
|
||||
#pseudo-device raid 4 # RAIDframe disk driver
|
||||
#options RAID_AUTOCONFIG # auto-configuration of RAID components
|
||||
pseudo-device ipfilter # IP filtering device
|
||||
pseudo-device rnd # /dev/random and in-kernel generator
|
||||
|
||||
#Hardware options for GENERIC are in the various machine type specific files
|
||||
|
||||
#For the moment, the MILAN will be the only one to use wscons, so define
|
||||
#the wscons options here too for the moment.
|
||||
#wscons options
|
||||
|
||||
#builtin terminal emulations
|
||||
#options WSEMUL_SUN # sun terminal emulation
|
||||
options WSEMUL_VT100 # VT100 / VT220 emulation
|
||||
#different kernel output - see dev/wscons/wsdisplayvar.h
|
||||
#XXX: Since the Milan VGA works in monochrome for the moment, _only_
|
||||
#use black and white here!
|
||||
options WS_KERNEL_FG=WSCOL_WHITE
|
||||
options WS_KERNEL_BG=WSCOL_BLACK
|
||||
|
||||
#compatibility to other console drivers
|
||||
#options WSDISPLAY_COMPAT_USL # VT handling
|
||||
#options WSDISPLAY_COMPAT_RAWKBD # can get raw scancodes
|
||||
|
||||
#see dev/pckbc/wskbdmap_mfii.c for implemented layouts
|
||||
#options PCKBD_LAYOUT="(KB_DE | KB_NODEAD)"
|
||||
#allocate a number of virtual screens at autoconfiguration time
|
||||
options WSDISPLAY_DEFAULTSCREENS=4
|
||||
#use a large software cursor that doesn't blink
|
||||
options PCDISPLAY_SOFTCURSOR
|
||||
#modify the screen type of the console; defaults to "80x25"
|
||||
#options VGA_CONSOLE_SCREENTYPE="\"80x25\""
|
||||
|
||||
#The following sections describe various hardware options.
|
||||
|
||||
isabus0 at mainbus0 # ISA-bus
|
||||
isa0 at isabus0
|
||||
pcibus0 at mainbus0 # PCI-bus
|
||||
pci0 at pcibus0
|
||||
ser0 at mainbus0
|
||||
fdcisa0 at isa? port 0x3f0 irq 6 drq 2 # standard PC floppy contr.
|
||||
fdisa0 at fdcisa0 drive 0
|
||||
|
||||
#I found out that it's better to use the pciide version...
|
||||
#wdcisa0 at isa? port 0x1f0 irq 14 # 1st IDE controller
|
||||
#wdcisa1 at isa? port 0x170 irq 15 # 2nd IDE controller
|
||||
#wd* at wdcisa? channel ? drive ?
|
||||
|
||||
pciide* at pci? dev ? function ? flags 0x0000
|
||||
wd* at pciide? channel ? drive ? flags 0x0000
|
||||
|
||||
#The Milan uses wscons
|
||||
#XXX without the __HAVE_NWSCONS option, the keyboard won't work...
|
||||
#
|
||||
options __HAVE_NWSCONS
|
||||
vga0 at pci? dev ? function ? # a PCI VGA card
|
||||
wsdisplay* at vga? console ? # as a wscons console
|
||||
pckbc0 at isa? # PC keyboard controller
|
||||
pckbd* at pckbc? # PC keyboard
|
||||
wskbd* at pckbd? console ? # wscons keyboard
|
||||
|
||||
#ATAPI bus support
|
||||
#atapibus* at wdcisa? channel ?
|
||||
atapibus* at pciide? channel ?
|
||||
|
||||
#ATAPI devices
|
||||
cd* at atapibus? drive ? # ATAPI CD-ROM drives
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# $NetBSD: MILAN.in,v 1.5 2001/05/29 06:42:21 leo Exp $
|
||||
# $NetBSD: MILAN.in,v 1.6 2001/06/07 07:56:57 leo Exp $
|
||||
#
|
||||
# Milan
|
||||
#
|
||||
@ -47,13 +47,40 @@ ser0 at mainbus0
|
||||
fdcisa0 at isa? port 0x3f0 irq 6 drq 2 # standard PC floppy contr.
|
||||
fdisa0 at fdcisa0 drive 0
|
||||
|
||||
# I found out that it's better to use the pciide version...
|
||||
#wdcisa0 at isa? port 0x1f0 irq 14 # 1st IDE controller
|
||||
#wdcisa1 at isa? port 0x170 irq 15 # 2nd IDE controller
|
||||
#wd* at wdcisa? channel ? drive ?
|
||||
#
|
||||
# Ok, the stuff below requires some explanation...
|
||||
# Initially, when Atari started with IDE on the Falcon, they decided to
|
||||
# swap the bytelanes on the IDE controller. So all data on the disk was
|
||||
# byteswapped and all CDROM drivers had to byteswap the data to make
|
||||
# this nice idea work... To remain compatible with the 'current' drivers,
|
||||
# this sceme was adopted by the Hades hardware (hence wdc_mb.c). On the Milan
|
||||
# however, the change was reverted. But... now the hardware is connected to
|
||||
# a little endian (ISA) bus, in PIO mode this is essentially the same as
|
||||
# swapping the bytelanes. The fun starts when you use the PCIIDE DMA mode
|
||||
# provided by the PCI_ISA bridge on the Milan. CDROM's are OK, but the data
|
||||
# on the disk is swapped :-( Now luckily, both the Milan and HDDRIVER
|
||||
# developers have thought up a solution, you can make a byteswapped disk
|
||||
# during the partioning with HDDRIVER and TOS supports booting from it!
|
||||
# Ok, now you have to choose:
|
||||
# - If _none_ of your disks are marked byteswapped by HDDRIVER, choose
|
||||
# the MILAN_ISAIDE version.
|
||||
# - If _all_ of your disks are byteswapped, use the MILAN_PCIIDE version
|
||||
# The is no way to mix things!
|
||||
#
|
||||
|
||||
pciide* at pci? dev ? function ? flags 0x0000
|
||||
#if defined(MILAN_ISAIDE)
|
||||
# wdc on ISA with flags = WDC_OPTIONS_ATA_NOSTREAM!
|
||||
wdc0 at isa? port 0x1f0 irq 14 flags 0x04 # 1st IDE controller
|
||||
wdc1 at isa? port 0x170 irq 15 flags 0x04 # 2nd IDE controller
|
||||
wd* at wdc? channel ? drive ?
|
||||
atapibus* at wdc? channel ? # ATAPI bus support
|
||||
#endif
|
||||
|
||||
#if defined(MILAN_PCIIDE)
|
||||
pciide* at pci? dev ? function ? flags 0x0000 # 2 PCIIDE channels
|
||||
wd* at pciide? channel ? drive ? flags 0x0000
|
||||
atapibus* at pciide? channel ? # ATAPI bus support
|
||||
#endif
|
||||
|
||||
#
|
||||
# The Milan uses wscons
|
||||
@ -66,9 +93,5 @@ pckbc0 at isa? # PC keyboard controller
|
||||
pckbd* at pckbc? # PC keyboard
|
||||
wskbd* at pckbd? console ? # wscons keyboard
|
||||
|
||||
# ATAPI bus support
|
||||
#atapibus* at wdcisa? channel ?
|
||||
atapibus* at pciide? channel ?
|
||||
|
||||
# ATAPI devices
|
||||
cd* at atapibus? drive ? # ATAPI CD-ROM drives
|
||||
|
@ -1,10 +1,10 @@
|
||||
#!/bin/sh
|
||||
# $NetBSD: makeconf,v 1.3 2001/04/10 05:56:25 leo Exp $
|
||||
# $NetBSD: makeconf,v 1.4 2001/06/07 07:56:58 leo Exp $
|
||||
|
||||
emit_file() {
|
||||
echo "Generating $1"
|
||||
echo '#
|
||||
# $NetBSD: makeconf,v 1.3 2001/04/10 05:56:25 leo Exp $
|
||||
# $NetBSD: makeconf,v 1.4 2001/06/07 07:56:58 leo Exp $
|
||||
#
|
||||
# This file was automatically created. Changes will be
|
||||
# lost when running makeconf in this directory.
|
||||
@ -23,3 +23,5 @@ emit_file ATARITT ATARITT.in "-DTT030_KERNEL"
|
||||
emit_file FALCON FALCON.in "-DFALCON_KERNEL"
|
||||
emit_file HADES HADES.in "-DHADES_KERNEL"
|
||||
emit_file MILAN MILAN.in "-DMILAN_KERNEL"
|
||||
emit_file MILAN-ISAIDE MILAN.in "-DMILAN_KERNEL -DMILAN_ISAIDE"
|
||||
emit_file MILAN-PCIIDE MILAN.in "-DMILAN_KERNEL -DMILAN_PCIIDE"
|
||||
|
Loading…
x
Reference in New Issue
Block a user