Skip site navigation (1)Skip section navigation (2)

CVS log for src/sys/i386/include/param.h

[BACK] Up to [FreeBSD] / src / sys / i386 / include

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.93.2.1.2.1: download - view: text, markup, annotated - select for diffs
Fri Nov 11 04:20:22 2011 UTC (2 months, 4 weeks ago) by kensmith
Branches: RELENG_9_0
CVS tags: RELENG_9_0_0_RELEASE
Diff to: previous 1.93.2.1: preferred, colored
Changes since revision 1.93.2.1: +0 -0 lines
SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)

Revision 1.93.2.1: download - view: text, markup, annotated - select for diffs
Fri Sep 23 00:51:37 2011 UTC (4 months, 2 weeks ago) by kensmith
Branches: RELENG_9
CVS tags: RELENG_9_0_BP
Branch point for: RELENG_9_0
Diff to: previous 1.93: preferred, colored
Changes since revision 1.93: +0 -0 lines
SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)

Revision 1.93: download - view: text, markup, annotated - select for diffs
Tue Jul 19 00:37:24 2011 UTC (6 months, 3 weeks ago) by attilio
Branches: MAIN
CVS tags: RELENG_9_BP, HEAD
Branch point for: RELENG_9
Diff to: previous 1.92: preferred, colored
Changes since revision 1.92: +2 -0 lines
SVN rev 224207 on 2011-07-19 00:37:24Z by attilio

Add the possibility to specify from kernel configs MAXCPU value.
This patch is going to help in cases like mips flavours where you
want a more granular support on MAXCPU.

No MFC is previewed for this patch.

Tested by:	pluknet
Approved by:	re (kib)

Revision 1.92: download - view: text, markup, annotated - select for diffs
Wed Jun 22 21:04:13 2011 UTC (7 months, 2 weeks ago) by jhb
Branches: MAIN
Diff to: previous 1.91: preferred, colored
Changes since revision 1.91: +1 -0 lines
SVN rev 223440 on 2011-06-22 21:04:13Z by jhb

Move {amd64,i386}/pci/pci_bus.c and {amd64,i386}/include/pci_cfgreg.h to
the x86 tree.  The $PIR code is still only enabled on i386 and not amd64.
While here, make the qpi(4) driver on conditional on 'device pci'.

Revision 1.81.2.5.2.1: download - view: text, markup, annotated - select for diffs
Tue Dec 21 17:10:29 2010 UTC (13 months, 2 weeks ago) by kensmith
Branches: RELENG_7_4
CVS tags: RELENG_7_4_0_RELEASE
Diff to: previous 1.81.2.5: preferred, colored; next MAIN 1.82: preferred, colored
Changes since revision 1.81.2.5: +0 -0 lines
SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)

Revision 1.89.2.2.4.1: download - view: text, markup, annotated - select for diffs
Tue Dec 21 17:09:25 2010 UTC (13 months, 2 weeks ago) by kensmith
Branches: RELENG_8_2
CVS tags: RELENG_8_2_0_RELEASE
Diff to: previous 1.89.2.2: preferred, colored; next MAIN 1.90: preferred, colored
Changes since revision 1.89.2.2: +0 -0 lines
SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)

Revision 1.89.2.2.2.1: download - view: text, markup, annotated - select for diffs
Mon Jun 14 02:09:06 2010 UTC (19 months, 3 weeks ago) by kensmith
Branches: RELENG_8_1
CVS tags: RELENG_8_1_0_RELEASE
Diff to: previous 1.89.2.2: preferred, colored; next MAIN 1.90: preferred, colored
Changes since revision 1.89.2.2: +0 -0 lines
SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)

Revision 1.81.2.5: download - view: text, markup, annotated - select for diffs
Wed Mar 10 15:47:33 2010 UTC (23 months ago) by jhb
Branches: RELENG_7
CVS tags: RELENG_7_4_BP
Branch point for: RELENG_7_4
Diff to: previous 1.81.2.4: preferred, colored; branchpoint 1.81: preferred, colored; next MAIN 1.82: preferred, colored
Changes since revision 1.81.2.4: +1 -1 lines
SVN rev 204956 on 2010-03-10 15:47:33Z by jhb

Revert the change to increase MAXCPU to 32 on amd64 and i386.  MAXCPU is
part of the de facto KBI currently.

Revision 1.81.2.4: download - view: text, markup, annotated - select for diffs
Tue Mar 9 22:10:11 2010 UTC (23 months ago) by jhb
Branches: RELENG_7
Diff to: previous 1.81.2.3: preferred, colored; branchpoint 1.81: preferred, colored
Changes since revision 1.81.2.3: +1 -1 lines
SVN rev 204931 on 2010-03-09 22:10:11Z by jhb

MFC 183525: Bump MAXCPU to 32 now that 32 CPU x86 systems exist.

Revision 1.81.2.3.2.1: download - view: text, markup, annotated - select for diffs
Wed Feb 10 00:26:20 2010 UTC (23 months, 4 weeks ago) by kensmith
Branches: RELENG_7_3
CVS tags: RELENG_7_3_0_RELEASE
Diff to: previous 1.81.2.3: preferred, colored; next MAIN 1.81.2.4: preferred, colored
Changes since revision 1.81.2.3: +0 -0 lines
SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)

Revision 1.81.2.3: download - view: text, markup, annotated - select for diffs
Thu Dec 17 07:36:40 2009 UTC (2 years, 1 month ago) by marius
Branches: RELENG_7
CVS tags: RELENG_7_3_BP
Branch point for: RELENG_7_3
Diff to: previous 1.81.2.2: preferred, colored; branchpoint 1.81: preferred, colored
Changes since revision 1.81.2.2: +7 -0 lines
SVN rev 200625 on 2009-12-17 07:36:40Z by marius

MFC: r195376

Cleanup ALIGNED_POINTER:
o add to platforms where it was missing (arm, i386, powerpc, sparc64, sun4v)
o define as "1" on amd64 and i386 where there is no restriction
o make the type returned consistent with ALIGN
o remove _ALIGNED_POINTER
o make associated comments consistent

Reviewed by:	bde, imp, marcel
Approved by:	sam (MFC to stable/7)

Revision 1.81.2.2: download - view: text, markup, annotated - select for diffs
Sun Nov 1 08:45:44 2009 UTC (2 years, 3 months ago) by alc
Branches: RELENG_7
Diff to: previous 1.81.2.1: preferred, colored; branchpoint 1.81: preferred, colored
Changes since revision 1.81.2.1: +2 -0 lines
SVN rev 198742 on 2009-11-01 08:45:44Z by alc

MFC r197316
    Add a new sysctl for reporting all of the supported page sizes.

Revision 1.89.2.2: download - view: text, markup, annotated - select for diffs
Sat Oct 31 18:54:26 2009 UTC (2 years, 3 months ago) by alc
Branches: RELENG_8
CVS tags: RELENG_8_2_BP, RELENG_8_1_BP
Branch point for: RELENG_8_2, RELENG_8_1
Diff to: previous 1.89.2.1: preferred, colored; branchpoint 1.89: preferred, colored; next MAIN 1.90: preferred, colored
Changes since revision 1.89.2.1: +2 -0 lines
SVN rev 198728 on 2009-10-31 18:54:26Z by alc

MFC r197316
  Add a new sysctl for reporting all of the supported page sizes.

Revision 1.89.2.1.2.1: download - view: text, markup, annotated - select for diffs
Sun Oct 25 01:10:29 2009 UTC (2 years, 3 months ago) by kensmith
Branches: RELENG_8_0
CVS tags: RELENG_8_0_0_RELEASE
Diff to: previous 1.89.2.1: preferred, colored; next MAIN 1.89.2.2: preferred, colored
Changes since revision 1.89.2.1: +0 -0 lines
SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)

Revision 1.91: download - view: text, markup, annotated - select for diffs
Fri Sep 18 17:04:57 2009 UTC (2 years, 4 months ago) by alc
Branches: MAIN
Diff to: previous 1.90: preferred, colored
Changes since revision 1.90: +2 -0 lines
SVN rev 197316 on 2009-09-18 17:04:57Z by alc

Add a new sysctl for reporting all of the supported page sizes.

Reviewed by:	jhb
MFC after:	3 weeks

Revision 1.90: download - view: text, markup, annotated - select for diffs
Tue Sep 8 20:45:40 2009 UTC (2 years, 5 months ago) by phk
Branches: MAIN
Diff to: previous 1.89: preferred, colored
Changes since revision 1.89: +6 -6 lines
SVN rev 196994 on 2009-09-08 20:45:40Z by phk

Get rid of the _NO_NAMESPACE_POLLUTION kludge by creating an
architecture specific include file containing the _ALIGN*
stuff which <sys/socket.h> needs.

Revision 1.89.2.1: download - view: text, markup, annotated - select for diffs
Mon Aug 3 08:13:06 2009 UTC (2 years, 6 months ago) by kensmith
Branches: RELENG_8
CVS tags: RELENG_8_0_BP
Branch point for: RELENG_8_0
Diff to: previous 1.89: preferred, colored
Changes since revision 1.89: +0 -0 lines
SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)

Revision 1.89: download - view: text, markup, annotated - select for diffs
Sun Jul 5 17:45:48 2009 UTC (2 years, 7 months ago) by sam
Branches: MAIN
CVS tags: RELENG_8_BP
Branch point for: RELENG_8
Diff to: previous 1.88: preferred, colored
Changes since revision 1.88: +7 -0 lines
SVN rev 195376 on 2009-07-05 17:45:48Z by sam

Cleanup ALIGNED_POINTER:
o add to platforms where it was missing (arm, i386, powerpc, sparc64, sun4v)
o define as "1" on amd64 and i386 where there is no restriction
o make the type returned consistent with ALIGN
o remove _ALIGNED_POINTER
o make associated comments consistent

Reviewed by:	bde, imp, marcel
Approved by:	re (kensmith)

