Commit Graph

491 Commits

Author SHA1 Message Date
Peter Wemm
0f36a349af Dequote like on the i386 configs. Also remove some references to old
i386 isa drivers that used to be order sensitive.  The probe order of
those drivers is now determined by a list in isa_compat.c and config
file order is totally irrelevant.
1999-06-29 18:24:09 +00:00
Peter Wemm
c590eb3084 Add some extra alpha_pal_imb()'s in overkill mode. This makes this PC164SX
run quite reliably now.  I've explicitly tagged them as /* XXX overkill? */
although one does actually check for VM_PROT_EXECUTE.

Based on a suggestion by:  Dmitrij Tejblum <tejblum@arc.hq.cti.ru>
1999-06-28 09:38:09 +00:00
Peter Wemm
9ef1f0cf0a Revert back to not using -DKERNEL - it exposes inlines etc.
Zap symbols.raw and glue to make symbols.* - it's not used on the ELF-only
alpha kernel.  Symbol sorting is dead-end anyway once libkvm uses the
in-kernel linker symbol lookup.
1999-06-28 09:18:44 +00:00
Peter Wemm
ac1f1b4053 Revert back to not using -DKERNEL 1999-06-28 09:15:35 +00:00
Peter Wemm
75f83872e2 Tweak include ordering so sys/systm.h is before sys/buf.h to keep buf.h's
inlines happy.
1999-06-28 09:12:46 +00:00
Peter Wemm
089ed2144a Make <sys/buf.h>'s inlines happier. 1999-06-27 20:52:22 +00:00
Peter Wemm
9cccca53d8 Make genassym compile - the recent buf locking changes meant that more
things from #ifdef KERNEL were needed.
1999-06-26 12:45:17 +00:00
Kirk McKusick
67812eacd7 Convert buffer locking from using the B_BUSY and B_WANTED flags to using
lockmgr locks. This commit should be functionally equivalent to the old
semantics. That is, all buffer locking is done with LK_EXCLUSIVE
requests. Changes to take advantage of LK_SHARED and LK_RECURSIVE will
be done in future commits.
1999-06-26 02:47:16 +00:00
Kazutaka YOKOTA
6e8394b8ba The second phase of syscons reorganization.
- Split syscons source code into manageable chunks and reorganize
  some of complicated functions.

- Many static variables are moved to the softc structure.

- Added a new key function, PREV.  When this key is pressed, the vty
  immediately before the current vty will become foreground.  Analogue
  to PREV, which is usually assigned to the PrntScrn key.
  PR: kern/10113
  Submitted by: Christian Weisgerber <naddy@mips.rhein-neckar.de>

- Modified the kernel console input function sccngetc() so that it
  handles function keys properly.

- Reorganized the screen update routine.

- VT switching code is reorganized.  It now should be slightly more
  robust than before.

- Added the DEVICE_RESUME function so that syscons no longer hooks the
  APM resume event directly.

