Home | History | Annotate | Download | only in include
History log of /src/sys/arch/i386/include/param.h
RevisionDateAuthorComments
 1.89  20-Apr-2025  riastradh t_signal_and_sp: Add i386 support.

i386 too is confused by misaligned sigaltstack or esp on interrupt.

PR kern/59327: user stack pointer is not aligned properly
 1.88  31-May-2021  simonb Include "opt_param.h" (ifdef _KERNEL_OPT) everywhere that MSGBUFSIZE is
referenced since some sources include <machine/param.h>.
 1.87  05-Mar-2020  riastradh branches: 1.87.8;
Revert "Include opt_diagnostic.h for DIAGNOSTIC."

This did not do what I thought it did. opt_diagnostic.h is only for
the unused _DIAGNOSTIC, which seems like an abortive attempt to
incrementally convert DIAGNOSTIC to an opt_*.h option rather than a
command-line option.
 1.86  05-Mar-2020  riastradh Include opt_diagnostic.h for DIAGNOSTIC.

...at least, in header files, which may not have already included
libkern.h.
 1.85  20-Aug-2019  riastradh New macro ALIGNED_POINTER_LOAD.

To be used with ALIGNED_POINTER(p,t) instead of writing *(const t *)p
directly. This way, on machines without strict alignment, we can use
memcpy to pacify sanitizers, while getting the same compiled code in
the end with a single (say) MOV instruction.
 1.84  07-Jan-2019  jdolecek branches: 1.84.4;
move DEV_BSIZE, DEV_BSHIFT out of MD param.h, they are same on all ports

also move BLKDEV_IOSIZE, MAXPHYS, but allow override since some ports
have different value (powerpc uses NBPG for BLKDEV_IOSIZE, sun2/sun3
have lower MAXPHYS)
 1.83  19-Feb-2018  sborrill branches: 1.83.2; 1.83.4;
Double size of MSGBUFSIZE as existing value is not big enough to hold boot dmesg
on modern server-class hardware with lots of CPUs, etc.
 1.82  29-Jul-2017  maxv Remove unused.
 1.81  14-Jun-2017  maxv Define MAXPHYSMEM globally.
 1.80  20-Jan-2017  maya branches: 1.80.6;
increase max io mem on amd64. some devices need it.
 1.79  26-Aug-2016  mlelstv branches: 1.79.2;
The 64MB was intended.
 1.78  27-Oct-2015  mrg branches: 1.78.2;
make sure MSGBUFSIZE can't expand strangely by using parens.
 1.77  20-Apr-2012  rmind branches: 1.77.2; 1.77.14; 1.77.16;
- Convert x86 MD code, mainly pmap(9) e.g. TLB shootdown code, to use
kcpuset(9) and thus replace hardcoded CPU bitmasks. This removes the
limitation of maximum CPUs.

- Support up to 256 CPUs on amd64 architecture by default.

Bug fixes, improvements, completion of Xen part and testing on 64-core
AMD Opteron(tm) Processor 6282 SE (also, as Xen HVM domU with 128 CPUs)
by Manuel Bouyer.
 1.76  10-Feb-2012  para branches: 1.76.2;
proper sizing of kmem_arena on different ports

PR port-i386/45946: Kernel locks up in VMEM system
 1.75  04-Feb-2012  para improve sizing of kmem_arena now that more allocations are made from it
don't enforce limits if not required

ok: riz@
 1.74  24-Jan-2012  christos Use and define ALIGN() ALIGN_POINTER() and STACK_ALIGN() consistently,
and avoid definining them in 10 different places if not needed.
 1.73  20-Jan-2012  joerg Change CMSG_SPACE and CMSG_LEN to provide Integer Constant Expressions
again. This was changed in sys/socket.h r1.51 to work around fallout
from the IPv6 aux data migration. It broke the historic ABI on some
platforms. This commit restores compatibility for netbsd32 code on such
platforms and provides a template for future changes to the CMSG_*
alignment. Revert PCC/Clang workarounds in postfix and tmux.
 1.72  08-Feb-2010  joerg branches: 1.72.10; 1.72.14;
