Commit Graph

90005 Commits

Author SHA1 Message Date
Peter Wemm
3c9a3c9ca3 Major pmap rework to take advantage of the larger address space on amd64
systems.  Of note:
- Implement a direct mapped region using 2MB pages.  This eliminates the
  need for temporary mappings when getting ptes.  This supports up to
  512GB of physical memory for now.  This should be enough for a while.
- Implement a 4-tier page table system.  Most of the infrastructure is
  there for 128TB of userland virtual address space, but only 512GB is
  presently enabled due to a mystery bug somewhere.  The design of this
  was heavily inspired by the alpha pmap.c.
- The kernel is moved into the negative address space(!).
- The kernel has 2GB of KVM available.
- Provide a uma memory allocator to use the direct map region to take
  advantage of the 2MB TLBs.
- Fixed some assumptions in the bus_space macros about the ability
  to fit virtual addresses in an 'int'.

Notable missing things:
- pmap_growkernel() should be able to grow to 512GB of KVM by expanding
  downwards below kernbase.  The kernel must be at the top 2GB of the
  negative address space because of gcc code generation strategies.
- need to fix the >512GB user vm code.

Approved by:	re (blanket)
2003-05-23 05:04:54 +00:00
Greg Lehey
74f2cc2c9c Change the way the plex lock mutexes work. Previously they were part
of the struct plex, which tore apart the mutex linked lists when the
plex table was expanded.  Now we maintain a pool of mutexes (currently
32) to be shared by all plexes.  This is still a lot better than the
splhigh() method used in other architectures.

expand_table: Add parameters file and line if we're debugging.

Approved by: re (jhb)
2003-05-23 01:15:55 +00:00
Greg Lehey
93573e2e76 Change the way the plex lock mutexes work. Previously they were part
of the struct plex, which tore apart the mutex linked lists when the
plex table was expanded.  Now we maintain a pool of mutexes (currently
32) to be shared by all plexes.  This is still a lot better than the
splhigh() method used in other architectures.

Add and clarify comments.

Approved by: re (jhb)
2003-05-23 01:15:30 +00:00
Greg Lehey
7db14b2ff2 expand_table: Add parameters file and line if we're debugging.
MMalloc, vinum_meminfo: Use strlcpy to copy file name.

Approved by: re (jhb)
2003-05-23 01:15:01 +00:00
Greg Lehey
d026346c86 Change the way the plex lock mutexes work. Previously they were part
of the struct plex, which tore apart the mutex linked lists when the
plex table was expanded.  Now we maintain a pool of mutexes (currently
32) to be shared by all plexes.  This is still a lot better than the
splhigh() method used in other architectures.

Approved by: re (jhb)
2003-05-23 01:14:35 +00:00
Greg Lehey
8a697ff435 detachobject: Update volume config after detaching a plex.
update_volume_config: Remove redundant diskconfig parameter.

Approved by: re (jhb)
2003-05-23 01:14:13 +00:00
Greg Lehey
cb5eba5e09 Change the way the plex lock mutexes work. Previously they were part
of the struct plex, which tore apart the mutex linked lists when the
plex table was expanded.  Now we maintain a pool of mutexes (currently
32) to be shared by all plexes.  This is still a lot better than the
splhigh() method used in other architectures.

update_volume_config: Remove redundant diskconfig parameter.

expand_table: Add parameters file and line if we're debugging.

Approved by: re (jhb)
2003-05-23 01:13:43 +00:00
Greg Lehey
f7b76dc815 Change many strcpys to strlcpys, etc.
Submitted by:	   Ted Unangst <tedu@stanford.edu>

Correct some inaccurate and badly formatted comments.

config_subdisk: If our drive is down, ensure that the subdisk is
		crashed.  Previously it was possible for the subdisk
		to be up when the drive was down.

Change the way the plex lock mutexes work.  Previously they were part
of the struct plex, which tore apart the mutex linked lists when the
plex table was expanded.  Now we maintain a pool of mutexes (currently
32) to be shared by all plexes.  This is still a lot better than the
splhigh() method used in other architectures.

update_volume_config: Remove redundant diskconfig parameter.

Approved by: re (jhb)
2003-05-23 01:13:10 +00:00
Bruce A. Mah
47e5e405b1 Modified release note: Note code generation problems with the base
system GCC using -march=pentium4, and the local workaround in our
Makefile infrastructure.

Approved by:	re (implicitly)
2003-05-23 00:02:10 +00:00
Warner Losh
7c8cd16cb9 o Document the tunables that acpi allows. (mdoc gurus please comment
on and fix if neceeary).
o Note that acpi is available on i386-ia32, ia64 and amd64, not just 'intel'
  platforms.  Intel has had nothing to do with amd64.

Approved by: re (scottl@)
2003-05-22 23:58:50 +00:00
Bruce A. Mah
fabf3816c2 Correctly tag some on-board Ethernet devices with the right
architecture.