Revision 1.88: download - view: text, markup, annotated - select for diffs
Mon May 18 19:33:59 2009 UTC (2 years, 8 months ago) by jhb
Branches: MAIN
Diff to: previous 1.87: preferred, colored
Changes since revision 1.87: +1 -1 lines
SVN rev 192331 on 2009-05-18 19:33:59Z by jhb

Bump CACHE_LINE_SIZE to 128 for x86.  Intel's manuals explicitly recommend
using 128 byte alignment for locks.  (See IA-32 SDM Vol 3A 7.11.6.7)

Revision 1.87: download - view: text, markup, annotated - select for diffs
Mon Apr 20 12:59:23 2009 UTC (2 years, 9 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.86: preferred, colored
Changes since revision 1.86: +0 -2 lines
SVN rev 191309 on 2009-04-20 12:59:23Z by rwatson

Don't conditionally define CACHE_LINE_SHIFT, as we anticipate sizing
a fair number of static data structures, making this an unlikely
option to try to change without also changing source code. [1]

Change default cache line size on ia64, sparc64, and sun4v to 128
bytes, as this was what rtld-elf was already using on those
platforms. [2]

Suggested by:	bde [1], jhb [2]
MFC after:	2 weeks

Revision 1.86: download - view: text, markup, annotated - select for diffs
Sun Apr 19 21:26:36 2009 UTC (2 years, 9 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.85: preferred, colored
Changes since revision 1.85: +4 -0 lines
SVN rev 191278 on 2009-04-19 21:26:36Z by rwatson

Add description and cautionary note regarding CACHE_LINE_SIZE.

MFC after:	2 weeks
Suggested by:	alc

Revision 1.85: download - view: text, markup, annotated - select for diffs
Sun Apr 19 20:19:13 2009 UTC (2 years, 9 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.84: preferred, colored
Changes since revision 1.84: +5 -0 lines
SVN rev 191276 on 2009-04-19 20:19:13Z by rwatson

For each architecture, define CACHE_LINE_SHIFT and a derived
CACHE_LINE_SIZE constant.  These constants are intended to
over-estimate the cache line size, and be used at compile-time
when a run-time tuning alternative isn't appropriate or
available.

Defaults for all architectures are 64 bytes, except powerpc
where it is 128 bytes (used on G5 systems).

MFC after:	2 weeks
Discussed on:   arch@

Revision 1.81.2.1.4.1: download - view: text, markup, annotated - select for diffs
Wed Apr 15 03:14:26 2009 UTC (2 years, 9 months ago) by kensmith
Branches: RELENG_7_2
CVS tags: RELENG_7_2_0_RELEASE
Diff to: previous 1.81.2.1: preferred, colored; next MAIN 1.81.2.2: preferred, colored
Changes since revision 1.81.2.1: +0 -0 lines
SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)

Revision 1.81.2.1.2.1: download - view: text, markup, annotated - select for diffs
Tue Nov 25 02:59:29 2008 UTC (3 years, 2 months ago) by kensmith
Branches: RELENG_7_1
CVS tags: RELENG_7_1_0_RELEASE
Diff to: previous 1.81.2.1: preferred, colored; next MAIN 1.81.2.2: preferred, colored
Changes since revision 1.81.2.1: +0 -0 lines
SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)

Revision 1.79.12.1: download - view: text, markup, annotated - select for diffs
Thu Oct 2 02:57:24 2008 UTC (3 years, 4 months ago) by kensmith
Branches: RELENG_6_4
CVS tags: RELENG_6_4_0_RELEASE
Diff to: previous 1.79: preferred, colored; next MAIN 1.80: preferred, colored
Changes since revision 1.79: +0 -0 lines
SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)

Revision 1.84: download - view: text, markup, annotated - select for diffs
Wed Oct 1 21:59:04 2008 UTC (3 years, 4 months ago) by jhb
Branches: MAIN
Diff to: previous 1.83: preferred, colored
Changes since revision 1.83: +1 -1 lines
SVN rev 183525 on 2008-10-01 21:59:04Z by jhb

Bump MAXCPU to 32 now that 32 CPU x86 systems exist.

Tested by:	rwatson, mdtansca
Approved by:	peter

Revision 1.83: download - view: text, markup, annotated - select for diffs
Thu Sep 25 07:05:17 2008 UTC (3 years, 4 months ago) by kmacy
Branches: MAIN
Diff to: previous 1.82: preferred, colored
Changes since revision 1.82: +2 -0 lines
SVN rev 183343 on 2008-09-25 07:05:17Z by kmacy

add NPGPTD_SHIFT for the nkpt calculation

MFC after:	1 month

Revision 1.81.2.1: download - view: text, markup, annotated - select for diffs
Wed Aug 27 04:41:15 2008 UTC (3 years, 5 months ago) by jb
Branches: RELENG_7
CVS tags: RELENG_7_2_BP, RELENG_7_1_BP
Branch point for: RELENG_7_2, RELENG_7_1
Diff to: previous 1.81: preferred, colored
Changes since revision 1.81: +1 -1 lines
SVN rev 182231 on 2008-08-27 04:41:15Z by jb

MFC

DTrace support.

Note that this defaults the 'make buildkernel' to build with CTF data so
that the release kernel and modules are DTrace-able.

Revision 1.82: download - view: text, markup, annotated - select for diffs
Thu Mar 27 05:03:25 2008 UTC (3 years, 10 months ago) by jb
Branches: MAIN
Diff to: previous 1.81: preferred, colored
Changes since revision 1.81: +2 -2 lines
When building a kernel module, define MAXCPU the same as SMP so
that modules work with and without SMP.

Revision 1.81: download - view: text, markup, annotated - select for diffs
Mon Jan 9 06:05:56 2006 UTC (6 years, 1 month ago) by imp
Branches: MAIN
CVS tags: RELENG_7_BP, RELENG_7_0_BP, RELENG_7_0_0_RELEASE, RELENG_7_0
Branch point for: RELENG_7
Diff to: previous 1.80: preferred, colored
Changes since revision 1.80: +3 -0 lines
By popular demand, move __HAVE_ACPI and __PCI_REROUTE_INTERRUPT into
param.h.  Per request, I've placed these just after the
_NO_NAMESPACE_POLLUTION ifndef.  I've not renamed anything yet, but
may since we don't need the __.

Submitted by: bde, jhb, scottl, many others.

Revision 1.80: download - view: text, markup, annotated - select for diffs
Tue Dec 6 13:27:20 2005 UTC (6 years, 2 months ago) by ru
Branches: MAIN
Diff to: previous 1.79: preferred, colored
Changes since revision 1.79: +0 -7 lines
Drop _MACHINE_ARCH and _MACHINE defines (not to be confused with
MACHINE_ARCH and MACHINE).  Their purpose was to be able to test
in cpp(1), but cpp(1) only understands integer type expressions.
Using such unsupported expressions introduced a number of subtle
bugs, which were discovered by compiling with -Wundef.

Revision 1.72.2.2: download - view: text, markup, annotated - select for diffs
Sat Feb 5 01:01:53 2005 UTC (7 years ago) by das
Branches: RELENG_5
CVS tags: RELENG_5_5_BP, RELENG_5_5_0_RELEASE, RELENG_5_5, RELENG_5_4_BP, RELENG_5_4_0_RELEASE, RELENG_5_4
Diff to: previous 1.72.2.1: preferred, colored; branchpoint 1.72: preferred, colored; next MAIN 1.73: preferred, colored
Changes since revision 1.72.2.1: +0 -1 lines
MFC:

  2004-11-20 02:29:50 UTC
  Remove UAREA_PAGES.

Revision 1.79: download - view: text, markup, annotated - select for diffs
Sat Nov 20 02:29:49 2004 UTC (7 years, 2 months ago) by das
Branches: MAIN
CVS tags: RELENG_6_BP, RELENG_6_4_BP, RELENG_6_3_BP, RELENG_6_3_0_RELEASE, RELENG_6_3, RELENG_6_2_BP, RELENG_6_2_0_RELEASE, RELENG_6_2, RELENG_6_1_BP, RELENG_6_1_0_RELEASE, RELENG_6_1, RELENG_6_0_BP, RELENG_6_0_0_RELEASE, RELENG_6_0, RELENG_6
Branch point for: RELENG_6_4
Diff to: previous 1.78: preferred, colored
Changes since revision 1.78: +0 -1 lines
Remove UAREA_PAGES.

Reviewed by:	arch@

Revision 1.72.2.1: download - view: text, markup, annotated - select for diffs
Fri Sep 10 00:04:17 2004 UTC (7 years, 5 months ago) by scottl
Branches: RELENG_5
CVS tags: RELENG_5_3_BP, RELENG_5_3_0_RELEASE, RELENG_5_3
Diff to: previous 1.72: preferred, colored
Changes since revision 1.72: +0 -5 lines
MFC: Turn PREEMPTION into a kernel option.  It is NOT enabled at this time.

Approved by: re

Revision 1.78: download - view: text, markup, annotated - select for diffs
Thu Sep 2 18:59:15 2004 UTC (7 years, 5 months ago) by scottl
Branches: MAIN
Diff to: previous 1.77: preferred, colored
Changes since revision 1.77: +0 -5 lines
Turn PREEMPTION into a kernel option.  Make sure that it's defined if
FULL_PREEMPTION is defined.  Add a runtime warning to ULE if PREEMPTION is
enabled (code inspired by the PREEMPTION warning in kern_switch.c).  This
is a possible MT5 candidate.

Revision 1.77: download - view: text, markup, annotated - select for diffs
Wed Sep 1 20:41:18 2004 UTC (7 years, 5 months ago) by julian
Branches: MAIN
Diff to: previous 1.76: preferred, colored
Changes since revision 1.76: +1 -4 lines
Give up trying to make preemption dependent on SCHED_4BSD
the list of breakages was getting too long

