Commit Graph

670 Commits

Author SHA1 Message Date
Andrew Gallatin
dbc58a480c A port of NetBSD's AlphaServer 1000 and 1000A support. Thanks to Cristian
Angelini for allowing me to use his AS1000 to do the port.

Note that this is untested on AlphaServer 1000A hardware.

Reviewed by:	dfr
Tested by:   	Cristian Angelini <chr.ang@biella.alpcom.it>
Obtained From: 	NetBSD
1999-12-01 15:25:04 +00:00
Dima Ruban
3d1d437531 dummy version of read_random() until the real random driver is ported. 1999-11-30 23:49:54 +00:00
Dima Ruban
97cab30be6 Add arc4random.c.
Please note that kernel is still broken on alpha.
1999-11-30 20:18:20 +00:00
Marcel Moolenaar
ec99e32256 Implement linux_sigaltstack. 1999-11-30 15:02:28 +00:00
Marcel Moolenaar
56d6dc1d34 Implement sigaltstack. 1999-11-30 15:00:17 +00:00
Alfred Perlstein
fac9a03b4e add linuxulator wrapper for SNDCTL_DSP_GETODELAY 1999-11-29 23:03:34 +00:00
Andrew Gallatin
7b64f69f80 inline spl functions.
In combination with Doug's recent alpha_cpu.h, this reduces the cost
of ipl raising/lowering significantly.  This is most pronounced when
doing file reads.

Reviewed by: dfr
1999-11-29 20:31:45 +00:00
Doug Rabson
33f1cb93f9 Implement inline assembler wrappers for PALcode calls and for alpha
specific instructions such as rpcc and mb. This should provide some
performance improvements and will allow me to delete the file pal.s.
To allow people time to update their loadable modules, I will leave pal.s
alone for now.
1999-11-29 19:57:51 +00:00
David E. O'Brien
521c57eb69 Sort PCI SCSI controlers. 1999-11-28 00:59:03 +00:00
David E. O'Brien
658743b5e2 /sys adjustments to add the `sym' controler driver.
This is commented out in GENERIC as you cannot mix `sym' with `ncr' right now.
Note that LINT is no more broken by this commit.
1999-11-28 00:48:15 +00:00
Marcel Moolenaar
408da11907 Implement linux_ustat.
Reviewed by: bde
1999-11-27 16:55:14 +00:00
Marcel Moolenaar
c48ba18b4a Change prototype of linux_ustat. 1999-11-27 16:50:54 +00:00
Marcel Moolenaar
25e5bdab9e Implement fdatasync in terms of fsync. The regeneration of proto.h,
syscall.h and sysent.h was probably forgotten after the last change
syscalls.master.
1999-11-26 10:20:10 +00:00
Peter Wemm
3ac8285030 Add pcm entries for the alpha too, since they were taken out of
conf/files and moved to i386/conf/files.i386

Forgotten by: tanimura
1999-11-22 16:10:26 +00:00
Peter Wemm
9565e721cb Update the Alpha makefile to be more in line with the x86 version. It
was getting quite dated.  Attempt to minimize diffs between the two so
it's not as painful to do this next time.
1999-11-22 15:39:13 +00:00
Peter Wemm
0171aaede2 Use %ll instead of %q as gcc moans bitterly about it. 1999-11-22 15:23:58 +00:00
Peter Wemm
33f86cee91 Zap some latent problems hidden by differences between KERNEL and _KERNEL.
The KAME code intruduces _KERNEL, which exposes some of them.
1999-11-22 15:14:56 +00:00
Nick Hibma
4755ea009e Add MOUSE_MSC_MAXBUTTON and MOUSE_IF_USB. 1999-11-22 14:38:11 +00:00
Poul-Henning Kamp
2996376ab5 Use LIST_FOREACH to traverse the allproc list.
Submitted by:   Jake Burkholder jake@checker.org
1999-11-19 21:34:50 +00:00
Andrew Gallatin
d627ab8398 Properly attribute interrupt time on alpha. Previously, interrupt time
was likely to be counted as idle time.

Note that we are counting time spent in software interrupt handlers as
interrupt time, so this invalidates the i386 meaning of intr_nesting_level.

Reviewed by: dfr, bde
Tested by: anderson@cs.duke.edu
1999-11-19 13:38:22 +00:00
Peter Wemm
806983a7c0 Move Alpha conflicting entries (98,99) to 135,136. Renumber the zsc
CDEV_MAJOR entry to match..  Is "ipr" in the tree?  I can't find it.
1999-11-18 04:20:23 +00:00
Nick Hibma
7c74d2682c Typo 1999-11-16 22:02:16 +00:00
Andrew Gallatin
6cf898c767 Mchines whose interrupts are not routed through the ISA pic were still
registering their interrupts with rman as though they were going through
the ISA pic.  This prevents a conflict between isa & pci for irqs on such
machines.