Remove separate mb_map. The nmbclusters is computed at boot time based
on the amount of physical memory and limited by NMBCLUSTERS if present.
Architectures without direct mapping also limit it based on the kmem_map
size, which is used as backing store. On i386 and ARM, the maximum KVA
used for mbuf clusters is limited to 64MB by default.

The old default limits and limits based on GATEWAY have been removed.
key_registered_sb_max is hard-wired to a value derived from 2048
clusters.
 1.71  10-Mar-2009  bouyer branches: 1.71.2;
More i386PAE fixes:
- x86_round_page, x86_trunc_page, x86_btop and x86_ptob macros are used with
physical addresses; cast to paddr_t instead of u_long. Issue pointed out
by jym@
- machine_to_phys_mapping[] is a long. This is fine as it holds page
frame numbers (and this fits in a 32bit int as physical addresses are
only 36bits), but cast to paddr_t before << PAGE_SHIFT
- xen_start_info.store_mfn is a long; cast it to paddr_t before << PAGE_SHIFT.
should fix issue pointed out by cegger@
 1.70  20-Dec-2008  ad branches: 1.70.2;
Revert part of previous.
 1.69  20-Dec-2008  ad opt_noredzone.h is gone.
 1.68  20-Dec-2008  ad - Kill NOREDZONE.
- Make the redzone conditional on DIAGNOSTIC.
- Give amd64 an additional page for the uarea. 2 is not enough.
 1.67  18-Oct-2007  yamt branches: 1.67.16; 1.67.20; 1.67.28; 1.67.30;
merge yamt-x86pmap branch.

- reduce differences between amd64 and i386. notably, share pmap.c
between them. it makes several i386 pmap improvements available to
amd64, including tlb shootdown reduction and bug fixes from Stephan Uphoff.
- implement deferred pmap switching for amd64.
- remove LARGEPAGES option. always use large pages if available.
also, make it work on amd64.
 1.66  17-Oct-2007  garbled Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.65  13-Oct-2007  joerg branches: 1.65.2;
Bump default size of the message buffer from 16 KB to 32 KB.
This is large enough that boot -v on most systems fits into the
message buffer, which makes it easier for debugging.
 1.64  03-Oct-2007  ad Back out the ALIGNBYTES change. There are structures used in userspace
that depend on the constant.
 1.63  26-Sep-2007  ad x86 changes for pcc and LKMs.

- Replace most inline assembly with proper functions. As a side effect
this reduces the size of amd64 GENERIC by about 120kB, and i386 by a
smaller amount. Nearly all of the inlines did something slow, or something
that does not need to be fast.
- Make curcpu() and curlwp functions proper, unless __GNUC__ && _KERNEL.
In that case make them inlines. Makes curlwp LKM and preemption safe.
- Make bus_space and bus_dma more LKM friendly.
- Share a few more files between the ports.
- Other minor changes.
 1.62  08-Dec-2006  yamt branches: 1.62.6; 1.62.14; 1.62.22; 1.62.24; 1.62.26;
- pass intrframe by-pointer, not by-value.
- make i386 and xen use per-cpu interrupt stack.

xen part is reviewed by Manuel Bouyer.
 1.61  28-Aug-2006  yamt branches: 1.61.2; 1.61.4;
- remove unused bdbtofsb.
- move the following macros from MD headers to sys/param.h.
ctod
dtoc
ctob
btoc
dbtob
btodb
 1.60  04-Jun-2006  perry Wrap the UPAGES definition with an #ifndef so that (in emergencies) it
can be put into a kernel config file.

Stack overflows should be fixed, not patched around, but this makes it
easier to test if one is causing a panic.
 1.59  22-May-2006  yamt i386 and xen: move struct user to the highest address in uarea
and reduce UPAGES from 4 to 3 in the case of !NOREDZONE.
 1.58  07-Nov-2005  yamt branches: 1.58.6; 1.58.8; 1.58.10; 1.58.14; 1.58.16;