Revision 1.76: download - view: text, markup, annotated - select for diffs
Wed Sep 1 18:29:57 2004 UTC (7 years, 5 months ago) by julian
Branches: MAIN
Diff to: previous 1.75: preferred, colored
Changes since revision 1.75: +1 -1 lines
Don't ask for this for modules. no modules need to know about preemption at the moment

Revision 1.75: download - view: text, markup, annotated - select for diffs
Wed Sep 1 10:12:08 2004 UTC (7 years, 5 months ago) by scottl
Branches: MAIN
Diff to: previous 1.74: preferred, colored
Changes since revision 1.74: +2 -0 lines
Protect the PREEMPTION logic with #ifdef _KERNEL to fix the build.

Revision 1.74: download - view: text, markup, annotated - select for diffs
Wed Sep 1 09:01:32 2004 UTC (7 years, 5 months ago) by julian
Branches: MAIN
Diff to: previous 1.73: preferred, colored
Changes since revision 1.73: +3 -0 lines
Only turn preemption for 4bsd.
it's still poison for ULE.

Revision 1.73: download - view: text, markup, annotated - select for diffs
Wed Sep 1 06:42:01 2004 UTC (7 years, 5 months ago) by julian
Branches: MAIN
Diff to: previous 1.72: preferred, colored
Changes since revision 1.72: +0 -2 lines
Give the 4bsd scheduler the ability to wake up idle processors
when there is new work to be done.

MFC after:	5 days

Revision 1.72: download - view: text, markup, annotated - select for diffs
Sun Aug 1 14:31:45 2004 UTC (7 years, 6 months ago) by scottl
Branches: MAIN
CVS tags: RELENG_5_BP
Branch point for: RELENG_5
Diff to: previous 1.71: preferred, colored
Changes since revision 1.71: +3 -0 lines
Turn off PREEMPTION by default while it gets debugged.  It's been causing
4 weeks of problems including deadlocks and instant panics.  Note that the
real bugs are likely in the scheduler.

Revision 1.71: download - view: text, markup, annotated - select for diffs
Fri Jul 2 20:21:42 2004 UTC (7 years, 7 months ago) by jhb
Branches: MAIN
Diff to: previous 1.70: preferred, colored
Changes since revision 1.70: +2 -0 lines
Implement preemption of kernel threads natively in the scheduler rather
than as one-off hacks in various other parts of the kernel:
- Add a function maybe_preempt() that is called from sched_add() to
  determine if a thread about to be added to a run queue should be
  preempted to directly.  If it is not safe to preempt or if the new
  thread does not have a high enough priority, then the function returns
  false and sched_add() adds the thread to the run queue.  If the thread
  should be preempted to but the current thread is in a nested critical
  section, then the flag TDF_OWEPREEMPT is set and the thread is added
  to the run queue.  Otherwise, mi_switch() is called immediately and the
  thread is never added to the run queue since it is switch to directly.
  When exiting an outermost critical section, if TDF_OWEPREEMPT is set,
  then clear it and call mi_switch() to perform the deferred preemption.
- Remove explicit preemption from ithread_schedule() as calling
  setrunqueue() now does all the correct work.  This also removes the
  do_switch argument from ithread_schedule().
- Do not use the manual preemption code in mtx_unlock if the architecture
  supports native preemption.
- Don't call mi_switch() in a loop during shutdown to give ithreads a
  chance to run if the architecture supports native preemption since
  the ithreads will just preempt DELAY().
- Don't call mi_switch() from the page zeroing idle thread for
  architectures that support native preemption as it is unnecessary.
- Native preemption is enabled on the same archs that supported ithread
  preemption, namely alpha, i386, and amd64.

This change should largely be a NOP for the default case as committed
except that we will do fewer context switches in a few cases and will
avoid the run queues completely when preempting.

Approved by:	scottl (with his re@ hat)

Revision 1.70: download - view: text, markup, annotated - select for diffs
Wed Apr 7 20:46:05 2004 UTC (7 years, 10 months ago) by imp
Branches: MAIN
Diff to: previous 1.69: preferred, colored
Changes since revision 1.69: +0 -4 lines
Remove advertising clause from University of California Regent's
license, per letter dated July 22, 1999 and email from Peter Wemm,
Alan Cox and Robert Watson.

Approved by: core, peter, alc, rwatson

Revision 1.54.2.9: download - view: text, markup, annotated - select for diffs
Sat Aug 9 16:21:19 2003 UTC (8 years, 6 months ago) by luoqi
Branches: RELENG_4
CVS tags: RELENG_4_9_BP, RELENG_4_9_0_RELEASE, RELENG_4_9, RELENG_4_11_BP, RELENG_4_11_0_RELEASE, RELENG_4_11, RELENG_4_10_BP, RELENG_4_10_0_RELEASE, RELENG_4_10
Diff to: previous 1.54.2.8: preferred, colored; branchpoint 1.54: preferred, colored; next MAIN 1.55: preferred, colored
Changes since revision 1.54.2.8: +15 -7 lines
MFC: PAE support, based on Jake Burkholder's work in current. Jake's
work was sponsored by DARPA, Network Associates Laboratories.

Major changes include:
- introduction of vm_paddr_t to represent physical address
- support for page directory pointer table
- removal of (recursive) alternative address space

Reviewed by:	jake

Revision 1.69: download - view: text, markup, annotated - select for diffs
Sat Jun 14 23:23:53 2003 UTC (8 years, 7 months ago) by alc
Branches: MAIN
CVS tags: RELENG_5_2_BP, RELENG_5_2_1_RELEASE, RELENG_5_2_0_RELEASE, RELENG_5_2
Diff to: previous 1.68: preferred, colored
Changes since revision 1.68: +1 -2 lines
Migrate the thread stack management functions from the machine-dependent
to the machine-independent parts of the VM.  At the same time, this
introduces vm object locking for the non-i386 platforms.

Two details:

1. KSTACK_GUARD has been removed in favor of KSTACK_GUARD_PAGES.  The
different machine-dependent implementations used various combinations
of KSTACK_GUARD and KSTACK_GUARD_PAGES.  To disable guard page, set
KSTACK_GUARD_PAGES to 0.

2. Remove the (unnecessary) clearing of PG_ZERO in vm_thread_new.  In
5.x, (but not 4.x,) PG_ZERO can only be set if VM_ALLOC_ZERO is passed
to vm_page_alloc() or vm_page_grab().

Revision 1.68: download - view: text, markup, annotated - select for diffs
Sun Mar 30 05:24:52 2003 UTC (8 years, 10 months ago) by jake
Branches: MAIN
CVS tags: RELENG_5_1_BP, RELENG_5_1_0_RELEASE, RELENG_5_1
Diff to: previous 1.67: preferred, colored
Changes since revision 1.67: +5 -0 lines
- Add support for PAE and more than 4 gigs of ram on x86, dependent on the
  kernel opition 'options PAE'.  This will only work with device drivers which
  either use busdma, or are able to handle 64 bit physical addresses.

Thanks to Lanny Baron from FreeBSD Systems for the loan of a test machine
with 6 gigs of ram.

Sponsored by:	DARPA, Network Associates Laboratories, FreeBSD Systems

Revision 1.67: download - view: text, markup, annotated - select for diffs
Tue Mar 25 00:07:03 2003 UTC (8 years, 10 months ago) by jake
Branches: MAIN
Diff to: previous 1.66: preferred, colored
Changes since revision 1.66: +6 -6 lines
- Add vm_paddr_t, a physical address type.  This is required for systems
  where physical addresses larger than virtual addresses, such as i386s
  with PAE.
- Use this to represent physical addresses in the MI vm system and in the
  i386 pmap code.  This also changes the paddr parameter to d_mmap_t.
- Fix printf formats to handle physical addresses >4G in the i386 memory
  detection code, and due to kvtop returning vm_paddr_t instead of u_long.

Note that this is a name change only; vm_paddr_t is still the same as
vm_offset_t on all currently supported platforms.

Sponsored by:	DARPA, Network Associates Laboratories
Discussed with:	re, phk (cdevsw change)

Revision 1.66: download - view: text, markup, annotated - select for diffs
Sun Feb 23 21:20:00 2003 UTC (8 years, 11 months ago) by jake
Branches: MAIN
Diff to: previous 1.65: preferred, colored
Changes since revision 1.65: +5 -1 lines
- Added macros NPGPTD, NBPTD, and NPDEPTD, for dealing with the size of the
  page directory.
- Use these instead of the magic constants 1 or PAGE_SIZE where appropriate.
  There are still numerous assumptions that the page directory is exactly
  1 page.

Sponsored by:	DARPA, Network Associates Laboratories

Revision 1.65: download - view: text, markup, annotated - select for diffs
Tue Sep 17 01:48:57 2002 UTC (9 years, 4 months ago) by peter
Branches: MAIN
CVS tags: RELENG_5_0_BP, RELENG_5_0_0_RELEASE, RELENG_5_0
Diff to: previous 1.64: preferred, colored
Changes since revision 1.64: +0 -7 lines
Initiate deorbit burn for the i386-only a.out related support.  Moves are
under way to move the remnants of the a.out toolchain to ports.  As the
comment in src/Makefile said, this stuff is deprecated and one should not
expect this to remain beyond 4.0-REL.  It has already lasted WAY beyond
that.

Notable exceptions:
gcc - I have not touched the a.out generation stuff there.
ldd/ldconfig - still have some code to interface with a.out rtld.
old as/ld/etc - I have not removed these yet, pending their move to ports.
some includes - necessary for ldd/ldconfig for now.

Tested on: i386 (extensively), alpha

Revision 1.54.2.8: download - view: text, markup, annotated - select for diffs
Sat Aug 31 21:15:55 2002 UTC (9 years, 5 months ago) by dillon
Branches: RELENG_4
CVS tags: RELENG_4_8_BP, RELENG_4_8_0_RELEASE, RELENG_4_8, RELENG_4_7_BP, RELENG_4_7_0_RELEASE, RELENG_4_7
Diff to: previous 1.54.2.7: preferred, colored; branchpoint 1.54: preferred, colored
Changes since revision 1.54.2.7: +5 -3 lines
Reduce the maximum KVA reserved for swap meta structures from 70 to 32 MB.
Reduce the swap meta calculation by a factor of 2, it's still massive overkill.

