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