some assym cleanup.
- move copyin and friends from locore.S to their own file, copy.S.
share it between i386 and xen.
- defparam KERNBASE and kill KERNBASE_LOCORE hack.
- add more symbols to assym.h and use it where appropriate.
 1.57  08-Aug-2003  christos branches: 1.57.16;
cleanup the mess with KERNBASE and KERNBASE_LOCORE.
 1.56  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.55  18-Jul-2003  tls Allow redefiniton of KERNBASE. Because the type of this constant is
different for locore.S and the rest of the kernel, if you redefine
it from the default value, you must also define KERNBASE_LOCORE -- this
is ugly, but so is having the same constant with two different types
depending where in the kernel it's used...
 1.54  26-Feb-2003  fvdl branches: 1.54.2;
Redirect some includes to x86/foo.h
 1.53  02-Nov-2002  perry 1) egg, meet face. face, meet egg.
2) re-UL KERNBASE, but this time, protect it with #ifndef _LOCORE so we
don't get a big kaboom in .S files.
 1.52  02-Nov-2002  kristerw Revert previous. The assembler bombs on UL integer suffix.
 1.51  02-Nov-2002  perry define KERNBASE with a UL -- eliminates 830 or so lines of lint.
 1.50  06-Oct-2002  fvdl If NOREDZONE is defined, keep UPAGES at 2 as before.
 1.49  01-Oct-2002  fvdl Merge Bill Sommerfeld's i386 MP branch. This code has some known
caveats, but works quite well in a lot of MP cases, and all
UP cases that I have tested. Parts of this will hopefully be
reworked in the not-too-distant future.
 1.48  26-Feb-2002  simonb branches: 1.48.10;