Revision 1.64: download - view: text, markup, annotated - select for diffs
Sat Aug 31 21:15:29 2002 UTC (9 years, 5 months ago) by dillon
Branches: MAIN
Diff to: previous 1.63: preferred, colored
Changes since revision 1.63: +5 -3 lines
Reduce the maximum KVA reserved for swap meta structures from 70 to 32 MB.
Reduce the swap meta calculation by a factor of 2, it's still massive overkill.

X-MFC after: immediately

Revision 1.54.2.7: download - view: text, markup, annotated - select for diffs
Sun Jun 30 07:56:49 2002 UTC (9 years, 7 months ago) by luigi
Branches: RELENG_4
Diff to: previous 1.54.2.6: preferred, colored; branchpoint 1.54: preferred, colored
Changes since revision 1.54.2.6: +36 -1 lines
Add one function and one macro to timestamp events in the kernel using
the TSC register and which are just too conveninent not to have them around.

The macro (defined in sys/i386/include/param.h) is called

	TSTMP(class:4, unit:4, event:8, par:16)

which in turn calls _TSTMP(arg) (function defined in sys/i386/isa/clock.c)
which stores a pair of u_int32_t values <timestamp, arg> in a circular
buffer exported to userland as the sysctl variable debug.timestamp

The content of the buffer can be printed with something like

	sysctl -b debug.timestamp | hexdump -e '"%15u %15u\n"'

This functionality must be enabled with "options KERN_TIMESTAMP", otherwise
both the macro and the function are redefined as empty blocks.

This code is i586+ specific, but it does not make any attempt to grab
locks, identify which CPU it is running on, etc. etc. -- it is a debugging
tool, and a very very simple and low level one, so you are supposed to
know how to use it if you do not want to get random numbers out of it.

I am committing this to RELENG_4 only because on -current parts of
the kernel might run concurrently, so the use of a single unprotected
static variable as the index of the next entry in the buffer might
lead to inconsistent results. Plus, there might be similar stuff
in -current already.

If someone feels like porting this code to -current, it might be
a good idea to keep separate per-cpu buffers to avoid the cost
of protecting against concurrent accesses.

Revision 1.63: download - view: text, markup, annotated - select for diffs
Tue May 14 20:35:28 2002 UTC (9 years, 8 months ago) by phk
Branches: MAIN
Diff to: previous 1.62: preferred, colored
Changes since revision 1.62: +1 -49 lines
Move MI stuff out of MD param.h files.

It can all still be overridden in the MD files should need suddenly arise.

Revision 1.54.2.6: download - view: text, markup, annotated - select for diffs
Tue Sep 25 06:14:07 2001 UTC (10 years, 4 months ago) by dillon
Branches: RELENG_4
CVS tags: RELENG_4_6_BP, RELENG_4_6_2_RELEASE, RELENG_4_6_1_RELEASE, RELENG_4_6_0_RELEASE, RELENG_4_6, RELENG_4_5_BP, RELENG_4_5_0_RELEASE, RELENG_4_5
Diff to: previous 1.54.2.5: preferred, colored; branchpoint 1.54: preferred, colored
Changes since revision 1.54.2.5: +2 -2 lines
Increase UPAGES to 3 for i386.   Tests show we have run out of margin and
are already overflowing the ptrace area of the struct user, and a number of
reports suggest that we are probably also digging into the active part
of struct user.  My own simple tests, after only 20 minutes of messing
around, shows kstack useage less then 190 bytes away from the active portion
of struct user.

This is already fixed in -current w/ Julian's KSE code, and does not need
adjusting on the Alpha due to the Alpha's larger page size.

Revision 1.54.2.5: download - view: text, markup, annotated - select for diffs
Sat Sep 15 00:50:36 2001 UTC (10 years, 4 months ago) by dillon
Branches: RELENG_4
Diff to: previous 1.54.2.4: preferred, colored; branchpoint 1.54: preferred, colored
Changes since revision 1.54.2.4: +17 -1 lines
MFC VM_SWZONE_SIZE_MAX and VM_BCACHE_SIZE_MAX features for i386.  Other
architectures coming soon.  -current has a more complete implementation.

Revision 1.62: download - view: text, markup, annotated - select for diffs
Wed Sep 12 08:37:33 2001 UTC (10 years, 5 months ago) by julian
Branches: MAIN
CVS tags: KSE_MILESTONE_2
Diff to: previous 1.61: preferred, colored
Changes since revision 1.61: +6 -3 lines
KSE Milestone 2
Note ALL MODULES MUST BE RECOMPILED
make the kernel aware that there are smaller units of scheduling than the
process. (but only allow one thread per process at this time).
This is functionally equivalent to teh previousl -current except
that there is a thread associated with each process.

Sorry john! (your next MFC will be a doosie!)

Reviewed by: peter@freebsd.org, dillon@freebsd.org

X-MFC after:    ha ha ha ha

Revision 1.61: download - view: text, markup, annotated - select for diffs
Sat Aug 25 02:20:02 2001 UTC (10 years, 5 months ago) by peter
Branches: MAIN
CVS tags: KSE_PRE_MILESTONE_2
Diff to: previous 1.60: preferred, colored
Changes since revision 1.60: +4 -1 lines
Optionize UPAGES for the i386.  As part of this I split some of the low
level implementation stuff out of machine/globaldata.h to avoid exposing
UPAGES to lots more places.  The end result is that we can double
the kernel stack size with 'options UPAGES=4' etc.

This is mainly being done for the benefit of a MFC to RELENG_4 at some
point.  -current doesn't really need this so much since each interrupt
runs on its own kstack.

Revision 1.60: download - view: text, markup, annotated - select for diffs
Mon Aug 20 00:41:11 2001 UTC (10 years, 5 months ago) by dillon
Branches: MAIN
Diff to: previous 1.59: preferred, colored
Changes since revision 1.59: +17 -1 lines
Limit the amount of KVM reserved for the buffer cache and for swap-meta
information.  The default limits only effect machines with > 1GB of ram
and can be overriden with two new kernel conf variables VM_SWZONE_SIZE_MAX
and VM_BCACHE_SIZE_MAX, or with loader variables kern.maxswzone and
kern.maxbcache.  This has the effect of leaving more KVM available for
sizing NMBCLUSTERS and 'maxusers' and should avoid tripups where a sysad
adds memory to a machine and then sees the kernel panic on boot due to
running out of KVM.

Also change the default swap-meta auto-sizing calculation to allocate half
of what it was previously allocating.  The prior defaults were way too high.
Note that we cannot afford to run out of swap-meta structures so we still
stay somewhat conservative here.

Revision 1.54.2.4: download - view: text, markup, annotated - select for diffs
Fri Dec 29 10:59:18 2000 UTC (11 years, 1 month ago) by asmodai
Branches: RELENG_4
CVS tags: RELENG_4_4_BP, RELENG_4_4_0_RELEASE, RELENG_4_4, RELENG_4_3_BP, RELENG_4_3_0_RELEASE, RELENG_4_3
Diff to: previous 1.54.2.3: preferred, colored; branchpoint 1.54: preferred, colored
Changes since revision 1.54.2.3: +26 -14 lines
MFC: Fix CMSG and ALIGN macro usage.

Revision 1.54.2.3: download - view: text, markup, annotated - select for diffs
Tue Nov 21 00:09:15 2000 UTC (11 years, 2 months ago) by ps
Branches: RELENG_4
Diff to: previous 1.54.2.2: preferred, colored; branchpoint 1.54: preferred, colored
Changes since revision 1.54.2.2: +2 -1 lines
MFC: Implement write combining for crashdumps.

Revision 1.59: download - view: text, markup, annotated - select for diffs
Wed Nov 8 16:59:23 2000 UTC (11 years, 3 months ago) by asmodai
Branches: MAIN
Diff to: previous 1.58: preferred, colored
Changes since revision 1.58: +26 -14 lines
Fix CMSG and ALIGN macro usage.
Previously we had to include <machine/param.h> or <sys/param.h> bogusly
due to the fact that <sys/socket.h> CMSG macros needed the ALIGN macro,
which was defined in param.h.  However, including param.h was a disaster
for namespace pollution.
This solution, as contributed by shin a while ago, fixes it elegantly
by wrapping the definitions around some namespace pollution preventer
definitions.
This patch was long overdue.
This should allow any network programmer to use <sys/socket.h> as
before.

PR:		19971, 20530
Submitted by:	Martin Kaeske <MartinKaeske@lausitz.net>
		Mark Andrews <Mark.Andrews@nominum.com>
Patch submitted by:	shin
Reviewed by:	bde

Revision 1.58: download - view: text, markup, annotated - select for diffs
Tue Oct 17 10:05:48 2000 UTC (11 years, 3 months ago) by ps
Branches: MAIN
Diff to: previous 1.57: preferred, colored
Changes since revision 1.57: +2 -1 lines
Implement write combining for crashdumps.  This is useful when
write caching is disabled on both SCSI and IDE disks where large
memory dumps could take up to an hour to complete.

Taking an i386 scsi based system with 512MB of ram and timing (in
seconds) how long it took to complete a dump, the following results
were obtained:

Before:				After:
	WCE           TIME		WCE           TIME
	------------------		------------------
	1	141.820972		1	 15.600111
	0	797.265072		0	 65.480465

Obtained from:	Yahoo!
Reviewed by:	peter

Revision 1.57: download - view: text, markup, annotated - select for diffs
Sun Oct 8 03:52:17 2000 UTC (11 years, 4 months ago) by bmilekic
Branches: MAIN
Diff to: previous 1.56: preferred, colored
Changes since revision 1.56: +4 -8 lines
Cleanup comment in machine/param.h regarding mbuf-related sizes, and get rid
of MCLOFSET, which does not appear to be used anywhere anymore, and if it is,
it probably shouldn't be.