Also hookup the chipset struct before calling platform.pci_intr_init().
This allows me to call inw/outw down in the platform code.

Add interrupt printfs to match the CIA chipset.

Reviewed by: dfr
Tested by: wilko
1999-11-16 14:01:12 +00:00
Doug Rabson
7cbc47c7bc Add the ata devices to the GENERIC kernel. Hopefully, this should allow
it to install from ATA cds and to ATA disks. I'll check after my next
release builds.
1999-11-15 09:09:00 +00:00
Doug Rabson
62a50bfa38 Re-organise the code which manages the owner of the FP state (fpcurproc).
The old code was spread out through the machdep code and was sloppy about
enabling and disabling the FEN bit (which controls access to the FP
register set). This caused a DIAGNOSTIC warning "DANGER WILL ROBINSON:
FEN SET IN cpu_fork!" sometimes when operating under high loads and could
conceivably lead to processes getting incorrect FP results.

The new code is much more strict about the FEN bit and makes sure that
*only* fpcurproc ever has it enabled. This also allows us to remove a
section of code from the exception_return path which might improve
performance marginally.

Reviewed by: gallatin
1999-11-10 21:14:25 +00:00
Doug Rabson
8c52203b20 Drop ipl to zero before calling ast(). Make sure that this only happens
if we are really going to call ast() to avoid unexpected interrupt
recursion.

Reviewed by: bde, gallatin
1999-11-09 21:43:12 +00:00
Doug Rabson
ad08dac4c2 Fix a warning. 1999-11-09 21:23:11 +00:00
Alan Cox
b561683329 Passing "0" or "FALSE" as the fourth argument to vm_fault is wrong. It
should be "VM_FAULT_NORMAL".
1999-11-09 01:44:28 +00:00
Kazutaka YOKOTA
d7ccb880d1 - Added the following options; they have existed in syscons
for sometime, but haven't been registered here.

  SC_NORM_ATTR
  SC_NORM_REV_ATTR
  SC_KERNEL_CONS_ATTR
  SC_KERNEL_CONS_REV_ATTR