- New kernel configuration options: SC_NO_CUTPASTE, SC_NO_FONT_LOADING,
  SC_NO_HISTORY and SC_NO_SYSMOUSE.
  Various parts of syscons can be omitted so that the kernel size is
  reduced.

  SC_PIXEL_MODE
  Made the VESA 800x600 mode an option, rather than a standard part of
  syscons.

  SC_DISABLE_DDBKEY
  Disables the `debug' key combination.

  SC_ALT_MOUSE_IMAGE
  Inverse the character cell at the mouse cursor position in the text
  console, rather than drawing an arrow on the screen.
  Submitted by: Nick Hibma (n_hibma@FreeBSD.ORG)

  SC_DFLT_FONT
  makeoptions "SC_DFLT_FONT=_font_name_"
  Include the named font as the default font of syscons.  16-line,
  14-line and 8-line font data will be compiled in.  This option replaces
  the existing STD8X16FONT option, which loads 16-line font data only.

- The VGA driver is split into /sys/dev/fb/vga.c and /sys/isa/vga_isa.c.

- The video driver provides a set of ioctl commands to manipulate the
  frame buffer.

- New kernel configuration option: VGA_WIDTH90
  Enables 90 column modes: 90x25, 90x30, 90x43, 90x50, 90x60.  These
  modes are mot always supported by the video card.
  PR: i386/7510
  Submitted by: kbyanc@freedomnet.com and alexv@sui.gda.itesm.mx.

- The header file machine/console.h is reorganized; its contents is now
  split into sys/fbio.h, sys/kbio.h (a new file) and sys/consio.h
  (another new file).  machine/console.h is still maintained for
  compatibility reasons.

- Kernel console selection/installation routines are fixed and
  slightly rebumped so that it should now be possible to switch between
  the interanl kernel console (sc or vt) and a remote kernel console
  (sio) again, as it was in 2.x, 3.0 and 3.1.

- Screen savers and splash screen decoders
  Because of the header file reorganization described above, screen
  savers and splash screen decoders are slightly modified.  After this
  update, /sys/modules/syscons/saver.h is no longer necessary and is
  removed.
1999-06-22 14:14:06 +00:00
Bill Paul
14de28bd64 Add device rl0 to GENERIC. Also add al0 (ADMtek PCI ethernet) which I
forgot to do previously.
1999-06-19 20:25:25 +00:00
Doug Rabson
8af8f3ae04 Adjust mcclock lines to avoid config(8) warning. 1999-06-19 13:12:51 +00:00
Doug Rabson
93b4562045 Convert signalling NaNs to quiet NaNs as specified by the Alpha Architecture
Reference Manual.

Submitted by: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
1999-06-19 11:54:35 +00:00
Dmitrij Tejblum
9a56b5f763 Make syscall tracing work: include "opt_ktrace.h" and make it compile. 1999-06-16 18:55:35 +00:00
Dag-Erling Smørgrav
9b953cf681 Kill option FAILSAFE.
PR:		i386/12187
Approved by:	bde
1999-06-15 13:14:56 +00:00
John Birrell
bfc6f8cf11 Add the System V message queue and semaphore options for better 3rd party
software support out-of-the-box (like i386 does).
1999-06-14 22:59:55 +00:00
Hidetoshi Shimokawa
7872cbaeea Fix typo confusing `fa' and 'fb' registers.
Now, MATLAB works fine under OSF/1 emulation.
1999-06-14 11:42:30 +00:00
Dmitrij Tejblum
23405ee478 Replace my previous fix of saving the FP state with a much simpler one: when
we swap out fpcurproc, save its FP state.

Suggested by:	bde
1999-06-10 20:40:59 +00:00
Dmitrij Tejblum
2105375397 Use kmem_alloc_nofault() rather than kmem_alloc_pageable() to allocate
kernel virtual address space for UPAGES.
1999-06-08 17:14:22 +00:00
Dmitrij Tejblum
be960acd20 Keep fpcurproc locked in memory, so that we always can save the FP state
correctly.

This should fix the "pmap_changebit didn't" panic that some people see.

Reviewed by:	dfr
1999-06-08 16:42:19 +00:00
Doug Rabson
37b094f876 * Implement ISA dma (only for CIA now but more chipsets to follow).
* Port the fd driver to alpha.
1999-06-05 13:30:13 +00:00
Dmitrij Tejblum
68ae83f809 cdevsw_add(&cn_devsw), not cdevsw_add(&dev). 1999-06-01 20:26:04 +00:00
Dmitrij Tejblum
dcad3b0027 Don't use nblkdev. 1999-05-31 20:44:11 +00:00
Poul-Henning Kamp
2447bec829 Simplify cdevsw registration.
The cdevsw_add() function now finds the major number(s) in the
struct cdevsw passed to it.  cdevsw_add_generic() is no longer
needed, cdevsw_add() does the same thing.

cdevsw_add() will print an message if the d_maj field looks bogus.

Remove nblkdev and nchrdev variables.  Most places they were used
bogusly.  Instead check a dev_t for validity by seeing if devsw()
or bdevsw() returns NULL.