Revision 1.54.2.2: download - view: text, markup, annotated - select for diffs
Sat Sep 30 02:49:34 2000 UTC (11 years, 4 months ago) by ps
Branches: RELENG_4
CVS tags: RELENG_4_2_0_RELEASE
Diff to: previous 1.54.2.1: preferred, colored; branchpoint 1.54: preferred, colored
Changes since revision 1.54.2.1: +4 -4 lines
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.

Revision 1.56: download - view: text, markup, annotated - select for diffs
Sat Sep 23 12:18:05 2000 UTC (11 years, 4 months ago) by ps
Branches: MAIN
Diff to: previous 1.55: preferred, colored
Changes since revision 1.55: +4 -4 lines
Move MAXCPU from machine/smp.h to machine/param.h to fix breakage
with !SMP kernels.  Also, replace NCPUS with MAXCPU since they are
redundant.

Revision 1.54.2.1: download - view: text, markup, annotated - select for diffs
Fri May 5 13:37:01 2000 UTC (11 years, 9 months ago) by jlemon
Branches: RELENG_4
CVS tags: RELENG_4_1_1_RELEASE, RELENG_4_1_0_RELEASE
Diff to: previous 1.54: preferred, colored
Changes since revision 1.54: +2 -2 lines
MFC: delayed checksum work.  This also brings the mbuf size up to 256.

Revision 1.55: download - view: text, markup, annotated - select for diffs
Wed Mar 29 05:39:04 2000 UTC (11 years, 10 months ago) by jlemon
Branches: MAIN
CVS tags: PRE_SMPNG
Diff to: previous 1.54: preferred, colored
Changes since revision 1.54: +2 -2 lines
Change the mbuf size from 128 -> 256.  Increasing the mbuf header size
caused some headers not to fit in MHLEN any more.  This matches the
current size on the alpha, so it shouldn't cause problems.

Problem observed by:	   Geoff Rehmet <geoff@is.co.za>
Originally suggested by:   shin

Revision 1.54: download - view: text, markup, annotated - select for diffs
Sat Dec 11 10:54:06 1999 UTC (12 years, 2 months ago) by peter
Branches: MAIN
CVS tags: RELENG_4_BP, RELENG_4_0_0_RELEASE
Branch point for: RELENG_4
Diff to: previous 1.53: preferred, colored
Changes since revision 1.53: +1 -3 lines
Reclaim UPAGES_HOLE (8k) that was chopped out of process address space.
The UPAGES have not been there since Jan '96, but the hole was preserved
for BSD/OS binary compatability.  This has been fixed other ways (%ebx
now has a pointer to PS_STRINGS), and the stack is nowhere near where
it used to be so this hack isn't required anymore.

Revision 1.53: download - view: text, markup, annotated - select for diffs
Wed Sep 22 05:48:30 1999 UTC (12 years, 4 months ago) by dillon
Branches: MAIN
Diff to: previous 1.52: preferred, colored
Changes since revision 1.52: +1 -5 lines
    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.

Revision 1.52: download - view: text, markup, annotated - select for diffs
Wed Sep 22 04:11:54 1999 UTC (12 years, 4 months ago) by dillon
Branches: MAIN
Diff to: previous 1.51: preferred, colored
Changes since revision 1.51: +8 -2 lines
    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.

Revision 1.19.4.1: download - view: text, markup, annotated - select for diffs
Sun Sep 5 08:30:03 1999 UTC (12 years, 5 months ago) by peter
Branches: RELENG_2_1_0
Diff to: previous 1.19: preferred, colored; next MAIN 1.20: preferred, colored
Changes since revision 1.19: +1 -1 lines
$Id$ -> $FreeBSD$

Revision 1.23.2.1: download - view: text, markup, annotated - select for diffs
Sun Sep 5 08:11:56 1999 UTC (12 years, 5 months ago) by peter
Branches: RELENG_2_2
Diff to: previous 1.23: preferred, colored; next MAIN 1.24: preferred, colored
Changes since revision 1.23: +1 -1 lines
$Id$ -> $FreeBSD$

Revision 1.48.2.1: download - view: text, markup, annotated - select for diffs
Sun Aug 29 16:06:41 1999 UTC (12 years, 5 months ago) by peter
Branches: RELENG_3
CVS tags: RELENG_3_5_0_RELEASE, RELENG_3_4_0_RELEASE, RELENG_3_3_0_RELEASE
Diff to: previous 1.48: preferred, colored; next MAIN 1.49: preferred, colored
Changes since revision 1.48: +1 -1 lines
$Id$ -> $FreeBSD$

Revision 1.51: download - view: text, markup, annotated - select for diffs
Sat Aug 28 00:44:19 1999 UTC (12 years, 5 months ago) by peter
Branches: MAIN
Diff to: previous 1.50: preferred, colored
Changes since revision 1.50: +1 -1 lines
$Id$ -> $FreeBSD$

Revision 1.50: download - view: text, markup, annotated - select for diffs
Mon Mar 1 06:10:16 1999 UTC (12 years, 11 months ago) by imp
Branches: MAIN
CVS tags: PRE_VFS_BIO_NFS_PATCH, PRE_SMP_VMSHARE, PRE_NEWBUS, POST_VFS_BIO_NFS_PATCH, POST_SMP_VMSHARE, POST_NEWBUS
Diff to: previous 1.49: preferred, colored
Changes since revision 1.49: +9 -1 lines
Don't define MACHINE, MACHINE_ARCH, _MACHINE or _MACHINE_ARCH if
already defined.  This allows for cross building to work because we
need to lie to make to tell it to use the target names rather than the
host names.

This should have no effect on either architecture.  I've confirmed
that the intel build by make buildworld's for the past 3 months.

Revision 1.49: download - view: text, markup, annotated - select for diffs
Fri Feb 19 19:34:48 1999 UTC (12 years, 11 months ago) by luoqi
Branches: MAIN
Diff to: previous 1.48: preferred, colored
Changes since revision 1.48: +3 -1 lines
Introduce machine-dependent macro pgtok() to convert page count to number
of kilobytes. Its definition for each architecture could be optimized to
avoid potential numerical overflows.

Revision 1.48: download - view: text, markup, annotated - select for diffs
Thu Jan 7 06:35:18 1999 UTC (13 years, 1 month ago) by peter
Branches: MAIN
CVS tags: RELENG_3_BP, RELENG_3_2_PAO_BP, RELENG_3_2_PAO, RELENG_3_2_0_RELEASE, RELENG_3_1_0_RELEASE
Branch point for: RELENG_3
Diff to: previous 1.47: preferred, colored
Changes since revision 1.47: +1 -5 lines
OBJFORMAT_DEFAULT = elf now.  (this is where /usr/bin/objformat and
libc/gen/getobjformat.c get their default from)

Revision 1.47: download - view: text, markup, annotated - select for diffs
Tue Oct 13 08:24:37 1998 UTC (13 years, 4 months ago) by dg
Branches: MAIN
CVS tags: RELENG_3_0_0_RELEASE
Diff to: previous 1.46: preferred, colored
Changes since revision 1.46: +3 -3 lines
Fixed two potentially serious classes of bugs:

1) The vnode pager wasn't properly tracking the file size due to
   "size" being page rounded in some cases and not in others.
   This sometimes resulted in corrupted files. First noticed by
   Terry Lambert.
   Fixed by changing the "size" pager_alloc parameter to be a 64bit
   byte value (as opposed to a 32bit page index) and changing the
   pagers and their callers to deal with this properly.
2) Fixed a bogus type cast in round_page() and trunc_page() that
   caused some 64bit offsets and sizes to be scrambled. Removing
   the cast required adding casts at a few dozen callers.
   There may be problems with other bogus casts in close-by
   macros. A quick check seemed to indicate that those were okay,
   however.

Revision 1.46: download - view: text, markup, annotated - select for diffs
Wed Sep 9 01:21:25 1998 UTC (13 years, 5 months ago) by jdp
Branches: MAIN
Diff to: previous 1.45: preferred, colored
Changes since revision 1.45: +12 -1 lines
Add a new library function getobjformat().  It checks all the
standard places ("/etc/objformat", ${OBJFORMAT}, argv) for an
indication of the user's preferred object file format.  This
consolidates some code that was starting to be duplicated in more
and more places.

Use the new function in ldconfig.

Note: I don't think that gcc should use getobjformat(), even though
it could.  The compiler should limit itself to functions that are
widespread, to ease porting and cross-compilation.

Revision 1.45: download - view: text, markup, annotated - select for diffs
Mon Aug 31 08:41:40 1998 UTC (13 years, 5 months ago) by kato
Branches: MAIN
Diff to: previous 1.44: preferred, colored
Changes since revision 1.44: +4 -2 lines
- hw.machine_arch returns cpu architecture type.
- moved definition of MACHINE_ARCH from cpu.h to parm.h as alpha.
- Added definitions of _MACHINE and _MACHINE_ARCH.
- Added hw.ispc98. The hw.ispc98 is 1 in PC98 kernel and is 0 in
  IBM-PC kernel.

Discussed with:	John Birrell <jb@FreeBSD.ORG>

Revision 1.44: download - view: text, markup, annotated - select for diffs
Mon Jun 15 04:50:55 1998 UTC (13 years, 7 months ago) by bde
Branches: MAIN
CVS tags: PRE_NOBDEV
Diff to: previous 1.43: preferred, colored
Changes since revision 1.43: +2 -2 lines
Oops, uoff_t can't be used here yet.

Revision 1.43: download - view: text, markup, annotated - select for diffs
Sun Jun 14 15:21:27 1998 UTC (13 years, 7 months ago) by bde
Branches: MAIN
Diff to: previous 1.42: preferred, colored
Changes since revision 1.42: +5 -8 lines
Removed LOCORE ifdef.  This header isn't used for locore stuff.