PR: kern/13176
1999-11-08 10:59:48 +00:00
Kazutaka YOKOTA
51ebcb230e - Added a new kernel configuration option: SC_TWOBUTTON_MOUSE.
The new option will make the right mouse button the `paste' button.
  Useful for two button mice.

Submitted by: morganw@engr.sc.edu (Wes Morgan)
1999-11-08 10:04:29 +00:00
Kazutaka YOKOTA
73027df75c - Removed SC_VIDEO_DEBUG. It is broken and useless now. 1999-11-08 09:57:16 +00:00
Peter Wemm
890a3396e0 Take a shot at using cdevsw_add() to get it working again. This really
needs to use make_dev().
1999-11-08 07:51:28 +00:00
Poul-Henning Kamp
be8479a836 Remove the iskmemdev() function. Make it the responsibility of the mem.c
drivers to enforce the securelevel checks.
1999-11-07 12:01:32 +00:00
Poul-Henning Kamp
d53dedee55 Remove the devsw magic from DEV_MODULE() 1999-11-07 10:01:17 +00:00
Eivind Eklund
909232c4ef Options cleanup.
* GC unused options
* Move options that exist on all architectures to conf/options
* Add missing options to LINT
* Sort undocumented options list in LINT

Reviewed by:	green
1999-11-06 23:41:10 +00:00
Alan Cox
7f6b8c3d04 Remove an unnecessary alignment check from osigreturn and sigreturn. (The
data is copyin()'ed to a properly aligned buffer.)

Return EFAULT rather than EINVAL if the sigcontext is inaccessible,
as specified by the documentation.

Submitted by:	bde
1999-11-04 23:23:13 +00:00
Doug Rabson
403030180d Fix the atomic arithmetic primitives for address where (p&7) >= 4.
Reviewed by: gallatin
1999-11-04 09:55:07 +00:00
Alan Cox
2bf93af129 Eliminate two useracc(..., VM_PROT_READ) calls that immediately precede
copyin() calls.

Submitted by:	bde
1999-11-04 07:21:41 +00:00
Andrew Gallatin
160dd8eb7b Add a second direct map window to increase the maximum RAM this platform
can deal with from 1GB to 2GB.   I have no way to test with >1GB because I
don't have high enough density memory to get any one box over 1GB.  However, I
have tested it on xp1000 & ds10 with < 1GB of memory & have verified that it
does no harm.
1999-11-03 01:16:11 +00:00
Mike Smith
2fb05ea1fc Cut out some extra dead code that I missed last time around. I think
this will fix the alpha kernel build now (MFS excluded).
1999-11-02 19:29:20 +00:00
Mike Smith
ed9f9797bb This is a complete rewrite of vfs_conf.c, which changes the way the root
filesystem is discovered.  Preference is given to using the kernel
environment variable vfs.root.mountfrom, which is set by the loader
according to the contents of /etc/fstab.  Changes in the MD code
provide fallback mechanisms for systems not using the loader.

A more robust fallback path is also provided, with the last recourse
being to prompt on the console for a root device.

These changes drastically simplify the machine-dependant parts of
the root configuration process.  In addition, support for CDROM root
devices has been removed; it was a nasty hack and didn't work.
1999-11-01 23:51:00 +00:00
Peter Wemm
b4e9f0b6e6 Merge the alpha and x86 majors files together. There appear to be
only two conflicts, cdev #98 and cdev #99.  These should be fixed.
MAKEDEV should probably be merged as well.
Static majors are (hopefully) going away one day soon.
This file is informational and not machine parsed by anything any more.
1999-11-01 04:12:42 +00:00
Peter Wemm
51124de792 Update examples using 'disk' and 'tape' - they used to have magic meaning
to config(8) for static device tables that have not existed for quite
some time.  They have been aliases for 'device' for a while, and "tape"
went away entirely as it wasn't used anywhere (except in an example
in LINT.. "fixed").
1999-11-01 04:02:58 +00:00
Alan Cox
0d4d02ecf2 The useracc() calls in osigreturn() and sigreturn() should specify
VM_PROT_READ rather than VM_PROT_WRITE.  (This mistake predates
the B_READ/B_WRITE -> VM_PROT_READ/VM_PROT_WRITE change.)

Submitted by:	bde
1999-10-31 19:39:51 +00:00
Andrew Gallatin
c89564e46e Don't lower the ipl when returning from handling an interrupt.
If the ipl is lowered here, a machine can rapidly run out of stack
space when it is under heavy interrupt load.   Without this fix,
my test machine would fall over within a few seconds when forwarding
14,000 packets/sec.  With the patch, it has been up for over 24 hours
and has built the world at the same time.

submitted by: dfr@freebsd.org
1999-10-30 15:20:31 +00:00
Marcel Moolenaar
7621bfff0f Allow the source root `S' to be overridden by defining it only when
it isn't already defined. It enables config(8) to create the kernel
build directory where it wants.
1999-10-30 09:28:27 +00:00
Alan Cox
be72f78813 The core of this patch is to vm/vm_page.h. The effects are two-fold: (1) to
eliminate an extra (useless) level of indirection in half of the page
queue accesses and (2) to use a single name for each queue throughout,
instead of, e.g., "vm_page_queue_active" in some places and
"vm_page_queues[PQ_ACTIVE]" in others.

Reviewed by:	dillon
1999-10-30 07:37:14 +00:00
Poul-Henning Kamp
02c58685a4 Change useracc() and kernacc() to use VM_PROT_{READ|WRITE|EXECUTE} for the
"rw" argument, rather than hijacking B_{READ|WRITE}.

Fix two bugs (physio & cam) resulting by the confusion caused by this.

Submitted by:   Tor.Egge@fast.no
Reviewed by:    alc, ken (partly)
1999-10-30 06:32:05 +00:00
Poul-Henning Kamp
923502ff91 useracc() the prequel:
Merge the contents (less some trivial bordering the silly comments)
of <vm/vm_prot.h> and <vm/vm_inherit.h> into <vm/vm.h>.  This puts
the #defines for the vm_inherit_t and vm_prot_t types next to their
typedefs.

This paves the road for the commit to follow shortly: change
useracc() to use VM_PROT_{READ|WRITE} rather than B_{READ|WRITE}
as argument.
1999-10-29 18:09:36 +00:00
Bill Paul
ed8c6514c4 Convert the mx driver to miibus.
In order to make this work, I created a pseudo-PHY driver to deal with
Macronix chips that use the built-in NWAY support and symbol mode port.
This is actually all of them, with the exception of the original MX98713
which presents its NWAY support via the MII serial interface.

The mxphy driver actually manipulates the controller registers directly
rather than using the miibus_readreg()/miibus_writereg() bus interface
since there are no MII registers to read. The mx driver itself pretends
that the NWAY interface is a PHY locayed at MII address 31 for the sole
purpose of allowing the mxphy_probe() routine to know when it needs to
attach to a host controller.
1999-10-16 05:24:13 +00:00