Move bdevsw() and devsw() functions to kern/kern_conf.c

Bump __FreeBSD_version to 400006

This commit removes:
        72 bogus makedev() calls
        26 bogus SYSINIT functions

if_xe.c bogusly accessed cdevsw[], author/maintainer please fix.

I4b and vinum not changed.  Patches emailed to authors.  LINT
probably broken until they catch up.
1999-05-31 11:29:30 +00:00
Poul-Henning Kamp
4e2f199e0c This commit should be a extensive NO-OP:
Reformat and initialize correctly all "struct cdevsw".

        Initialize the d_maj and d_bmaj fields.

        The d_reset field was not removed, although it is never used.

I used a program to do most of this, so all the files now use the
same consistent format.  Please keep it that way.

Vinum and i4b not modified, patches emailed to respective authors.
1999-05-30 16:53:49 +00:00
Doug Rabson
13b285ba59 Use resource allocation apis to get ports. 1999-05-30 10:49:25 +00:00
Andrew Gallatin
4742fe7a4d When memory mapping a PCI device (like XFree86 does) on an XP1000, we must
use ALPHA_PHYS_TO_K0SEG(offset) rather than just plain offet.  I've verified
that this does not break other platforms (I've tested an AlphaStation 200
and a Personal Workstation 500au with this patch).

As to why this works, well.. Its black magic as far as I know.  I obtained
this hack from Myricom, who in turn, obtained it from Compaq engineers.
Without this hack, XFree86 cannot talk to a PCI graphics card.

Reviewed by:	Doug Rabson <dfr@nlsystems.com>
Obtained from:  feldy@myri.com (Bob Felderman)
1999-05-29 19:47:51 +00:00
Andrew Gallatin
ee05eeaf59 A small change to allow automatic detection of the boot
disk on Compaq XP1000's where Disk zero is dka0.0.0.6.1,
eg bus #1, slot #6.

Reviewed by:	Doug Rabson <dfr@nlsystems.com>
1999-05-29 19:23:20 +00:00
Alan Cox
72e51821d7 pmap_object_init_pt:
The size of vm_object::memq is vm_object::resident_page_count,
	not vm_object::size.
1999-05-28 05:38:56 +00:00
Andrew Gallatin
f9476829d0 A forgotten bit of my ST6600 commit 1999-05-27 22:03:31 +00:00
Andrew Gallatin
7ae6cdbca2 Add support for the DEC_ST6600 family of alphas. This includes the
Compaq XP1000, AlphaServer DS20, AlphaServer DS10, and DP264

This has been tested *only* on XP1000's.  I'll be interested to hear from
owners of other types of DEC_ST6600 alphas.

I'd like to thank Don Rice of Compaq for providing the documentation required
to support this platform on FreeBSD.  I'd also like to thank Doug Rabson for newbus,
and for helping me get a multiple hoses working with newbus.

Reviewed by:	Doug Rabson <dfr@nlsystems.com>
1999-05-26 23:22:14 +00:00
Andrew Gallatin
50b8d1cce4 Allow chipset drivers to specify the direct-mapped DMA window's mask in
preparation for tsunami support.  Previous chipsets' direct-mapped DMA
mask was always 1024*1024*1024.  The Tsunami chipset needs it to be
2*1024*1024*1024

These changes should not affect the i386 port

Reviewed by:	Doug Rabson <dfr@nlsystems.com>
1999-05-26 23:01:57 +00:00
Dmitrij Tejblum
eee8a8e4e0 From our i386 counterpart:
|revision 1.13
|date: 1995/09/15 23:49:23;  author: davidg;  state: Exp;  lines: +15 -2
|Check for page being resident when doing I/O with /dev/kmem and return
|EFAULT if it is not resident. This prevents the system from manufacturing
|a zero-fill page for unused but allocated areas of the kernel's VM.
1999-05-25 19:32:53 +00:00
John Birrell
8fb7da0099 Remove the mfs stuff now that mfs_init() does the MFS_ROOT initialisation. 1999-05-24 00:54:17 +00:00
Doug Rabson
a3be63b3ce * Factor out the common code between the isa bus drivers for i386 and alpha.
* Re-work the resource allocation code to use helper functions in subr_bus.c.
* Add simple isa interface for manipulating the resource ranges which can be
  allocated and remove the code from isa_write_ivar() which was previously
  used for this purpose.