Use uoff_t instead of `unsigned long long' for unsigned offsets.

Fixed some style bugs.

Revision 1.42: download - view: text, markup, annotated - select for diffs
Sat Jan 24 02:01:09 1998 UTC (14 years ago) by dyson
Branches: MAIN
CVS tags: PRE_SOFTUPDATE, PRE_DEVFS_SLICE, POST_SOFTUPDATE, POST_DEVFS_SLICE
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +3 -2 lines
Add better support for larger I/O clusters, including larger physical
I/O.  The support is not mature yet, and some of the underlying implementation
needs help.  However, support does exist for IDE devices now.

Revision 1.41: download - view: text, markup, annotated - select for diffs
Sat Aug 30 08:07:50 1997 UTC (14 years, 5 months ago) by fsmp
Branches: MAIN
Diff to: previous 1.40: preferred, colored
Changes since revision 1.40: +1 -239 lines
Another round of lock pushdown.
Add a simplelock to deal with disable_intr()/enable_intr() as used in UP kernel.
UP kernel expects that this is enough to guarantee exclusive access to
regions of code bracketed by these 2 functions.
Add a simplelock to bracket clock accesses in clock.c: clock_lock.

Help from:	Bruce Evans <bde@zeta.org.au>

Revision 1.40: download - view: text, markup, annotated - select for diffs
Sat Aug 30 02:51:59 1997 UTC (14 years, 5 months ago) by kato
Branches: MAIN
Diff to: previous 1.39: preferred, colored
Changes since revision 1.39: +1 -12 lines
Move MACHINE_ARCH definition from <machine/param.h> to <machine/cpu.h>.

Submitted by:	Bruce Evans <bde@zeta.org.au>

Revision 1.39: download - view: text, markup, annotated - select for diffs
Fri Aug 29 11:01:14 1997 UTC (14 years, 5 months ago) by kato
Branches: MAIN
Diff to: previous 1.38: preferred, colored
Changes since revision 1.38: +2 -2 lines
Fix typo in the comment introduced by me.

Revision 1.38: download - view: text, markup, annotated - select for diffs
Fri Aug 29 09:02:40 1997 UTC (14 years, 5 months ago) by kato
Branches: MAIN
Diff to: previous 1.37: preferred, colored
Changes since revision 1.37: +11 -1 lines
Added a sysctl arg, hw.machine_arch.  The hw.machine_arch is "ibm-pc"
on IBM-PC box and is "pc-98" on NEC PC-98 box.  Userland program can
distinguish architecture on which the program runs.

Revision 1.37: download - view: text, markup, annotated - select for diffs
Sun Aug 24 00:04:59 1997 UTC (14 years, 5 months ago) by fsmp
Branches: MAIN
Diff to: previous 1.36: preferred, colored
Changes since revision 1.36: +64 -2 lines
The last of the encapsolation of cpl/spl/ipending things into a critical
region protected by the simplelock 'cpl_lock'.

Notes:

 - this code is currently controlled on a section by section basis with
   defines in machine/param.h.  All sections are currently enabled.

 - this code is not as clean as I would like, but that can wait till later.

 - the "giant lock" still surrounds most instances of this "cpl region".
   I still have to do the code that arbitrates setting cpl between the
   top and bottom halves of the kernel.

 - the possibility of deadlock exists, I am committing the code at this
   point so as to exercise it and detect any such cases B4 the "giant lock"
   is removed.

Revision 1.36: download - view: text, markup, annotated - select for diffs
Thu Aug 21 05:47:25 1997 UTC (14 years, 5 months ago) by fsmp
Branches: MAIN
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +17 -2 lines
Moved the COM_LOCK and COM_UNLOCK macros to machine/param.h.

Revision 1.35: download - view: text, markup, annotated - select for diffs
Thu Aug 21 05:07:56 1997 UTC (14 years, 5 months ago) by fsmp
Branches: MAIN
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +95 -1 lines
Made PEND_INTS default.
Made NEW_STRATEGY default.
Removed misc. old cruft.

Centralized simple locks into mp_machdep.c
Centralized simple lock macros into param.h

More cleanup in the direction of making splxx()/cpl MP-safe.

Revision 1.34: download - view: text, markup, annotated - select for diffs
Mon Aug 18 05:34:01 1997 UTC (14 years, 5 months ago) by fsmp
Branches: MAIN
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +5 -1 lines
Turn on the lockmanager by default for SMP.

Reviewed by:	"John S. Dyson" <toor@dyson.iquest.net>

Revision 1.33: download - view: text, markup, annotated - select for diffs
Sat Aug 9 00:03:16 1997 UTC (14 years, 6 months ago) by dyson
Branches: MAIN
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +2 -1 lines
VM86 kernel support.
	Work done by BSDI, Jonathan Lemon <jlemon@americantv.com>,
	Mike Smith <msmith@gsoft.com.au>, Sean Eric Fagan <sef@kithrup.com>,
	and probably alot of others.
Submitted by:	Jnathan Lemon <jlemon@americantv.com>

Revision 1.32: download - view: text, markup, annotated - select for diffs
Thu Aug 7 05:15:52 1997 UTC (14 years, 6 months ago) by dyson
Branches: MAIN
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +4 -1 lines
Fix the DDB breakpoint code when using the 4MB page support.

Revision 1.31: download - view: text, markup, annotated - select for diffs
Mon Aug 4 19:14:47 1997 UTC (14 years, 6 months ago) by fsmp
Branches: MAIN
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +5 -5 lines
pushed down "volatility" of simplelock to actual int inside the struct.

Submitted by:    bde@zeta.org.a

Revision 1.30: download - view: text, markup, annotated - select for diffs
Thu Jul 24 23:48:51 1997 UTC (14 years, 6 months ago) by fsmp
Branches: MAIN
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +18 -1 lines
param.h:
	Macros to convert the Lite2 lock manager primitives to the names used
	in the kernel proper.  This allows us to hide them from the lock
	manager till they can be turned on.
smp.h:
	declarations for the new simplelock functions.

Revision 1.29: download - view: text, markup, annotated - select for diffs
Wed Jul 23 20:42:16 1997 UTC (14 years, 6 months ago) by fsmp
Branches: MAIN
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +2 -2 lines
Forced 32bit alignment of struct simple_lock in param.h.

Added declarations of new simple_lock data and functions to smp.h.

Revision 1.28: download - view: text, markup, annotated - select for diffs
Tue Jul 22 23:19:48 1997 UTC (14 years, 6 months ago) by fsmp
Branches: MAIN
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +6 -10 lines
Added a missing semicolon, compile failed when I turned on simple_lock().
Evidently this has never been compiled before, NOT a good sign...

Revision 1.27: download - view: text, markup, annotated - select for diffs
Mon Apr 7 09:27:21 1997 UTC (14 years, 10 months ago) by peter
Branches: MAIN
CVS tags: pre_smp_merge, post_smp_merge, WOLLMAN_MBUF, BP_WOLLMAN_MBUF
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +3 -1 lines
Define UPAGES_HOLE at 2 (same as current UPAGES) in case UPAGES changes
later.  This is used to calculate the top of user address space.

Revision 1.26: download - view: text, markup, annotated - select for diffs
Sat Feb 22 09:34:54 1997 UTC (14 years, 11 months ago) by peter
Branches: MAIN
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +1 -1 lines
Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$.  We are not
ready for it yet.

Revision 1.25: download - view: text, markup, annotated - select for diffs
Mon Feb 10 02:07:20 1997 UTC (15 years ago) by dyson
Branches: MAIN
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +60 -0 lines
This is the kernel Lite/2 commit.  There are some requisite userland
changes, so don't expect to be able to run the kernel as-is (very well)
without the appropriate Lite/2 userland changes.

The system boots and can mount UFS filesystems.

Untested: ext2fs, msdosfs, NFS
Known problems: Incorrect Berkeley ID strings in some files.
		Mount_std mounts will not work until the getfsent
		library routine is changed.

Reviewed by:	various people
Submitted by:	Jeffery Hsu <hsu@freebsd.org>

Revision 1.24: download - view: text, markup, annotated - select for diffs
Tue Jan 14 06:39:59 1997 UTC (15 years ago) by jkh
Branches: MAIN
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +1 -1 lines
Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.

Revision 1.23: download - view: text, markup, annotated - select for diffs
Sun Oct 6 19:24:02 1996 UTC (15 years, 4 months ago) by bde
Branches: MAIN
CVS tags: RELENG_2_2_BP, RELENG_2_2_8_RELEASE, RELENG_2_2_7_RELEASE, RELENG_2_2_6_RELEASE, RELENG_2_2_5_RELEASE, RELENG_2_2_2_RELEASE, RELENG_2_2_1_RELEASE, RELENG_2_2_0_RELEASE
Branch point for: RELENG_2_2
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +9 -8 lines
Improved the btodb() and dbtob() macros.  I made them give unsigned
[long long] results when I last worked on them, but they are normally
used together with to daddr_t's and off_t's which are signed, so the
unsigned results did little except cause warnings.

Revision 1.22: download - view: text, markup, annotated - select for diffs
Fri May 3 21:01:18 1996 UTC (15 years, 9 months ago) by phk
Branches: MAIN
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +1 -15 lines
Another sweep over the pmap/vm macros, this time with more focus on
the usage.  I'm not satisfied with the naming, but now at least there is
less bogus stuff around.

Revision 1.21: download - view: text, markup, annotated - select for diffs
Thu May 2 22:25:17 1996 UTC (15 years, 9 months ago) by phk
Branches: MAIN
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +5 -18 lines
Move atdevbase out of locore.s and into machdep.c
Macroize locore.s' page table setup even more, now it's almost readable.
Rename PG_U to PG_A (so that I can...)
Rename PG_u to PG_U.  "PG_u" was just too ugly...
Remove some unused vars in pmap.c
Remove PG_KR and PG_KW
Remove SSIZE
Remove SINCR
Remove BTOPKERNBASE

This concludes my spring cleaning, modulus any bug fixes for messes I
have made on the way.

(Funny to be back here in pmap.c, that's where my first significant
contribution to 386BSD was... :-)

Revision 1.20: download - view: text, markup, annotated - select for diffs
Thu May 2 14:20:02 1996 UTC (15 years, 9 months ago) by phk
Branches: MAIN
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +20 -26 lines
removed:
        CLBYTES PD_SHIFT PGSHIFT NBPG PGOFSET CLSIZELOG2 CLSIZE pdei()
        ptei() kvtopte() ptetov() ispt() ptetoav() &c &c
new:
        NPDEPG

Major macro cleanup.

Revision 1.19: download - view: text, markup, annotated - select for diffs
Thu May 25 07:41:27 1995 UTC (16 years, 8 months ago) by davidg
Branches: MAIN
CVS tags: wollman_polling, RELENG_2_1_7_RELEASE, RELENG_2_1_6_RELEASE, RELENG_2_1_6_1_RELEASE, RELENG_2_1_5_RELEASE, RELENG_2_1_0_RELEASE, RELENG_2_1_0_BP, RELENG_2_0_5_RELEASE, RELENG_2_0_5_BP, RELENG_2_0_5_ALPHA, RELENG_2_0_5
Branch point for: RELENG_2_1_0
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +1 -9 lines
Made "NMBCLUSTERS" calculation dynamic and fixed bogus use of "NMBCLUSTERS"
in machdep.c (it should use the global nmbclusters). Moved the calculation
of nmbclusters into conf/param.c (same place where nmbclusters has always
been assigned), and made the calculation include an extra amount based
on "maxusers". NMBCLUSTERS can still be overrided in the kernel config
file as always, but this change will make that generally unnecessary. This
fixes the "bug" reports from people who have misconfigured kernels seeing
the network hang when the mbuf cluster pool runs out.

Reviewed by:	John Dyson

Revision 1.18: download - view: text, markup, annotated - select for diffs
Sun Feb 19 10:36:17 1995 UTC (16 years, 11 months ago) by gpalmer
Branches: MAIN
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +11 -11 lines
Bruces fixes for large filesystems

Submitted by:	Bruce Evans <bde@zeta.org.au>

Revision 1.17: download - view: text, markup, annotated - select for diffs
Mon Jan 23 19:21:49 1995 UTC (17 years ago) by davidg
Branches: MAIN
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +2 -2 lines
Decrease MCLBYTES from 4k back to 2k. It isn't likely that we'll be doing
page flipping anytime soon and 4k just wastes memory. Performance via the
looback interface will decrease slightly by this change. Idealy, we need
buffers that can have variable sizes, but this requires a rewrite of far
too much code at the moment.

Revision 1.16: download - view: text, markup, annotated - select for diffs
Sun Sep 18 22:05:22 1994 UTC (17 years, 4 months ago) by bde
Branches: MAIN
CVS tags: RELEASE_2_0, OLAH_TTCP, BETA_2_0, ALPHA_2_0
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +6 -6 lines
Replace `unsigned' by `u_int' so that it is not necessary to include
<sys/types.h> before including this header.  This header is now
idempotent.