Approved by:	re (implicitly)
2003-05-22 23:22:59 +00:00
Bruce A. Mah
7c7f55e495 Note a puc(4) device that works on ia64.
Submitted by:	Jim Brown <jpb@sixshooter.v6.thrupoint.net>
Approved by:	re (implicitly)
2003-05-22 23:19:01 +00:00
Bruce A. Mah
fcfbfec0d4 Add more ia64 device information, in a section similar to that for
FreeBSD/alpha.  Heavily hacked version of a diff that was...

Submitted by:	Jim Brown <jpb@sixshooter.v6.thrupoint.net>
Approved by:	re (implicitly)
2003-05-22 23:14:52 +00:00
Bruce A. Mah
ea0257d172 Enable some devices on ia64. Based on patch that was...
Submitted by:	Jim Brown <jpb@sixshooter.v6.thrupoint.net>
Approved by:	re (implicitly)
2003-05-22 22:40:22 +00:00
Peter Wemm
997f3bfc2a Merge from i386/trap.c rev 1.252. Use td_critnest instead of the
spinlocks count for explicitly enabling interrupts.

Approved by:	re (blanket)
2003-05-22 20:09:50 +00:00
Ruslan Ermilov
ca7367cce4 The "krb5" distribution was merged with "crypto", record the death.
Reviewed by:	jhb
Approved by:	re (jhb)
2003-05-22 18:41:16 +00:00
Doug Barton
a32bb1b53a When newfs'ing a partition with UFS2 that had previously been newfs'ed
with UFS1, the UFS1 superblocks were not deleted. This allowed any
RELENG_4 (or other non-UFS2-aware) fsck to think it knew how to "fix"
the file system, resulting in severe data scrambling.

This patch is a more advanced version than the one originally submitted.
Lukas improved it based on feedback from Kirk, and testing by me. It
blanks all UFS1 superblocks (if any) during a UFS2 newfs, thereby causing
fsck's that are not UFS2 aware to generate the "SEARCH FOR ALTERNATE
SUPER-BLOCK FAILED" message, and exit without damaging the fs.

PR:		bin/51619
Submitted by:	Lukas Ertl <l.ertl@univie.ac.at>
Reviewed by:	kirk
Approved by:	re (scottl)
2003-05-22 18:38:54 +00:00
Bernd Walter
cdc95e1bb8 Calculate routed interrupts using the slot number from the device and
not that of the bridge.

Approved by:	re (jhb)
2003-05-22 17:45:26 +00:00
Bruce A. Mah
386024a294 Mark a couple of instances of onboard NICs as i386-only.
Approved by:	re (implicitly)
2003-05-22 17:25:24 +00:00
Mike Barcroft
6f9622a926 Fix two misuses of __BSD_VISIBLE.
Submitted by:	bde
Approved by:	re
2003-05-22 17:07:57 +00:00
Eric Anholt
b1aff8bff1 Change -march=pentium4 to -march=pentium3 when CPUTYPE==p4, because gcc 3.2 is
known to produce broken code with -march=pentium4.  Add a note explaining this.
This should be removed when we update to gcc 3.3 or the bug is otherwise fixed.

Approved by:	re
2003-05-22 16:56:46 +00:00
Bruce A. Mah
91665c5c32 Add a link to the FreeBSD/ia64 project. Maybe should do this for
other platforms that have their own project pages too?

Based on a patch that was:

Submitted by:	Jim Brown <jpb@sixshooter.v6.thrupoint.net>
Approved by:	re (implicitly)
2003-05-22 15:51:45 +00:00
Bruce A. Mah
987e1d368f Update the abstract to be somewhat more helpful. Based on a patch
that was...

Submitted by:	Jim Brown <jpb@sixshooter.v6.thrupoint.net>
Approved by:	re (implicitly)
2003-05-22 15:42:50 +00:00
Ruslan Ermilov
c75a6a726b Erase whitspace at EOL.
Approved by:	re (blanket)
2003-05-22 13:10:32 +00:00
Ruslan Ermilov
3a5146d9e2 Assorted mdoc(7) fixes.
Approved by:	re (blanket)
2003-05-22 13:02:28 +00:00
Ruslan Ermilov
db1e3a4f98 Erase whitespace at EOL.
Approved by:	re (blanket)
2003-05-22 11:56:41 +00:00
Ruslan Ermilov
b4ad5e27f4 Moved $FreeBSD$ tag to where it belongs.
Approved by:	re (blanket)
2003-05-22 11:55:26 +00:00
Ruslan Ermilov
07958659ba Nitpicking.
Approved by:	re (blanket)
2003-05-22 11:54:53 +00:00
Ruslan Ermilov
f062eac425 Assorted mdoc(7) fixes.
Approved by:	re (blanket)
2003-05-22 11:52:23 +00:00
Ruslan Ermilov
a0218a2a4d Unbreak world build if NO_OPENSSL is defined but NO_KERBEROS is not.
Submitted by:	Marius Strobl <marius@alchemy.franken.de>
Approved by:	re (jhb)
2003-05-21 21:47:20 +00:00
David E. O'Brien
5da30ee2ba Remove alpha-specific floppy build target for now.
Approved by:	re(jhb)
2003-05-21 21:19:54 +00:00
Ruslan Ermilov
fa7f4291ff Markup bits.
Approved by:	re (blanket)
2003-05-21 21:07:28 +00:00
Ruslan Ermilov
c002b2c842 Revert last delta.
The -l option is deprecated (hence undocumented in usage() and
SYNOPSIS), as was threatened in the commitlog accompanying rev.
1.10 of main.c.