Purge CLSIZE, CLSIZELOG2 and MCLOFSET.
Be consistant in the way that MSIZE, MCLSHIFT, MCLBYTES and NMBCLUSTERS
are defined.
Remove old VM constants from cesfic port.
Bump MSIZE to 256 on mipsco (the only one that wasn't already 256).
 1.47  03-Aug-2001  groo Remove trailing "U" on KERNBASE introduced in last commit.
Breaks assembly of locore.
 1.46  03-Aug-2001  thorpej Define KERNTEXTOFF in terms of KERNBASE.
 1.45  30-May-2001  mrg branches: 1.45.2;
use _KERNEL_OPT
 1.44  02-Apr-2001  fvdl Override NFS read and write size to default to 32k for the i386 here
(can be overridden from a config file).
 1.43  19-Sep-2000  fvdl branches: 1.43.2;
Bring the default value of NMBCLUSTERS into the modern age.
 1.42  13-Aug-2000  christos cast to u_long before casting to u_int to appease lint.
 1.41  30-Jun-2000  itojun raise MSIZE from 128 to 256.
- for sizeof(void *) == 8 arch, this is mandatory. MHLEN is too small
already (less than 80) and there are chances for unwanted packet loss due
to m_pullup restriction.
- for other cases, the change should avoid allocating clusters in most cases
(even when you have IPv4 IPsec tunnel, or IPv6 with moderate amount of
extension header)

portmasters: if your arch chokes with the change (high memory usage or
whatever), please backout the change for your arch.
 1.40  11-Feb-2000  thorpej branches: 1.40.2; 1.40.6;
Update for the NKMEMPAGES changes.
 1.39  11-Feb-2000  thorpej Move KERNBASE to 0xc0000000, giving the kernel a more-or-less full 1G
of virtual address space, leaving userland with 3G, and update comments
to match the new reality.

We knew we were going to have to bite this bullet eventually, and there
are a couple of outstanding PRs related to this issue (9389 and 9313).
Complete solution to those PRs is going to involve some sort of run-time
decision on how large kmem_map should be, as well as changing some data
structure allocation strategies in UVM. However, this change will at
least allow the PR submitter to simply throw resources at the problem.
 1.38  04-Dec-1999  ragge CL* discarding.
 1.37  10-Mar-1999  sommerfe branches: 1.37.2; 1.37.8; 1.37.14;
Increase default MSGBUFSIZE due to more and chattier drivers in -current
 1.36  01-Jul-1998  mjacob allow a config file to redefine MAXPHYS
 1.35  29-Apr-1998  thorpej Pull in opt_gateway.h as appropriate.
 1.34  20-Jan-1998  drochner remove unused and misleading KERNSIZE definition
 1.33  20-Oct-1997  fvdl Change various constants that depend on the kernel VM base address. Lower
it to 0xf0000000 to give it more breathing space.
 1.32  19-Sep-1997  leo Implement the kernel part of pr-1891. This allows for a more flexible sized
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
 1.31  26-Feb-1997  jonathan branches: 1.31.4;
Protect MCLSHIFT definition so users can customize MCLBYTES.
 1.30  24-Feb-1997  fvdl Define ALIGNED_POINTER
 1.29  04-Mar-1996  cgd branches: 1.29.8;
add _MACHINE and _MACHINE_ARCH, which are like MACHINE and MACHINE_ARCH,
execpt without quotes. meant to be __CONCAT()ted for easy #includes
of machine-dependent headers for MI code (e.g. for the MI ISA/EISA/PCI/TC
bus code).
 1.28  01-Mar-1996  cgd Clean up tabbing/spacing in defns of MACHINE, MACHINE_ARCH, and MID_MACHINE.
 1.27  01-Feb-1996  mycroft LOCORE -> _LOCORE
 1.26  26-Jun-1995  cgd clean up definitions of ctod(), dtoc(), ctob(), btoc(), btodb(), and
dbtob(). remove unused definitions of ctos(), stoc(), and dtob().
 1.25  28-Mar-1995  jtc KERNEL -> _KERNEL
 1.24  18-Mar-1995  cgd don't be so quick to cast macro arguments to unsigned; if the
arguments are really off_t's (e.g. to btodb), then you can lose
information. This was the "> 4G file systems don't work" bug; physio
uses btodb, which was broken.
 1.23  27-Oct-1994  cgd new RCS ID format.
 1.22  14-Oct-1994  cgd move arch dependence to archs. clean up a bit. deal with weird MAXPARTITONS.
 1.21  09-Oct-1994  mycroft Make the conversion macros more consistent.
 1.20  24-Aug-1994  mycroft Add USPACE.
 1.19  15-Aug-1994  mycroft Eliminate struct pte and struct pde.
 1.18  08-Apr-1994  mycroft branches: 1.18.2;
Only #include other stuff #ifdef KERNEL.
 1.17  03-Apr-1994  mycroft Make sure we get psl.h.
 1.16  09-Mar-1994  mycroft Back out previous change for now.
 1.15  08-Mar-1994  mycroft Inline spl*() calls.
 1.14  22-Feb-1994  hpeyerl Move some machine dependant disklabel stuff in here.
 1.13  05-Jan-1994  mycroft branches: 1.13.2;
Move kernel to 0xf8000000.
 1.12  22-Dec-1993  cgd add NPTEPG back in. gdb wants it. Thanks to Rich Murphey for pointing it out.
 1.11  20-Dec-1993  mycroft Cleanup and garbage collection; nothing significant. From magnum branch.
 1.10  04-Dec-1993  cgd add MACHINE_ARCH as i386
 1.9  09-Oct-1993  cgd patch from rod grimes:
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)
 1.8  03-Aug-1993  mycroft branches: 1.8.2;
Add ALIGNBYTES for new fts().
 1.7  05-Jul-1993  deraadt No need for the DELAY() macro. in userland. It just polutes the namespace.
 1.6  18-Jun-1993  cgd convert magic numbers to network byte order, and attendent changes
 1.5  05-Jun-1993  cgd change MCLSHIFT to 11, so mbuf cluster size is bigger than MTU