Uniformize idempotency #ifdef.

Revision 1.15: download - view: text, markup, annotated - select for diffs
Wed May 25 08:56:14 1994 UTC (17 years, 8 months ago) by rgrimes
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +1 -0 lines
The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch.

Reviewed by:	Rodney W. Grimes
Submitted by:	John Dyson and David Greenman

Revision 1.14: download - view: text, markup, annotated - select for diffs
Mon Mar 7 11:38:47 1994 UTC (17 years, 11 months ago) by davidg
Branches: MAIN
CVS tags: REL_before_johndavid_2_0_0, MOVED_NEWCVS
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +3 -3 lines
	1)	"Pre-faulting" in of pages into process address space
		Eliminates vm_fault overhead on process startup and
		mmap referenced data for in-memory pages.

		(process startup time using in-memory segments *much* faster)

	2)	Even more efficient pmap code.  Code partially cleaned up.
		More comments yet to follow.

		(generally more efficient pte management)

	3)	Pageout clustering ( in addition to the FreeBSD V1.1 pagein
		clustering.)

		(much faster paging performance on non-write behind disk
		subsystems, slightly faster performance on other systems.)

	4)	Slightly changed vm_pageout code for more efficiency and
		better statistics.  Also, resist swapout a little more.

		(less likely to pageout a recently used page)

	5)	Slight improvement to the page table page trap efficiency.

		(generally faster system VM fault performance)

	6)	Defer creation of unnamed anonymous regions pager until needed.

		(speeds up shared memory bss creation)

	7)	Remove possible deadlock from swap_pager initialization.

	8)	Enhanced procfs to provide "vminfo" about vm objects and user
		pmaps.

	9)	Increased MCLSHIFT/MCLBYTES from 2K to 4K to improve net &
		socket performance and to prepare for things to come.

John Dyson
dyson@implode.root.com
David Greenman
davidg@root.com

Revision 1.13: download - view: text, markup, annotated - select for diffs
Mon Jan 31 04:18:54 1994 UTC (18 years ago) by davidg
Branches: MAIN
CVS tags: GAMMA_1_1, FINAL_1_1, BP_BETA_1_1, BETA_1_1
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +10 -2 lines
VM system performance improvements from John Dyson and myself. The
following is a summary:

1) increased object cache back up to a more reasonable value.
2) removed old & bogus cruft from machdep.c (clearseg, copyseg,
	physcopyseg, etc).
3) inlined many functions in pmap.c
4) changed "load_cr3(rcr3())" into tlbflush() and made tlbflush inline
	assembly.
5) changed the way that modified pages are tracked - now vm_page struct
	is kept updated directly - no more scanning page tables.
6) removed lots of unnecessary spl's
7) removed old unused functions from pmap.c
8) removed all use of page_size, page_shift, page_mask variables - replaced
	with PAGE_ constants.
9) moved trunc/round_page, atop, ptoa, out of vm_param.h and into i386/
	include/param.h, and optimized them.
10) numerous changes to sys/vm/ swap_pager, vnode_pager, pageout, fault
	code to improve performance. LRU algorithm modified to be more
	effective, read ahead/behind values tuned for better performance,
	etc, etc...

Revision 1.12: download - view: text, markup, annotated - select for diffs
Fri Jan 14 16:23:58 1994 UTC (18 years ago) by davidg
Branches: MAIN
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +1 -2 lines
"New" VM system from John Dyson & myself. For a run-down of the
major changes, see the log of any effected file in the sys/vm
directory (swap_pager.c for instance).

Revision 1.11: download - view: text, markup, annotated - select for diffs
Sun Dec 19 00:50:17 1993 UTC (18 years, 1 month ago) by wollman
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +3 -3 lines
Make everything compile with -Wtraditional.  Make it easier to distribute
a binary link-kit.  Make all non-optional options (pagers, procfs) standard,
and update LINT to reflect new symtab requirements.

NB: -Wtraditional will henceforth be forgotten.  This editing pass was
primarily intended to detect any constructions where the old code might
have been relying on traditional C semantics or syntax.  These were all
fixed, and the result of fixing some of them means that -Wall is now a
realistic possibility within a few weeks.

Revision 1.10: download - view: text, markup, annotated - select for diffs
Thu Nov 18 05:02:05 1993 UTC (18 years, 2 months ago) by rgrimes
Branches: MAIN
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +1 -5 lines
New version of scsi code from Julian

Revision 1.7.2.1: download - view: text, markup, annotated - select for diffs
Sun Nov 14 18:12:50 1993 UTC (18 years, 2 months ago) by rgrimes
Branches: BRANCH_1_0
CVS tags: FINAL_1_0_2
Diff to: previous 1.7: preferred, colored; next MAIN 1.8: preferred, colored
Changes since revision 1.7: +1 -3 lines
Pull stabalizing patches by David Greenman into the BRANCH_1_0 tree

Revision 1.9: download - view: text, markup, annotated - select for diffs
Sat Nov 13 02:25:14 1993 UTC (18 years, 3 months ago) by davidg
Branches: MAIN
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +1 -3 lines
First steps in rewriting locore.s, and making info useful
when the machine panics.

i386/i386/locore.s:
1) got rid of most .set directives that were being used like
	#define's, and replaced them with appropriate #define's in
	the appropriate header files (accessed via genassym).
2) added comments to header inclusions and global definitions,
	and global variables
3) replaced some hardcoded constants with cpp defines (such as
	PDESIZE and others)
4) aligned all comments to the same column to make them easier to
	read
5) moved macro definitions for ENTRY, ALIGN, NOP, etc. to
	/sys/i386/include/asmacros.h
6) added #ifdef BDE_DEBUGGER around all of Bruce's debugger code
7) added new global '_KERNend' to store last location+1 of kernel
8) cleaned up zeroing of bss so that only bss is zeroed
9) fix zeroing of page tables so that it really does zero them all
	- not just if they follow the bss.
10) rewrote page table initialization code so that 1) works correctly
	and 2) write protects the kernel text by default
11) properly initialize the kernel page directory, upages, p0stack PT,
	and page tables. The previous scheme was more than a bit
	screwy.
12) change allocation of virtual area of IO hole so that it is
	fixed at KERNBASE + 0xa0000. The previous scheme put it
	right after the kernel page tables and then later expected
	it to be at KERNBASE +0xa0000
13) change multiple bogus settings of user read/write of various
	areas of kernel VM - including the IO hole; we should never
	be accessing the IO hole in user mode through the kernel
	page tables
14) split kernel support routines such as bcopy, bzero, copyin,
	copyout, etc. into a seperate file 'support.s'
15) split swtch and related routines into a seperate 'swtch.s'
16) split routines related to traps, syscalls, and interrupts
	into a seperate file 'exception.s'