1999-05-22 15:18:28 +00:00
Andrew Gallatin
aa6de8e012 Add support for multiple PCI "hoses" used on various alpha platforms.
The specific intent of this commit is to pave the way for importing
Compaq XP1000 support.  These changes should not affect the i386 port.

Reviewed by: Doug Rabson <dfr@nlsystems.com>
(actually, he walked me through most of it & deserves more than reviewd-by
credit )
1999-05-20 15:33:33 +00:00
Peter Wemm
b2143c99d8 Nearly forgot, remove pci_cfgopen() - it's unused on the alpha and is no
longer exported on the i386.
1999-05-18 23:20:14 +00:00
Doug Rabson
84e306386b Add support for clock calibration. 1999-05-18 21:26:21 +00:00
Doug Rabson
f38cc0691f Calibrate the processor cycle counter instead of believing what the
firmware says.
1999-05-18 21:24:16 +00:00
Doug Rabson
5334b9c3cf Another minor fix from i386 to remember when the port is set to -1. 1999-05-18 20:43:49 +00:00
Doug Rabson
c6ea3c6462 Update isa_print_child to match i386.
Submitted by: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
1999-05-18 19:44:54 +00:00
Doug Rabson
8be693d4d1 Make sure sysctls use udev_t, not dev_t.
Submitted by: Thomas Valentino Crimi <tcrimi+@andrew.cmu.edu>
1999-05-15 18:14:03 +00:00
Doug Rabson
64cd03f38e Make sure sysctls use udev_t, not dev_t.
Submitted by: Thomas Valentino Crimi <tcrimi+@andrew.cmu.edu>
1999-05-15 17:56:34 +00:00
Doug Rabson
6c2e3dde8c * Define a new static method DEVICE_IDENTIFY which is called to add device
instances to a parent bus.
* Define a new method BUS_ADD_CHILD which can be called from DEVICE_IDENTIFY
  to add new instances.
* Add a generic implementation of DEVICE_PROBE which calls DEVICE_IDENTIFY
  for each driver attached to the parent's devclass.
* Move the hint-based isa probe from the isa driver to a new isahint driver
  which can be shared between i386 and alpha.
1999-05-14 11:22:47 +00:00
Doug Rabson
d45204676e The previous log message should have read:
Use breakpoint() to start debugger to avoid crashing back to the firmware
when gdb tries to print the msg argument to Debugger().
1999-05-14 11:15:13 +00:00
Doug Rabson
cc180a90a0 Make sure to pass a dev_t to dkunit. 1999-05-14 11:13:21 +00:00
Mike Smith
efa2e2d658 Include <sys/systm.h> earlier as required by include changes. 1999-05-14 00:41:02 +00:00
Dmitrij Tejblum
70eedd4073 Oops, back out previous, it is not quite ready for commit and has nothing
to do with the commit message.
1999-05-11 18:59:56 +00:00
Dmitrij Tejblum
06e4ef1461 Initialize bootifo.envp, so that the kernel environment can be used.
Set kernelname. Get it as getenv("kernelname"), bootinfo.booted_kernel does
not contain path to the directory.
1999-05-11 18:55:18 +00:00
Peter Wemm
7f2d5fc4f2 Move the mfs_getimage() prototype to mfs_extern.h duplicating it
everywhere.
1999-05-10 17:12:45 +00:00
Peter Wemm
d8accc82b4 Serves me right for doing this by inspection and then a build afterwards
on a remote machine. Sigh..
1999-05-10 16:36:42 +00:00