of network interfaces, for performance. to use old size,
use "options MCLSHIFT=10" in your kernel config.
 1.4  22-May-1993  cgd add rcsids to everything and clean up headers
 1.3  22-Apr-1993  mycroft Make mbuf sizes tunable from config file (from 386BSD path 134).
 1.2  01-Apr-1993  cgd changed value of NKMEMCLUSTERS, to help avoid kmem_map too small problem
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.8.2.4  04-Dec-1993  cgd add MACHINE_ARCH
 1.8.2.3  26-Oct-1993  mycroft Reduce NKMEMCLUSTERS back to 6MB. We don't need 16.
 1.8.2.2  15-Oct-1993  mycroft Major cleanup of include files and constants.
 1.8.2.1  09-Oct-1993  mycroft Merge changes from trunk.
 1.13.2.2  05-Jan-1994  mycroft Move kernel to 0xf8000000.
 1.13.2.1  05-Jan-1994  mycroft file param.h was added on branch magnum on 1994-01-05 16:02:37 +0000
 1.18.2.2  11-Oct-1994  mycroft Update from trunk.
 1.18.2.1  15-Aug-1994  mycroft update from trunk
 1.29.8.1  12-Mar-1997  is Merge in Changes from The Trunk.
 1.31.4.1  22-Sep-1997  thorpej Update marc-pcmcia branch from trunk.
 1.37.14.2  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.37.14.1  21-Dec-1999  wrstuden Initial commit of recent changes to make DEV_BSIZE go away.

Runs on i386, needs work on other arch's. Main kernel routines should be
fine, but a number of the stand programs need help.

cd, fd, ccd, wd, and sd have been updated. sd has been tested with non-512
byte block devices. vnd, raidframe, and lfs need work.

Non 2**n block support is automatic for LKM's and conditional for kernels
on "options NON_PO2_BLOCKS".
 1.37.8.2  21-Apr-2001  bouyer Sync with HEAD
 1.37.8.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.37.2.1  19-Feb-2000  he Apply patch (requested by thorpej):
Move KERNBASE to 0xc0000000, giving the kernel a more-or-less
full 1GB of virtual address space, leaving userland with 3GB,
and update comments to match the new reality.
 1.40.6.3  25-Apr-2001  he Pull up revision 1.43 (requested by itojun):
Bump NMBCLUSTERS to 1024 or 2048 in GATEWAY case (was 256/512).
 1.40.6.2  06-Apr-2001  he Pull up revision 1.44 (requested by fvdl):
Adjust default NFS operation size back to 8KB on all systems
except on i386.
 1.40.6.1  23-Jul-2000  itojun pullup from main trunc (approved by releng-1-5)

raise MSIZE from 128 to 256.
- for sizeof(void *) == 8 arch, this is mandatory. MHLEN is too small
already (less than 80) and there are chances for unwanted packet loss due
to m_pullup restriction.
- for other cases, the change should avoid allocating clusters in most cases
(even when you have IPv4 IPsec tunnel, or IPv6 with moderate amount of
extension header)

portmasters: if your arch chokes with the change (high memory usage or
whatever), please backout the change for your arch.

1.1 -> 1.2 syssrc/sys/arch/amigappc/include/param.h
1.13 -> 1.14 syssrc/sys/arch/arc/include/param.h
1.1 -> 1.2 syssrc/sys/arch/arm26/include/param.h
1.17 -> 1.18 syssrc/sys/arch/arm32/include/param.h
1.6 -> 1.7 syssrc/sys/arch/bebox/include/param.h
1.4 -> 1.5 syssrc/sys/arch/cobalt/include/param.h
1.4 -> 1.5 syssrc/sys/arch/evbsh3/include/param.h
1.2 -> 1.3 syssrc/sys/arch/hpcmips/include/param.h
1.40 -> 1.41 syssrc/sys/arch/i386/include/param.h
1.7 -> 1.8 syssrc/sys/arch/m68k/include/param.h
1.9 -> 1.10 syssrc/sys/arch/macppc/include/param.h
1.4 -> 1.5 syssrc/sys/arch/mmeye/include/param.h
1.6 -> 1.7 syssrc/sys/arch/newsmips/include/param.h
1.7 -> 1.8 syssrc/sys/arch/ofppc/include/param.h
1.23 -> 1.24 syssrc/sys/arch/pc532/include/param.h
1.32 -> 1.33 syssrc/sys/arch/pmax/include/param.h
1.7 -> 1.8 syssrc/sys/arch/powerpc/include/param.h
1.1 -> 1.2 syssrc/sys/arch/prep/include/param.h
1.1 -> 1.2 syssrc/sys/arch/sgimips/include/param.h
1.3 -> 1.4 syssrc/sys/arch/sh3/include/param.h
1.44 -> 1.45 syssrc/sys/arch/sparc/include/param.h
1.21 -> 1.22 syssrc/sys/arch/sparc64/include/param.h
1.43 -> 1.44 syssrc/sys/arch/vax/include/param.h
 1.40.2.7  27-Apr-2002  sommerfeld Merge with current as of today
 1.40.2.6  03-Sep-2001  sommerfeld Merge with -current once more.
 1.40.2.5  18-Jun-2001  sommerfeld checkpoint merge-in-progress from mainline.
 1.40.2.4  30-Apr-2001  sommerfeld Merge sommerfeld_i386mp_1 branch with -current as of today.