17) remove some unused global variables from locore that got
	inserted by Garrett when he pulled them out of some .h
	files.

i386/isa/icu.s:
1) clean up global variable declarations
2) move in declaration of astpending and netisr

i386/i386/pmap.c:
1) fix calculation of virtual_avail. It previously was calculated
	to be right in the middle of the kernel page tables - not
	a good place to start allocating kernel VM.
2) properly allocate kernel page dir/tables etc out of kernel map
	- previously only took out 2 pages.

i386/i386/machdep.c:
1) modify boot() to print a warning that the system will reboot in
	PANIC_REBOOT_WAIT_TIME amount of seconds, and let the user
	abort with a key on the console. The machine will wait for
	ever if a key is typed before the reboot. The default is
	15 seconds, but can be set to 0 to mean don't wait at all,
	-1 to mean wait forever, or any positive value to wait for
	that many seconds.
2) print "Rebooting..." just before doing it.

kern/subr_prf.c:
1) remove PANICWAIT as it is deprecated by the change to machdep.c

i386/i386/trap.c:
1) add table of trap type strings and use it to print a real trap/
	panic message rather than just a number. Lot's of work to
	be done here, but this is the first step. Symbolic traceback
	is in the TODO.

i386/i386/Makefile.i386:
1) add support in to build support.s, exception.s and swtch.s

...and various changes to various header files to make all of the
	above happen.

Revision 1.8: download - view: text, markup, annotated - select for diffs
Sun Nov 7 17:42:58 1993 UTC (18 years, 3 months ago) by wollman
Branches: MAIN
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +5 -1 lines
Made all header files idempotent and moved incorrect common data from
headers into a related source file.  Added cons.h as first step towards
moving i386/i386/cons.h to machine/cons.h where it belongs.

Revision 1.7: download - view: text, markup, annotated - select for diffs
Fri Oct 15 10:07:43 1993 UTC (18 years, 3 months ago) by rgrimes
Branches: MAIN
CVS tags: FINAL_1_0
Branch point for: BRANCH_1_0
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +8 -7 lines
param.h:

Mark the fact that PGSHIFT and PDRSHIFT are really the same as
PG_SHIFT and PD_SHIFT, these should be collapsed some day soon.

Document that KERNBASE should really be KPTDPTDI << PDRSHIFT, for
now leave it as the constant 0xFE000000 until I make a seperate
common header file for this stuff (vmaddresses.h?)

Remove NKMEMCLUSTERS define, it was only being used to define
VM_KMEM_SIZE, so why have all the indirection.  Besides who wants
to work in CLBYTE sizes chuncks.


pmap.h:

Fix $Id$ and some other minor format clean ups.

Remove the XXX comment about NKPDE, since it now has the correct value
of 7.

Remove unused LASTPTDI and move the APTD into the very end of memory to
free up 4MB of kernel virtual address space.
Remove unused RSVDPTDI and free up 12MB of kernel virtual address space.


vmparam.h

Fix $Id$.

Increase SHMMAXPGS to 512 (2MB) now that there is room for it to be
bigger.  The XXX comment stays until the kernel moves down in memory
to free up enough space to use the proper default of 4MB.

VM_KMEM_SIZE is now a direct constant stating the size of the kernel
malloc region.  Increased the value from 3MB to 16MB.

Revision 1.6: download - view: text, markup, annotated - select for diffs
Tue Oct 12 12:08:16 1993 UTC (18 years, 4 months ago) by rgrimes
Branches: MAIN
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +2 -2 lines
Fixed PHYSTOKV, addition operator on pointers is the wrong thing to do
here.  This is really a crock, but it works.

Revision 1.5: download - view: text, markup, annotated - select for diffs
Tue Oct 12 07:13:12 1993 UTC (18 years, 4 months ago) by rgrimes
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +40 -35 lines
Add PHYSTOKV used in scsi drivers with a correct definition based on
KERNBASE.

Change #define<tab> to #define<space> on lines that had it wrong

Revision 1.4: download - view: text, markup, annotated - select for diffs
Fri Oct 8 13:01:34 1993 UTC (18 years, 4 months ago) by rgrimes
Branches: MAIN
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +12 -9 lines
Fix definitions to be in terms of a minimum number of constants by
using the SHIFT value as the basis for the other values, for example
instead of:
#define		NBPG		4096
#define		PGSHIFT		12
use:
#define		PGSHIFT		12
#define		NBPG		(1 << PGSHIFT)

===================================================================
RCS file: /a/cvs/386BSD/src/sys/i386/include/param.h,v
retrieving revision 1.3
diff -c -r1.3 param.h
*** 1.3	1993/10/08 12:49:55
--- param.h	1993/10/08 12:53:19
***************
*** 52,76 ****
  #define ALIGNBYTES	(sizeof(int) - 1)
  #define ALIGN(p)	(((u_int)(p) + ALIGNBYTES) &~ ALIGNBYTES)

- #define	NBPG		4096		/* bytes/page */
- #define	PGOFSET		(NBPG-1)	/* byte offset into page */
  #define	PGSHIFT		12		/* LOG2(NBPG) */
  #define	NPTEPG		(NBPG/(sizeof (struct pte)))

- #define NBPDR		(1024*NBPG)	/* bytes/page dir */
- #define	PDROFSET	(NBPDR-1)	/* byte offset into page dir */
  #define	PDRSHIFT	22		/* LOG2(NBPDR) */

  #define	KERNBASE	0xFE000000	/* start of kernel virtual */
  #define	BTOPKERNBASE	((u_long)KERNBASE >> PGSHIFT)

! #define	DEV_BSIZE	512
  #define	DEV_BSHIFT	9		/* log2(DEV_BSIZE) */
  #define BLKDEV_IOSIZE	2048
  #define	MAXPHYS		(64 * 1024)	/* max raw I/O transfer size */

- #define	CLSIZE		1
  #define	CLSIZELOG2	0

  /* NOTE: SSIZE, SINCR and UPAGES must be multiples of CLSIZE */
  #define	SSIZE	1		/* initial stack size/NBPG */
--- 52,79 ----
  #define ALIGNBYTES	(sizeof(int) - 1)
  #define ALIGN(p)	(((u_int)(p) + ALIGNBYTES) &~ ALIGNBYTES)

  #define	PGSHIFT		12		/* LOG2(NBPG) */
+ #define	NBPG		(1 << PGSHIFT)	/* bytes/page */
+ #define	PGOFSET		(NBPG-1)	/* byte offset into page */
  #define	NPTEPG		(NBPG/(sizeof (struct pte)))

  #define	PDRSHIFT	22		/* LOG2(NBPDR) */
+ #define NBPDR		(1 << PDRSHIFT)	/* bytes/page dir */
+ #define	PDROFSET	(NBPDR-1)	/* byte offset into page dir */

  #define	KERNBASE	0xFE000000	/* start of kernel virtual */
  #define	BTOPKERNBASE	((u_long)KERNBASE >> PGSHIFT)

! #define	KERNSIZE	0x00C00000	/* size of kernel virtual */
!
  #define	DEV_BSHIFT	9		/* log2(DEV_BSIZE) */
+ #define	DEV_BSIZE	(1 << DEV_BSHIFT)
+
  #define BLKDEV_IOSIZE	2048
  #define	MAXPHYS		(64 * 1024)	/* max raw I/O transfer size */

  #define	CLSIZELOG2	0
+ #define	CLSIZE		(1 << CLSIZELOG2)

  /* NOTE: SSIZE, SINCR and UPAGES must be multiples of CLSIZE */
  #define	SSIZE	1		/* initial stack size/NBPG */
***************
*** 92,99 ****
  #ifndef	MCLSHIFT
  #define	MCLSHIFT	11		/* convert bytes to m_buf clusters */
  #endif	/* MCLSHIFT */
! #define	MCLBYTES	(1 << MCLSHIFT)	/* size of a m_buf cluster */
! #define	MCLOFSET	(MCLBYTES - 1)	/* offset within a m_buf cluster */

  #ifndef NMBCLUSTERS
  #ifdef GATEWAY
--- 95,102 ----
  #ifndef	MCLSHIFT
  #define	MCLSHIFT	11		/* convert bytes to m_buf clusters */
  #endif	/* MCLSHIFT */
! #define	MCLBYTES	(1 << MCLSHIFT)	/* size of an m_buf cluster */
! #define	MCLOFSET	(MCLBYTES - 1)	/* offset within an m_buf cluster */

  #ifndef NMBCLUSTERS
  #ifdef GATEWAY

Revision 1.3: download - view: text, markup, annotated - select for diffs
Fri Oct 8 12:49:55 1993 UTC (18 years, 4 months ago) by rgrimes
Branches: MAIN
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +6 -19 lines
Removed patch kit header.  Cleaned up tabbing and removed extra blank
lines to match NetBSD.  Added $Id$.
Added MID_MACHINE from NetBSD.
Removed definition of DELAY() for non-kernel soures.
Fixed some small english errors that had been corrected in NetBSD.
File is now identical to NetBSD's, but will be changing soon for some
of my clean up work.

Revision 1.2: download - view: text, markup, annotated - select for diffs
Wed Jul 28 01:42:17 1993 UTC (18 years, 6 months ago) by nate
Branches: MAIN
CVS tags: GAMMA_1_0, EPSILON_1_0, BETA_1_0
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +3 -1 lines
fts(3) integration patches

Revision 1.1.1.1 (vendor branch): download - view: text, markup, annotated - select for diffs
Sat Jun 12 14:58:10 1993 UTC (18 years, 8 months ago) by rgrimes
CVS tags: V_0_1_2_4, ALPHA_1_0
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +0 -0 lines
Initial import, 0.1 + pk 0.2.4-B1

Revision 1.1: download - view: text, markup, annotated - select for diffs
Sat Jun 12 14:58:09 1993 UTC (18 years, 8 months ago) by rgrimes
Branches: MAIN
Initial revision

Diff request

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Log view options