Approved by:	re (blanket)
2003-05-21 20:52:57 +00:00
Julian Elischer
faaa20f639 When we are spilling threads out of the run queue during panic, make sure we
keep the thread state variable consistent with its real state.
i.e. Don't say it's on the run queue when it isn't.

Also clarify the associated comment.

Turns a double panic back to a single panic :-/

Approved by:	re@ (jhb)
2003-05-21 18:53:25 +00:00
Poul-Henning Kamp
67fd2837cd Return ENXIO if the softc pointer is NULL, in all likelyhood the
disk is in the process of disappearing.

Approved by:	re/rwats*
2003-05-21 18:52:29 +00:00
Ruslan Ermilov
02531bb0b0 Link {be,le}{16,32,64}{enc,dec}.9 to byteorder.9.
Approved by:	re (blanket)
2003-05-21 17:37:22 +00:00
Ruslan Ermilov
0bf85f4f7e Fixed the whatis(1) entry for this manpage by using only
one short description (.Nd).

Submitted by:	sheldonh

Added bswap*() functions to the NAME section.

Approved by:	re (blanket)
2003-05-21 17:32:55 +00:00
Ruslan Ermilov
149c72305b Kill whitespace at EOL.
Approved by:	re (blanket)
2003-05-21 15:55:40 +00:00
Ruslan Ermilov
923d84c0bc mdoc(7) fixes.
This manpage should really have only one short description (.Nd);
if anyone could come up with a wording suitable for both conversion
and decoding/encoding functions, that would unbreak the whatis(1)
output for this manpage.

Approved by:	re (blanket)
2003-05-21 15:52:43 +00:00
Ruslan Ermilov
c8185672b2 Assorted mdoc(7), grammar, spelling, and punctuation fixes.
Approved by:	re (blanket)
2003-05-21 15:49:01 +00:00
Christian Brueffer
3e32fa3860 Clarify the describtion of the -A switch
PR:		51187
Submitted by:	Jeff Ito <jeffi@rcn.com>
Approved by:	re (jhb)
MFC after:	3 days
2003-05-21 15:00:47 +00:00
Ruslan Ermilov
b140b63058 Fixed catman(1) so that if the source files are compressed,
the preformatted files are compressed with the same program
as the source, and if the source files are uncompressed, the
preformatted files are also uncompressed.

PR:		bin/52213
Submitted by:	Krister Joas <krister@gazonk.net>, ru
Approved by:	re (jhb)
2003-05-21 13:26:37 +00:00
Ruslan Ermilov
b0eb809d95 Fixed typo in a comment.
PR:		misc/52486
Submitted by:	"Simon L. Nielsen" <simon@nitro.dk>
Approved by:	re (jhb)
2003-05-21 12:58:28 +00:00
Mike Makonnen
509d72c4b9 o Make the defenition of _set_curthread() match its declaration
in thr_private.h

o Lock down the ldt_entries array and ldt_free, which points to
  the next free slot. As noted in the comments, it's necessary
  to special case the initial_thread because %gs is not setup
  for it yet. This is ok because that early in the program there
  won't be any reentrancy issues anyways.

Approved by:	re/blanket libthr
2003-05-21 08:21:24 +00:00
Paul Saab
3284b9ee87 Make ciss usable under PAE
Approved by:	re (scottl)
2003-05-21 07:17:06 +00:00
Christian Brueffer
8347fe67c9 Add a reference to release(7)
Requested by:	murray
Approved by:	re (murray)
2003-05-21 07:16:32 +00:00
Paul Saab
487a8c7e61 - Make this work with PAE.
- atomically load and clear the status block so we dont miss an
  update.
  Submitted by: jdp

Approved by:	re (scottl)
2003-05-21 07:00:49 +00:00
Mike Makonnen
6439d4c286 Insert a debugging aid:
When in either the mutex or cond queue we notice that the thread
 is already on one of the queues, don't just simply abort(). Print
 out the thread's identifiers and what queue it was on.

Approved by: markm/mentor, re/blanket libthr
2003-05-21 03:41:07 +00:00
Mike Makonnen
5ccf23715a Re-enable the garbage collector thread in anticipation of further
locking work. I can't see anything obviously wrong with it (other than
the need to update the locking).

Approved by: markm/mentor, re/blanket libthr
2003-05-21 03:34:54 +00:00
Mike Makonnen
f97591bf25 When a thread exits it does not return from the kernel unless it
is the *only* remaining thread in the application, in which case we
should not core dump, and instead exit gracefully.

Approved by: markm/mentor, re/blanket libthr
2003-05-21 03:29:18 +00:00