Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/atari/conf Everything you always wanted to know abo...
details: https://anonhg.NetBSD.org/src/rev/3b2dccbd94e5
branches: trunk
changeset: 510828:3b2dccbd94e5
user: leo <leo%NetBSD.org@localhost>
date: Thu Jun 07 07:56:57 2001 +0000
description:
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...
diffstat:
sys/arch/atari/conf/MILAN | 236 -------------------------------------------
sys/arch/atari/conf/MILAN.in | 43 ++++++-
sys/arch/atari/conf/makeconf | 6 +-
3 files changed, 37 insertions(+), 248 deletions(-)
diffs (truncated from 328 to 300 lines):
diff -r afe1738258d9 -r 3b2dccbd94e5 sys/arch/atari/conf/MILAN
--- a/sys/arch/atari/conf/MILAN Thu Jun 07 07:23:02 2001 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -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
diff -r afe1738258d9 -r 3b2dccbd94e5 sys/arch/atari/conf/MILAN.in
--- a/sys/arch/atari/conf/MILAN.in Thu Jun 07 07:23:02 2001 +0000
+++ b/sys/arch/atari/conf/MILAN.in Thu Jun 07 07:56:57 2001 +0000
@@ -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 @@
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 @@
pckbd* at pckbc? # PC keyboard
wskbd* at pckbd? console ? # wscons keyboard
Home |
Main Index |
Thread Index |
Old Index