Commit Graph
197 Commits
Author SHA1 Message Date
David E. O'Brien 32af35d163 MFC: rev 1.3 (add ISO C99's `long long' and adjust comments) 2000-10-30 10:28:13 +00:00
Bruce Evans b1280cc5de MFC (alpha rev.1.4, i386 rev.1.5: work around a bug (apparently in gcc) by
adding struct tags).
2000-10-27 09:16:05 +00:00
Andrew Gallatin d571fb34a8 MFC: support for kernels with more than 64k worth of globals 2000-10-24 16:09:36 +00:00
Paul Saab 9e9c7c4f77 MFC:
Remove the NCPU, NAPIC, NBUS, NINTR config options.  Make NAPIC,
NBUS, NINTR dynamic and set NCPU to a maximum of 16 under SMP.

Move MAXCPU from machine/smp.h to machine/param.h to expose MAXCPU
in the !SMP case and replace NCPUS with MAXCPU since they are
redundant.
2000-09-30 02:49:37 +00:00
John Baldwin f30b7f18ad MFC: fp_except -> fp_except_t 2000-08-22 02:44:19 +00:00
John Baldwin e065e1b70f MFC: Use the same IEEE fp types on the alpha as on the i386. 2000-08-17 08:08:15 +00:00
Peter Wemm 5fe02406b2 MFC: pmap interface optimizations, optionally physically backed SYSVSHM. 2000-08-04 22:31:11 +00:00
Peter Wemm 3605f22979 MFC: spelling fix 2000-08-03 21:10:58 +00:00
Peter Wemm f8f28b7dd6 MFC: make tree k-12 safe[r] :-) 2000-08-03 21:07:27 +00:00
Peter Wemm b245958cd3 MFC: $FreeBSD$ 2000-08-03 00:54:41 +00:00
Doug Rabson 481d3372c2 MFC: taskqueue api. 2000-07-18 21:12:43 +00:00
Matt Jacob 14b2d19b1f MFC: Add support for the Alpha Processor, Inc. UP1000 system. 2000-07-04 01:51:04 +00:00
Matt Jacob a962db4085 MFC(1.7): (infrastructure for) ppc driver on alpha 2000-07-04 01:50:24 +00:00
John Baldwin 504bd512cb MFC: Support the OHCI controller's IRQ mapping on newer Alpha's. 2000-06-07 01:45:03 +00:00
Andrew Gallatin 61e1bd658f MFC enough to make the alpha kernel compile again after SMP and random MFCs.
Sigh.  Doesn't anybody test on alphas?
2000-05-24 14:20:58 +00:00
Andrew Gallatin cc90b38301 MFC 1.12, one step toward making a RELENG_4 kernel compile 2000-05-24 14:18:30 +00:00
Jonathan Lemon e2cba5ead7 MFC: delayed checksum work. This also brings the mbuf size up to 256. 2000-05-05 13:37:06 +00:00
cvs2svn 1247b53994 This commit was manufactured by cvs2svn to create branch 'RELENG_4'. 2000-04-02 12:00:53 +00:00
Peter Wemm 798540aa11 MFC: make SYSVSHM limits arbitarily configurable via sysctl after boot
and other minor cleanups.
2000-04-02 08:47:17 +00:00
Matt Jacob e7dffd3105 MFC: Add prototype from promcnattach. 2000-03-27 18:29:34 +00:00
Kazutaka YOKOTA f1819d1cc6 MFC: add support for more mice (psm.c 1.24, i386/include/mouse.h 1.16,
alpha/include/mouse.h 1.17, atkbdcreg.h 1.5).
2000-03-21 14:44:12 +00:00
cvs2svn 842f308487 This commit was manufactured by cvs2svn to create branch 'RELENG_4'. 2000-03-13 04:59:44 +00:00
Peter Dufault 383774c417 Patches that eliminate extra context switches in FIFO case.
Fixes p1003_1b regression test in the simple case of no RR and
FIFO processes competing.

Reviewed by:	jkh, bde
2000-03-02 16:20:07 +00:00
Doug Rabson db1d02f417 * Fix the memory probing code so that it sees all memory clusters, not
just the first one.
* Don't reserve extra memory for the prom console unless the platform
  actually uses it.
* Fix some historical confusion and a minor bug in the message buffer
  initialisation.

Submitted by: gallatin for the prom console part
Approved by: jkh
2000-02-29 08:48:10 +00:00
Søren Schmidt 47351d2774 Update the ata driver to take more advantage of newbus, this
was needed to make attach/detach of devices work, which is
needed for the PCCARD support.
(PCCARD support is still not working though, more to come on that)

Support the CMD646 chip which is used on many alphas, sadly only
in WDMA2 mode, as the silicon is broken beyond belief for UDMA modes.

Lots of cosmetic fixes here and there.

Sorry for the size of this megapatchfromhell but it was not
possible otherwise...

newbus patches based on work from: dfr (Doug Rabson)
2000-02-18 20:57:33 +00:00
Bruce Evans 90bb57afd9 Don't include <machine/ipl.h> in <sys/systm.h> in the i386 case. This
fixes some namespace pollution in general and breakage of modules that
aren't in the sys tree in particular (<machine/ipl.h> includes further
headers that aren't installed under /usr/include).

Reimplemented SPLASSERT() so that it is more machine independent and
less bloated and doesn't require the <machine/ipl.h> include spam.
In particular, don't assume that `cpl' can be printed using %08x
format.  The alpha arch doesn't even have `cpl'.  SPLASSERT() was
harmless on alphas because it isn't actually used.
2000-02-17 18:37:45 +00:00
Doug Rabson eb06360f04 Add functions which allow i/o memory to be accessed without forcing a
memory barrier (needed for XFree86 4.0).