GENERIC.MP kernel boots and runs multiuser on my ABIT BP6
 1.40.2.3  07-Jan-2001  sommerfeld Snapshot of merge-in-progress with -current.

[Not expected to build]. Catch up with the last N months worth of
changes to -current.
 1.40.2.2  07-Aug-2000  sommerfeld Merge sommerfeld_i386mp_1 branch forward to 20000806 sources
 1.40.2.1  20-Feb-2000  sommerfeld Bump MSGBUFSIZE since mp_verbose is pretty verbose.
 1.43.2.6  11-Nov-2002  nathanw Catch up to -current
 1.43.2.5  18-Oct-2002  nathanw Catch up to -current.
 1.43.2.4  28-Feb-2002  nathanw Catch up to -current.
 1.43.2.3  24-Aug-2001  nathanw Catch up with -current.
 1.43.2.2  21-Jun-2001  nathanw Catch up to -current.
 1.43.2.1  09-Apr-2001  nathanw Catch up with -current.
 1.45.2.3  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.45.2.2  16-Mar-2002  jdolecek Catch up with -current.
 1.45.2.1  03-Aug-2001  lukem update to -current
 1.48.10.1  13-Aug-2003  grant Pull up revision 1.55 via patch (requested by tls in ticket #1387):

Allow redefiniton of KERNBASE. Because the type of this constant is
different for locore.S and the rest of the kernel, if you redefine
it from the default value, you must also define KERNBASE_LOCORE -- this
is ugly, but so is having the same constant with two different types
depending where in the kernel it's used...
 1.54.2.4  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.54.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.54.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.54.2.1  03-Aug-2004  skrll Sync with HEAD
 1.57.16.3  27-Oct-2007  yamt sync with head.
 1.57.16.2  30-Dec-2006  yamt sync with head.
 1.57.16.1  21-Jun-2006  yamt sync with head.
 1.58.16.1  19-Jun-2006  chap Sync with head.
 1.58.14.1  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.58.10.3  03-Sep-2006  yamt sync with head.
 1.58.10.2  26-Jun-2006  yamt sync with head.
 1.58.10.1  24-May-2006  yamt sync with head.
 1.58.8.2  07-Jun-2006  kardel Sync with head.
 1.58.8.1  01-Jun-2006  kardel Sync with head.
 1.58.6.1  09-Sep-2006  rpaulo sync with head
 1.61.4.1  10-Dec-2006  yamt sync with head.
 1.61.2.1  12-Jan-2007  ad Sync with head.
 1.62.26.3  14-Oct-2007  yamt sync with head.
 1.62.26.2  08-Oct-2007  yamt remove an #ifdef _LOCORE.
 1.62.26.1  23-Sep-2007  yamt - sync with amd64.
- pmap_alloc_level: remove fast call special case.
- tweak some printf to work for both of LP64 and LP32.
- remove machdep.nkpde sysctl.
- remove automatic adjustment of nkpde for now. will revisit later.
 1.62.24.1  06-Nov-2007  matt sync with HEAD
 1.62.22.3  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.62.22.2  04-Oct-2007  joerg Sync with HEAD.
 1.62.22.1  02-Oct-2007  joerg Sync with HEAD.
 1.62.14.2  16-Oct-2007  garbled Sync with HEAD
 1.62.14.1  03-Oct-2007  garbled Sync with HEAD
 1.62.6.1  23-Oct-2007  ad Sync with head.
 1.65.2.1  25-Oct-2007  bouyer Sync with HEAD.
 1.67.30.4  30-Sep-2009  snj Pull up following revision(s) (requested by bouyer in ticket #1040):
sys/arch/i386/include/param.h: revision 1.71
sys/arch/i386/i386/db_memrw.c: revision 1.25
sys/arch/xen/include/xenpmap.h: revision 1.22
sys/arch/xen/xen/xenevt.c: revision 1.31
More i386PAE fixes:
- x86_round_page, x86_trunc_page, x86_btop and x86_ptob macros are used with
physical addresses; cast to paddr_t instead of u_long. Issue pointed out
by jym@
- machine_to_phys_mapping[] is a long. This is fine as it holds page
frame numbers (and this fits in a 32bit int as physical addresses are
only 36bits), but cast to paddr_t before << PAGE_SHIFT
- xen_start_info.store_mfn is a long; cast it to paddr_t before << PAGE_SHIFT.
should fix issue pointed out by cegger@
 1.67.30.3  16-Feb-2009  snj branches: 1.67.30.3.4;
Pull up following revision(s) (requested by ad in ticket #355):
sys/arch/i386/include/param.h: revision 1.70
Revert part of previous.
 1.67.30.2  16-Feb-2009  snj Pull up following revision(s) (requested by ad in ticket #355):
sys/arch/i386/include/param.h: revision 1.69
opt_noredzone.h is gone.
 1.67.30.1  16-Feb-2009  snj Pull up following revision(s) (requested by ad in ticket #355):
sys/arch/i386/conf/GENERIC_TINY: revision 1.116
sys/arch/i386/conf/INSTALL_TINY: revision 1.122
sys/arch/i386/conf/files.i386: revision 1.341
sys/arch/i386/i386/vm_machdep.c: revision 1.142
sys/arch/i386/include/param.h: revision 1.68
sys/arch/xen/conf/files.xen: revision 1.91
- Kill NOREDZONE.
- Make the redzone conditional on DIAGNOSTIC.
- Give amd64 an additional page for the uarea. 2 is not enough.
 1.67.30.3.4.1  21-Apr-2010  matt sync to netbsd-5
 1.67.28.2  28-Apr-2009  skrll Sync with HEAD.
 1.67.28.1  19-Jan-2009  skrll Sync with HEAD.
 1.67.20.2  11-Mar-2010  yamt sync with head
 1.67.20.1  04-May-2009  yamt sync with head.
 1.67.16.1  17-Jan-2009  mjf Sync with HEAD.
 1.70.2.3  28-Mar-2011  jym Cure sync hiccups. Code with compile errors is not really useful, heh.
 1.70.2.2  01-Nov-2009  jym Sync with HEAD.
 1.70.2.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.71.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.72.14.2  29-Apr-2012  mrg sync to latest -current.
 1.72.14.1  18-Feb-2012  mrg merge to -current.
 1.72.10.2  23-May-2012  yamt sync with head.
 1.72.10.1  17-Apr-2012  yamt sync with head
 1.76.2.1  09-May-2012  riz Pull up following revision(s) (requested by rmind in ticket #202):
sys/arch/x86/include/cpuvar.h: revision 1.46
sys/arch/xen/include/xenpmap.h: revision 1.34
sys/arch/i386/include/param.h: revision 1.77
sys/arch/x86/x86/pmap_tlb.c: revision 1.5
sys/arch/x86/x86/pmap_tlb.c: revision 1.6
sys/arch/i386/i386/genassym.cf: revision 1.92
sys/arch/xen/x86/cpu.c: revision 1.91
sys/arch/x86/x86/pmap.c: revision 1.177
sys/arch/xen/x86/xen_pmap.c: revision 1.21
sys/arch/x86/acpi/acpi_wakeup.c: revision 1.31
sys/kern/subr_kcpuset.c: revision 1.5
sys/arch/amd64/include/param.h: revision 1.18
sys/sys/kcpuset.h: revision 1.5
sys/arch/x86/x86/mtrr_i686.c: revision 1.26
sys/arch/x86/x86/mtrr_i686.c: revision 1.27
sys/arch/xen/x86/x86_xpmap.c: revision 1.43
sys/arch/x86/x86/cpu.c: revision 1.98
sys/arch/amd64/amd64/mptramp.S: revision 1.14
sys/kern/sys_sched.c: revision 1.42
sys/arch/amd64/amd64/genassym.cf: revision 1.50
sys/arch/i386/i386/mptramp.S: revision 1.24
sys/arch/x86/include/pmap.h: revision 1.52
sys/arch/x86/include/cpu.h: revision 1.50
- Convert x86 MD code, mainly pmap(9) e.g. TLB shootdown code, to use
kcpuset(9) and thus replace hardcoded CPU bitmasks. This removes the
limitation of maximum CPUs.
- Support up to 256 CPUs on amd64 architecture by default.
Bug fixes, improvements, completion of Xen part and testing on 64-core
AMD Opteron(tm) Processor 6282 SE (also, as Xen HVM domU with 128 CPUs)
by Manuel Bouyer.
- pmap_tlb_shootdown: do not overwrite tp_cpumask with pm_cpus, but merge
like pm_kernel_cpus. Remove unecessary intersection with kcpuset_running.
Do not reset tp_userpmap if pmap_kernel().
- Remove pmap_tlb_mailbox_t wrapping, which is pointless after recent changes.
- pmap_tlb_invalidate, pmap_tlb_intr: constify for packet structure.
i686_mtrr_init_first: handle the case when there are no variable-size MTRR
registers available (i686_mtrr_vcnt == 0).
 1.77.16.4  28-Aug-2017  skrll Sync with HEAD
 1.77.16.3  05-Feb-2017  skrll Sync with HEAD
 1.77.16.2  05-Oct-2016  skrll Sync with HEAD
 1.77.16.1  27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.77.14.1  26-Mar-2017  snj Pull up following revision(s) (requested by maya in ticket #1375):
sys/arch/amd64/include/param.h: revision 1.20
sys/arch/i386/include/param.h: revision 1.80
sys/arch/x86/x86/bus_space.c: revision 1.39
increase max io mem on amd64. some devices need it.
 1.77.2.1  03-Dec-2017  jdolecek update from HEAD
 1.78.2.1  20-Mar-2017  pgoyette Sync with HEAD
 1.79.2.1  21-Apr-2017  bouyer Sync with HEAD
 1.80.6.1  11-Apr-2018  martin Pull up following revision(s) (requested by sborrill in ticket #736):

sys/arch/i386/include/param.h: revision 1.83
sys/arch/amd64/include/param.h: revision 1.24

Double size of MSGBUFSIZE as existing value is not big enough to hold
boot dmesg on modern server-class hardware with lots of CPUs, etc.
 1.83.4.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.83.4.1  10-Jun-2019  christos Sync with HEAD
 1.83.2.1  18-Jan-2019  pgoyette Synch with HEAD
 1.84.4.1  08-Dec-2019  martin Pull up following revision(s) (requested by riastradh in ticket #505):

common/lib/libc/hash/murmurhash/murmurhash.c: revision 1.7
common/lib/libc/hash/murmurhash/murmurhash.c: revision 1.8
sys/sys/param.h: revision 1.610
sys/arch/amd64/include/param.h: revision 1.31
sys/arch/i386/include/param.h: revision 1.85

New macro ALIGNED_POINTER_LOAD.

To be used with ALIGNED_POINTER(p,t) instead of writing *(const t *)p
directly. This way, on machines without strict alignment, we can use
memcpy to pacify sanitizers, while getting the same compiled code in
the end with a single (say) MOV instruction.

Fix byte order bug in murmurhash and pacify sanitizers.
add now required includes for memcpy prototypes analogue to other hash functions
(fix the build)
 1.87.8.1  17-Jun-2021  thorpej Sync w/ HEAD.

RSS XML Feed