Approved by: jkh
2000-02-12 14:57:01 +00:00
Matt Jacob be13abf9a0 Fix breakage from last commit- macro was broken. I appreciate the
committer's fixing things for alpha, but I sure wish they could
have compiled on one!
2000-01-16 19:02:29 +00:00
Andrew Gallatin a6db6c48bf The kernel side of per-process unaligned access control (printing, fixing &
delivering SIGBUS).  This will allow a non-superuser to control unaligned
access behaviour on a per-process basis once a userland control program
(uac) is written.

Reviewed by: obrien
Tested by:   obrien
2000-01-16 07:07:33 +00:00
Jonathan M. Bresler f6a3d83f00 Add SPLASSERT() macro. SPLASSERT() compiles to a no-op
unless both "option INVARIANTS" and "options INVARIANT_SUPPORT"
        are defined in the kernel's config(8) file.

        SPLASSERT(expression, msg) used KASSERT to check that the
        expression is true, panic()ing the kernel otherwise.

Approved by: jkh
Reviewed by: jdp, dfr, phk, eivind and green
2000-01-16 02:10:21 +00:00
Peter Wemm 664a31e496 Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot).  This is consistant with the other
BSD's who made this change quite some time ago.  More commits to come.
1999-12-29 04:46:21 +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
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
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: [email protected]
1999-11-19 13:38:22 +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
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
Doug Rabson 45f0aa1f0e * Implement bus_set/get/delete_resource for pci.
* Change the hack used on the alpha for mapping devices into DENSE or
  BWX memory spaces to a simpler one. Its still a hack and should be
  a seperate api to explicitly map the resource.
* Add $FreeBSD$ as necessary.
1999-10-14 21:38:33 +00:00
Doug Rabson 648f4ed3de Don't include <machine/frame.h>. 1999-10-08 09:09:13 +00:00
Marcel Moolenaar c5c6b7b38e Re-introduction of sigcontext.
struct sigcontext and ucontext_t/mcontext_t are defined in such
a way that both (ie struct sigcontext and ucontext_t) can be
passed on to sigreturn. The signal handler is still given a
ucontext_t for maximum flexibility.

For backward compatibility sigreturn restores the state for the
alternate signal stack from sigcontext.sc_onstack and not from
ucontext_t.uc_stack. A good way to determine which value the
application has set and thus which value to use, is still open
for discussion.

NOTE: This change should only affect those binaries that use
      sigcontext and/or ucontext_t. In the source tree itself
      this is only doscmd. Recompilation is required for those
      applications.

This commit also fixes a lot of style bugs without hopefully
adding new ones.

NOTE: struct sigaltstack.ss_size now has type size_t again. For
      some reason I changed that into unsigned int.

Parts submitted by: bde
sigaltstack bug found by: bde
1999-10-04 19:33:58 +00:00
Marcel Moolenaar 91078fca0c sigset_t change (part 3 of 5)
-----------------------------

By introducing a new sigframe so that the signal handler operates
on the new siginfo_t and on ucontext_t instead of sigcontext, we
now need two version of sendsig and sigreturn.

A flag in struct proc determines whether the process expects an
old sigframe or a new sigframe. The signal trampoline handles
which sigreturn to call. It does this by testing for a magic
cookie in the frame.

The alpha uses osigreturn to implement longjmp. This means that
osigreturn is not only used for compatibility with existing
binaries. To handle the new sigset_t, setjmp saves it in
sc_reserved (see NOTE).

the struct sigframe has been moved from frame.h to sigframe.h
to handle the complex header dependencies that was caused by
the new sigframe.

NOTE: For the i386, the size of jmp_buf has been increased to hold
      the new sigset_t. On the alpha this has been prevented by
      using sc_reserved in sigcontext.
1999-09-29 15:06:27 +00:00
Peter Wemm b5afb7441c bdbtofsb() appears to have been unused for quite some time, if ever.
Appears to be a 4.4Lite relic.
1999-09-26 18:56:43 +00:00
Matthew Dillon 8b22cebb2c Back out a portion of the last commit. DFLTPHYS and MAXPHYS cannot
be set by a kernel conf option due to the struct buf structural
    dependancy (sizing of b_pages[]) creating a conflict with modules
    (which are not compiled with kernel config options overrides).

    We'll be able to sysctl these two later on when the buffer subsystem
    is revamped.
1999-09-22 05:48:31 +00:00
Matthew Dillon a59d364a23 Change default block size for user VBLK device access from 2K to PAGE_SIZE
(4K on an i386, 8K on an alpha).

    Make BLKDEV_IOSIZE, DFLTPHYS, and MAXPHYS kernel-configurable.
1999-09-22 04:11:55 +00:00
Doug Rabson 5ed9724025 This file was never used and appears to be a leftover from the NetBSD
bootstrap days.
1999-09-20 09:46:19 +00:00
Peter Wemm ae04ca6157 Don't install stubs, make a compat symlink at buildworld time.
All internal references to <machine/soundcard.h> are (hopefully :-) gone.
1999-09-04 15:46:31 +00:00
Doug Rabson 3e05dd9c7c Make <machine/soundcard.h> a stub which includes <sys/soundcard.h> 1999-09-04 14:35:18 +00:00
Peter Wemm c3aac50f28 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
Kazutaka YOKOTA 64eed277c5 Add definitions for Interlink VersaPad. 1999-08-17 12:12:44 +00:00