Home | History | Annotate | only in /src/sys/rump/librump/rumpkern/arch
History log of /src/sys/rump/librump/rumpkern/arch
RevisionDateAuthorComments
 1.4 22-Apr-2015  pooka Apparently new source files need to be added to each Makefile.inc
individually. Who comes up with this kind of crappy build infra?
 1.3 12-Feb-2014  pooka branches: 1.3.6;
Rototill a bit, and attempt to disguise it as non-gratuitous.

Add arch/generic and move non-x86 files from rumpkern/ there. Also,
move files from arch/i386 to arch/x86, and make both i386 and x86_64
use those.

This clarifies the situation with what is MD vs. MI code.

renames:
rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x
arch/i386/* => arch/x86/rump_x86_$x

(for those who forget, x86 requires MD code because rump kernels
use the same ABI as kernel modules)
 1.2 15-Oct-2009  pooka branches: 1.2.12; 1.2.22; 1.2.26;
include rumpcpu_generic
 1.1 06-Jan-2009  pooka branches: 1.1.2; 1.1.4; 1.1.8;
Add md crud to allow libkern softfloat code to build.
And while here, make alpha use the real elf relocation code.
 1.1.8.3 11-Mar-2010  yamt sync with head
 1.1.8.2 04-May-2009  yamt sync with head.
 1.1.8.1 06-Jan-2009  yamt file Makefile.inc was added on branch yamt-nfs-mp on 2009-05-04 08:14:30 +0000
 1.1.4.2 19-Jan-2009  skrll Sync with HEAD.
 1.1.4.1 06-Jan-2009  skrll file Makefile.inc was added on branch nick-hppapmap on 2009-01-19 13:20:26 +0000
 1.1.2.2 17-Jan-2009  mjf Sync with HEAD.
 1.1.2.1 06-Jan-2009  mjf file Makefile.inc was added on branch mjf-devfs2 on 2009-01-17 13:29:36 +0000
 1.2.26.1 18-May-2014  rmind sync with head
 1.2.22.2 03-Dec-2017  jdolecek update from HEAD
 1.2.22.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.12.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.3.6.1 06-Jun-2015  skrll Sync with HEAD
 1.2 18-Mar-2009  cegger branches: 1.2.2;
Ansify function definitions w/o arguments. Generated with sed.
 1.1 06-Jan-2009  pooka branches: 1.1.2; 1.1.4; 1.1.6;
Add md crud to allow libkern softfloat code to build.
And while here, make alpha use the real elf relocation code.
 1.1.6.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.1.4.3 28-Apr-2009  skrll Sync with HEAD.
 1.1.4.2 19-Jan-2009  skrll Sync with HEAD.
 1.1.4.1 06-Jan-2009  skrll file rumpcrud.c was added on branch nick-hppapmap on 2009-01-19 13:20:26 +0000
 1.1.2.2 17-Jan-2009  mjf Sync with HEAD.
 1.1.2.1 06-Jan-2009  mjf file rumpcrud.c was added on branch mjf-devfs2 on 2009-01-17 13:29:36 +0000
 1.2.2.2 04-May-2009  yamt sync with head.
 1.2.2.1 18-Mar-2009  yamt file rumpcrud.c was added on branch yamt-nfs-mp on 2009-05-04 08:14:30 +0000
 1.5 22-Apr-2015  pooka Apparently new source files need to be added to each Makefile.inc
individually. Who comes up with this kind of crappy build infra?
 1.4 17-Jun-2014  alnsn branches: 1.4.4; 1.4.6;
Antti objected to including rumpuser_sync_icache. Exclude it from the build.
 1.3 17-Jun-2014  alnsn Implement rumpuser_sync_icache hypercall.
 1.2 12-Feb-2014  pooka branches: 1.2.2; 1.2.4;
Rototill a bit, and attempt to disguise it as non-gratuitous.

Add arch/generic and move non-x86 files from rumpkern/ there. Also,
move files from arch/i386 to arch/x86, and make both i386 and x86_64
use those.

This clarifies the situation with what is MD vs. MI code.

renames:
rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x
arch/i386/* => arch/x86/rump_x86_$x

(for those who forget, x86 requires MD code because rump kernels
use the same ABI as kernel modules)
 1.1 08-Aug-2013  matt branches: 1.1.2;
Build kobj_machdep.c
 1.1.2.3 18-May-2014  rmind sync with head
 1.1.2.2 28-Aug-2013  rmind sync with head
 1.1.2.1 08-Aug-2013  rmind file Makefile.inc was added on branch rmind-smpnet on 2013-08-28 23:59:37 +0000
 1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.4.1 12-Feb-2014  yamt file Makefile.inc was added on branch yamt-pagecache on 2014-05-22 11:41:15 +0000
 1.2.2.1 10-Aug-2014  tls Rebase.
 1.4.6.1 06-Jun-2015  skrll Sync with HEAD
 1.4.4.3 03-Dec-2017  jdolecek update from HEAD
 1.4.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.4.1 17-Jun-2014  tls file Makefile.inc was added on branch tls-maxphys on 2014-08-20 00:04:41 +0000
 1.1 17-Jun-2014  alnsn branches: 1.1.2; 1.1.6;
Implement rumpuser_sync_icache hypercall.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 17-Jun-2014  tls file cpufunc.c was added on branch tls-maxphys on 2014-08-20 00:04:41 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 17-Jun-2014  tls file cpufunc.c was added on branch tls-earlyentropy on 2014-08-10 06:56:51 +0000
 1.3 15-Nov-2018  riastradh Make the direct-map API always available, but fail if KASAN or rump.

(Only for architectures that support it at all; on others,
__HAVE_MM_MD_DIRECT_MAPPED_PHYS/IO are still undefined and the
functions unimplemented.)

This gives modules like zfs an opportunity to use it.

While here, fix the one caller of mm_md_direct_mapped_phys that
ignored the return value (and make sure to call pmap_kremove/update
before uvm_km_free).
 1.2 22-Apr-2015  pooka branches: 1.2.16; 1.2.18;
Define rump_nativeabi_p() under arch, where one would logically expect
it to be defined.
 1.1 12-Feb-2014  pooka branches: 1.1.4; 1.1.6; 1.1.10; 1.1.12;
Rototill a bit, and attempt to disguise it as non-gratuitous.

Add arch/generic and move non-x86 files from rumpkern/ there. Also,
move files from arch/i386 to arch/x86, and make both i386 and x86_64
use those.

This clarifies the situation with what is MD vs. MI code.

renames:
rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x
arch/i386/* => arch/x86/rump_x86_$x

(for those who forget, x86 requires MD code because rump kernels
use the same ABI as kernel modules)
 1.1.12.1 06-Jun-2015  skrll Sync with HEAD
 1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 12-Feb-2014  tls file Makefile.inc was added on branch tls-maxphys on 2014-08-20 00:04:41 +0000
 1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.6.1 12-Feb-2014  yamt file Makefile.inc was added on branch yamt-pagecache on 2014-05-22 11:41:15 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 12-Feb-2014  rmind file Makefile.inc was added on branch rmind-smpnet on 2014-05-18 17:46:18 +0000
 1.2.18.1 10-Jun-2019  christos Sync with HEAD
 1.2.16.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.2 26-Jan-2016  pooka branches: 1.2.16;
Put the kernelside rump kernel headers into <rump-sys> instead of
sprinkling them around the faction directories. Avoids having
to add a CPPFLAGS (or several) to pretty much every component
Makefile.

Leave compat headers around in the old locations.

The commit changes some autogenerated files, but I'll fix the
generators shortly and regen.
 1.1 22-Apr-2015  pooka branches: 1.1.2;
Define rump_nativeabi_p() under arch, where one would logically expect
it to be defined.
 1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.2.2 06-Jun-2015  skrll Sync with HEAD
 1.1.2.1 22-Apr-2015  skrll file rump_generic_abi.c was added on branch nick-nhusb on 2015-06-06 14:40:29 +0000
 1.2.16.2 03-Dec-2017  jdolecek update from HEAD
 1.2.16.1 26-Jan-2016  jdolecek file rump_generic_abi.c was added on branch tls-maxphys on 2017-12-03 11:39:16 +0000
 1.3 26-Jan-2016  pooka Put the kernelside rump kernel headers into <rump-sys> instead of
sprinkling them around the faction directories. Avoids having
to add a CPPFLAGS (or several) to pretty much every component
Makefile.

Leave compat headers around in the old locations.

The commit changes some autogenerated files, but I'll fix the
generators shortly and regen.
 1.2 22-Apr-2015  pooka Apparently not all ports define struct clockframe in cpu.h, so we cannot
provide our definition that way. Instead, generate the struct clockframe
passed to hardclock() in MD code.
 1.1 12-Feb-2014  pooka branches: 1.1.4; 1.1.6; 1.1.10; 1.1.12;
Rototill a bit, and attempt to disguise it as non-gratuitous.

Add arch/generic and move non-x86 files from rumpkern/ there. Also,
move files from arch/i386 to arch/x86, and make both i386 and x86_64
use those.

This clarifies the situation with what is MD vs. MI code.

renames:
rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x
arch/i386/* => arch/x86/rump_x86_$x

(for those who forget, x86 requires MD code because rump kernels
use the same ABI as kernel modules)
 1.1.12.2 19-Mar-2016  skrll Sync with HEAD
 1.1.12.1 06-Jun-2015  skrll Sync with HEAD
 1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 12-Feb-2014  tls file rump_generic_cpu.c was added on branch tls-maxphys on 2014-08-20 00:04:41 +0000
 1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.6.1 12-Feb-2014  yamt file rump_generic_cpu.c was added on branch yamt-pagecache on 2014-05-22 11:41:15 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 12-Feb-2014  rmind file rump_generic_cpu.c was added on branch rmind-smpnet on 2014-05-18 17:46:18 +0000
 1.3 27-Jan-2019  pgoyette branches: 1.3.4;
Merge the [pgoyette-compat] branch
 1.2 12-Dec-2018  alnsn Add missing RCSIDs.
 1.1 15-Nov-2018  riastradh branches: 1.1.2;
Make the direct-map API always available, but fail if KASAN or rump.

(Only for architectures that support it at all; on others,
__HAVE_MM_MD_DIRECT_MAPPED_PHYS/IO are still undefined and the
functions unimplemented.)

This gives modules like zfs an opportunity to use it.

While here, fix the one caller of mm_md_direct_mapped_phys that
ignored the return value (and make sure to call pmap_kremove/update
before uvm_km_free).
 1.1.2.3 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.1.2.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.2.1 15-Nov-2018  pgoyette file rump_generic_directmap.c was added on branch pgoyette-compat on 2018-11-26 01:52:51 +0000
 1.3.4.2 10-Jun-2019  christos Sync with HEAD
 1.3.4.1 27-Jan-2019  christos file rump_generic_directmap.c was added on branch phil-wifi on 2019-06-10 22:09:54 +0000
 1.1 12-Feb-2014  pooka branches: 1.1.4; 1.1.6; 1.1.10;
Rototill a bit, and attempt to disguise it as non-gratuitous.

Add arch/generic and move non-x86 files from rumpkern/ there. Also,
move files from arch/i386 to arch/x86, and make both i386 and x86_64
use those.

This clarifies the situation with what is MD vs. MI code.

renames:
rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x
arch/i386/* => arch/x86/rump_x86_$x

(for those who forget, x86 requires MD code because rump kernels
use the same ABI as kernel modules)
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 12-Feb-2014  tls file rump_generic_kobj.c was added on branch tls-maxphys on 2014-08-20 00:04:41 +0000
 1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.6.1 12-Feb-2014  yamt file rump_generic_kobj.c was added on branch yamt-pagecache on 2014-05-22 11:41:15 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 12-Feb-2014  rmind file rump_generic_kobj.c was added on branch rmind-smpnet on 2014-05-18 17:46:18 +0000
 1.7 21-Aug-2022  riastradh rump: Define pmap_resident_count, pmap_wired_count conditionally.

These definitions will not be used by anything yet because on every
architecture except x86 as of yeterday, pmap_resident_count and
pmap_wired_count are defined as macros anyway. But if more struct
pmaps are made private these definitions will get used.
 1.6 21-Aug-2022  mlelstv Add stubs for pmap_resident_count, pmap_wired_count.
 1.5 26-Jan-2016  pooka Put the kernelside rump kernel headers into <rump-sys> instead of
sprinkling them around the faction directories. Avoids having
to add a CPPFLAGS (or several) to pretty much every component
Makefile.

Leave compat headers around in the old locations.

The commit changes some autogenerated files, but I'll fix the
generators shortly and regen.
 1.4 17-Apr-2015  pooka Give the kernel/local pmaps actual storage.

That way friendly neighborhood macros won't go scribbling
in the wrong places.
 1.3 03-Apr-2015  pooka Use RUMP_PMAP_KERNEL and RUMP_PMAP_LOCAL to denote
kernel and local client pmaps, respectively.
 1.2 12-Feb-2014  pooka branches: 1.2.4; 1.2.6; 1.2.10; 1.2.12;
Minor comment massage, zero functionality massage.
 1.1 12-Feb-2014  pooka Rototill a bit, and attempt to disguise it as non-gratuitous.

Add arch/generic and move non-x86 files from rumpkern/ there. Also,
move files from arch/i386 to arch/x86, and make both i386 and x86_64
use those.

This clarifies the situation with what is MD vs. MI code.

renames:
rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x
arch/i386/* => arch/x86/rump_x86_$x

(for those who forget, x86 requires MD code because rump kernels
use the same ABI as kernel modules)
 1.2.12.3 19-Mar-2016  skrll Sync with HEAD
 1.2.12.2 06-Jun-2015  skrll Sync with HEAD
 1.2.12.1 06-Apr-2015  skrll Sync with HEAD
 1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.10.1 12-Feb-2014  tls file rump_generic_pmap.c was added on branch tls-maxphys on 2014-08-20 00:04:41 +0000
 1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.6.1 12-Feb-2014  yamt file rump_generic_pmap.c was added on branch yamt-pagecache on 2014-05-22 11:41:15 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 12-Feb-2014  rmind file rump_generic_pmap.c was added on branch rmind-smpnet on 2014-05-18 17:46:18 +0000
 1.7 12-Feb-2014  pooka Rototill a bit, and attempt to disguise it as non-gratuitous.

Add arch/generic and move non-x86 files from rumpkern/ there. Also,
move files from arch/i386 to arch/x86, and make both i386 and x86_64
use those.

This clarifies the situation with what is MD vs. MI code.

renames:
rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x
arch/i386/* => arch/x86/rump_x86_$x

(for those who forget, x86 requires MD code because rump kernels
use the same ABI as kernel modules)
 1.6 16-Jun-2010  pooka branches: 1.6.8; 1.6.18; 1.6.22;
Reinstate the blanket pmap.h for archs which do not conform to the
kernel ABI (i.e. not i386 or amd64). Due to the "half function,
half macro, all noodles" nature of pmap.h, it's too entangling and
too brittle to keep up with an ifdeffy MI implementation.
 1.5 31-May-2010  pooka The x86 kernel ABI depends on __cpu_simple_lock stuff being present.
Since they are practically never used (only when prehistoric code
uses simple_lock()), their efficiency doesn't matter that much and
we can simply adapt the versions from x86 lock.h.
 1.4 11-May-2010  pooka add __HAVE_CPU_COUNTER stubs where possible (i.e. where the arch
doesn't think inlines are the second compiling)
 1.3 01-Jan-2009  pooka branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.12;
Define MODULAR for rump core components. This enables module
loading via the kernel module framework (instead of dlopen()).
For now it only works on amd64 and i386, but for the rest it should
just be a matter of including the relevant kobj_machdep.c modules
from the kernel sources.
 1.2 01-Jan-2009  pooka Rename i386 and amd64 {cpu,spl}.c to rump{cpu,spl}.c to avoid
name collisions with other source files in the kernel tree.
 1.1 29-Dec-2008  pooka Switch i386 away from rump/include/machine. This means that rump
on i386 now uses the native kernel ABI. This in turn means that
rump modules and kernel modules are binary equivalent and can be
used interchangeably.
 1.3.12.2 03-Jul-2010  rmind sync with head
 1.3.12.1 30-May-2010  rmind sync with head
 1.3.10.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.3.8.3 11-Aug-2010  yamt sync with head.
 1.3.8.2 04-May-2009  yamt sync with head.
 1.3.8.1 01-Jan-2009  yamt file Makefile.inc was added on branch yamt-nfs-mp on 2009-05-04 08:14:30 +0000
 1.3.4.2 19-Jan-2009  skrll Sync with HEAD.
 1.3.4.1 01-Jan-2009  skrll file Makefile.inc was added on branch nick-hppapmap on 2009-01-19 13:20:26 +0000
 1.3.2.2 17-Jan-2009  mjf Sync with HEAD.
 1.3.2.1 01-Jan-2009  mjf file Makefile.inc was added on branch mjf-devfs2 on 2009-01-17 13:29:36 +0000
 1.6.22.1 18-May-2014  rmind sync with head
 1.6.18.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.8.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2 01-Jan-2009  pooka Rename i386 and amd64 {cpu,spl}.c to rump{cpu,spl}.c to avoid
name collisions with other source files in the kernel tree.
 1.1 29-Dec-2008  pooka Switch i386 away from rump/include/machine. This means that rump
on i386 now uses the native kernel ABI. This in turn means that
rump modules and kernel modules are binary equivalent and can be
used interchangeably.
 1.2 12-Feb-2014  pooka Rototill a bit, and attempt to disguise it as non-gratuitous.

Add arch/generic and move non-x86 files from rumpkern/ there. Also,
move files from arch/i386 to arch/x86, and make both i386 and x86_64
use those.

This clarifies the situation with what is MD vs. MI code.

renames:
rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x
arch/i386/* => arch/x86/rump_x86_$x

(for those who forget, x86 requires MD code because rump kernels
use the same ABI as kernel modules)
 1.1 11-May-2010  pooka branches: 1.1.2; 1.1.4; 1.1.6; 1.1.14; 1.1.24; 1.1.28;
add __HAVE_CPU_COUNTER stubs where possible (i.e. where the arch
doesn't think inlines are the second compiling)
 1.1.28.1 18-May-2014  rmind sync with head
 1.1.24.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.14.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.6.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.1.6.1 11-May-2010  uebayasi file cpu_counter.c was added on branch uebayasi-xip on 2010-08-17 06:48:02 +0000
 1.1.4.2 11-Aug-2010  yamt sync with head.
 1.1.4.1 11-May-2010  yamt file cpu_counter.c was added on branch yamt-nfs-mp on 2010-08-11 22:55:07 +0000
 1.1.2.2 30-May-2010  rmind sync with head
 1.1.2.1 11-May-2010  rmind file cpu_counter.c was added on branch rmind-uvmplock on 2010-05-30 05:18:06 +0000
 1.4 12-Feb-2014  pooka Rototill a bit, and attempt to disguise it as non-gratuitous.

Add arch/generic and move non-x86 files from rumpkern/ there. Also,
move files from arch/i386 to arch/x86, and make both i386 and x86_64
use those.

This clarifies the situation with what is MD vs. MI code.

renames:
rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x
arch/i386/* => arch/x86/rump_x86_$x

(for those who forget, x86 requires MD code because rump kernels
use the same ABI as kernel modules)
 1.3 22-Jul-2012  joerg branches: 1.3.2; 1.3.4;
Needs pmap_write_protect to finish DBG=-g build with clang.
 1.2 17-Jun-2010  pooka branches: 1.2.2; 1.2.4; 1.2.6; 1.2.14;
Give the kernel pmap a container in case some tries to access it
via some pmap.h macro.
 1.1 16-Jun-2010  pooka Reinstate the blanket pmap.h for archs which do not conform to the
kernel ABI (i.e. not i386 or amd64). Due to the "half function,
half macro, all noodles" nature of pmap.h, it's too entangling and
too brittle to keep up with an ifdeffy MI implementation.
 1.2.14.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.14.1 30-Oct-2012  yamt sync with head
 1.2.6.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.2.6.1 17-Jun-2010  uebayasi file pmap_x86.c was added on branch uebayasi-xip on 2010-08-17 06:48:02 +0000
 1.2.4.2 11-Aug-2010  yamt sync with head.
 1.2.4.1 17-Jun-2010  yamt file pmap_x86.c was added on branch yamt-nfs-mp on 2010-08-11 22:55:07 +0000
 1.2.2.2 03-Jul-2010  rmind sync with head
 1.2.2.1 17-Jun-2010  rmind file pmap_x86.c was added on branch rmind-uvmplock on 2010-07-03 01:20:03 +0000
 1.3.4.1 18-May-2014  rmind sync with head
 1.3.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.12 12-Feb-2014  pooka Rototill a bit, and attempt to disguise it as non-gratuitous.

Add arch/generic and move non-x86 files from rumpkern/ there. Also,
move files from arch/i386 to arch/x86, and make both i386 and x86_64
use those.

This clarifies the situation with what is MD vs. MI code.

renames:
rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x
arch/i386/* => arch/x86/rump_x86_$x

(for those who forget, x86 requires MD code because rump kernels
use the same ABI as kernel modules)
 1.11 02-May-2013  pooka branches: 1.11.4;
Inform the rump kernel hypervisor of valid thread contexts so
that the implementation can allocate and release storage for them
in an optimal fashion, if necessary.
 1.10 19-Feb-2013  martin Stopgap fix to make rump cooperate with pserialize, may be revisited later.
Patch from pooka, ok: rmind. No related regressions in a complete atf test
run (which works again with this, even on non x86 SMP machines).
 1.9 28-Apr-2010  pooka branches: 1.9.8; 1.9.18;
set first attached cpu as primary
 1.8 27-Apr-2010  pooka Fix multiple virtual cpu support.

... or at least on x86. CPU_INFO_FOREACH() still isn't MI, and I
don't want to support 2^n different versions.
 1.7 15-Oct-2009  pooka branches: 1.7.2; 1.7.4;
Give lwp usage some much-needed love: stop treating lwp0 as the
all-sink and make sure each separate thread in rump has its own
lwp. Happy-go-lucky callers will get scheduled a temporary lwp
on entry, while true lwp connoisseurs may request a stable lwp
for their purposes. Some more love may be required later down the
road, but for now different threads will stepping on each others
toes.
 1.6 15-Oct-2009  pooka Add initial work on a rump virtual cpu scheduler. This is necessary
for kernel code which has been written to avoid MP contention by
using cpu-local storage (most prominently, select and pool_cache).

Instead of always assuming rump_cpu, the scheduler must now be run
(and unrun) on all entry points into rump. Likewise, rumpuser
unruns and re-runs the scheduler around each potentially blocking
operation. As an optimization, I modified some locking primitives
to try to get the lock without blocking before releasing the cpu.

Also, ltsleep was modified to assume that it is never called without
the biglock held and made to use the biglock as the sleep interlock.
Otherwise there is just too much drama with deadlocks. If some
kernel code wants to call ltsleep without the biglock, then, *snif*,
it's no longer supported and rump and should be modified to support
newstyle locks anyway.
 1.5 14-Oct-2009  pooka "rumppriv" goes back to "rump" per internal interface naming change.
 1.4 14-Oct-2009  pooka Adjust rump sources for external/internal interfaces.
No functional change.
 1.3 18-Mar-2009  cegger branches: 1.3.2;
Ansify function definitions w/o arguments. Generated with sed.
 1.2 01-Jan-2009  pooka branches: 1.2.2; 1.2.4; 1.2.6;
Define MODULAR for rump core components. This enables module
loading via the kernel module framework (instead of dlopen()).
For now it only works on amd64 and i386, but for the rest it should
just be a matter of including the relevant kobj_machdep.c modules
from the kernel sources.
 1.1 01-Jan-2009  pooka Rename i386 and amd64 {cpu,spl}.c to rump{cpu,spl}.c to avoid
name collisions with other source files in the kernel tree.
 1.2.6.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.2.4.3 28-Apr-2009  skrll Sync with HEAD.
 1.2.4.2 19-Jan-2009  skrll Sync with HEAD.
 1.2.4.1 01-Jan-2009  skrll file rumpcpu.c was added on branch nick-hppapmap on 2009-01-19 13:20:26 +0000
 1.2.2.2 17-Jan-2009  mjf Sync with HEAD.
 1.2.2.1 01-Jan-2009  mjf file rumpcpu.c was added on branch mjf-devfs2 on 2009-01-17 13:29:36 +0000
 1.3.2.4 11-Aug-2010  yamt sync with head.
 1.3.2.3 11-Mar-2010  yamt sync with head
 1.3.2.2 04-May-2009  yamt sync with head.
 1.3.2.1 18-Mar-2009  yamt file rumpcpu.c was added on branch yamt-nfs-mp on 2009-05-04 08:14:30 +0000
 1.7.4.1 30-May-2010  rmind sync with head
 1.7.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.9.18.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.9.18.2 23-Jun-2013  tls resync from head
 1.9.18.1 25-Feb-2013  tls resync with head
 1.9.8.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.11.4.1 18-May-2014  rmind sync with head
 1.3 12-Feb-2014  pooka Rototill a bit, and attempt to disguise it as non-gratuitous.

Add arch/generic and move non-x86 files from rumpkern/ there. Also,
move files from arch/i386 to arch/x86, and make both i386 and x86_64
use those.

This clarifies the situation with what is MD vs. MI code.

renames:
rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x
arch/i386/* => arch/x86/rump_x86_$x

(for those who forget, x86 requires MD code because rump kernels
use the same ABI as kernel modules)
 1.2 06-Feb-2009  pooka branches: 1.2.4; 1.2.16; 1.2.26; 1.2.30;
Rip out the rwlock spl emulation code. It never did anything useful
except keep my feet warm by consuming an insane amount of cpu
cycles -- in rump our current "cpu" context is never interrupted
& we have MULTIPROCESSOR.

(itch i'm scratching: it made the networking stack 10-20% slower.
this is one of the places where fast code actually matters)
 1.1 01-Jan-2009  pooka branches: 1.1.2; 1.1.4;
Rename i386 and amd64 {cpu,spl}.c to rump{cpu,spl}.c to avoid
name collisions with other source files in the kernel tree.
 1.1.4.3 03-Mar-2009  skrll Sync with HEAD.
 1.1.4.2 19-Jan-2009  skrll Sync with HEAD.
 1.1.4.1 01-Jan-2009  skrll file rumpspl.c was added on branch nick-hppapmap on 2009-01-19 13:20:26 +0000
 1.1.2.2 17-Jan-2009  mjf Sync with HEAD.
 1.1.2.1 01-Jan-2009  mjf file rumpspl.c was added on branch mjf-devfs2 on 2009-01-17 13:29:36 +0000
 1.2.30.1 18-May-2014  rmind sync with head
 1.2.26.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.16.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.4.2 04-May-2009  yamt sync with head.
 1.2.4.1 06-Feb-2009  yamt file rumpspl.c was added on branch yamt-nfs-mp on 2009-05-04 08:14:30 +0000
 1.3 12-Feb-2014  pooka Rototill a bit, and attempt to disguise it as non-gratuitous.

Add arch/generic and move non-x86 files from rumpkern/ there. Also,
move files from arch/i386 to arch/x86, and make both i386 and x86_64
use those.

This clarifies the situation with what is MD vs. MI code.

renames:
rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x
arch/i386/* => arch/x86/rump_x86_$x

(for those who forget, x86 requires MD code because rump kernels
use the same ABI as kernel modules)
 1.2 22-Jan-2013  christos branches: 1.2.2;
use the definitions from lock.h
 1.1 31-May-2010  pooka branches: 1.1.2; 1.1.4; 1.1.6; 1.1.14; 1.1.24;
The x86 kernel ABI depends on __cpu_simple_lock stuff being present.
Since they are practically never used (only when prehistoric code
uses simple_lock()), their efficiency doesn't matter that much and
we can simply adapt the versions from x86 lock.h.
 1.1.24.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.24.1 25-Feb-2013  tls resync with head
 1.1.14.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.6.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.1.6.1 31-May-2010  uebayasi file spinlock.c was added on branch uebayasi-xip on 2010-08-17 06:48:02 +0000
 1.1.4.2 11-Aug-2010  yamt sync with head.
 1.1.4.1 31-May-2010  yamt file spinlock.c was added on branch yamt-nfs-mp on 2010-08-11 22:55:07 +0000
 1.1.2.2 03-Jul-2010  rmind sync with head
 1.1.2.1 31-May-2010  rmind file spinlock.c was added on branch rmind-uvmplock on 2010-07-03 01:20:03 +0000
 1.2.2.1 18-May-2014  rmind sync with head
 1.2 01-Jan-2009  pooka Rename i386 and amd64 {cpu,spl}.c to rump{cpu,spl}.c to avoid
name collisions with other source files in the kernel tree.
 1.1 29-Dec-2008  pooka Switch i386 away from rump/include/machine. This means that rump
on i386 now uses the native kernel ABI. This in turn means that
rump modules and kernel modules are binary equivalent and can be
used interchangeably.
 1.4 25-Apr-2021  christos mipsn64* is native 64
 1.3 22-Apr-2015  pooka Apparently new source files need to be added to each Makefile.inc
individually. Who comes up with this kind of crappy build infra?
 1.2 12-Feb-2014  pooka branches: 1.2.6;
Rototill a bit, and attempt to disguise it as non-gratuitous.

Add arch/generic and move non-x86 files from rumpkern/ there. Also,
move files from arch/i386 to arch/x86, and make both i386 and x86_64
use those.

This clarifies the situation with what is MD vs. MI code.

renames:
rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x
arch/i386/* => arch/x86/rump_x86_$x

(for those who forget, x86 requires MD code because rump kernels
use the same ABI as kernel modules)
 1.1 14-Dec-2009  matt branches: 1.1.4; 1.1.14; 1.1.24; 1.1.28;
Make librump play with mips nicely. Define ARCH_ELFSIZE for mips to be 32.
This works for N64 kernels because objcopy them to be 32bit to the bootloaders
can handle them.
 1.1.28.1 18-May-2014  rmind sync with head
 1.1.24.2 03-Dec-2017  jdolecek update from HEAD
 1.1.24.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.14.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.2 11-Mar-2010  yamt sync with head
 1.1.4.1 14-Dec-2009  yamt file Makefile.inc was added on branch yamt-nfs-mp on 2010-03-11 15:04:38 +0000
 1.2.6.1 06-Jun-2015  skrll Sync with HEAD
 1.6 22-Apr-2015  pooka Apparently new source files need to be added to each Makefile.inc
individually. Who comes up with this kind of crappy build infra?
 1.5 07-Mar-2014  matt branches: 1.5.6;
Be a little more careful checking MLIBDIR
 1.4 07-Mar-2014  matt Use ARCH_ELFSIZE=32 is MLIBDIR == "powerpc"
 1.3 12-Feb-2014  pooka Rototill a bit, and attempt to disguise it as non-gratuitous.

Add arch/generic and move non-x86 files from rumpkern/ there. Also,
move files from arch/i386 to arch/x86, and make both i386 and x86_64
use those.

This clarifies the situation with what is MD vs. MI code.

renames:
rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x
arch/i386/* => arch/x86/rump_x86_$x

(for those who forget, x86 requires MD code because rump kernels
use the same ABI as kernel modules)
 1.2 24-Nov-2012  pgoyette branches: 1.2.2;
File is common between pp6 and ppc64 ports, so define ARCH_ELFSIZE
accordingly.

From christos@, resolves the latest build break
 1.1 03-Jul-2011  mrg branches: 1.1.2; 1.1.12;
define ARCH_ELFSIZE=32 and add kobj_stubs.c rumpcpu_generic.c.
 1.1.12.3 03-Dec-2017  jdolecek update from HEAD
 1.1.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.12.1 25-Feb-2013  tls resync with head
 1.1.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.2.1 16-Jan-2013  yamt sync with (a bit old) head
 1.2.2.1 18-May-2014  rmind sync with head
 1.5.6.1 06-Jun-2015  skrll Sync with HEAD
 1.2 22-Apr-2015  pooka Define rump_nativeabi_p() under arch, where one would logically expect
it to be defined.
 1.1 12-Feb-2014  pooka branches: 1.1.4; 1.1.6; 1.1.10; 1.1.12;
Rototill a bit, and attempt to disguise it as non-gratuitous.

Add arch/generic and move non-x86 files from rumpkern/ there. Also,
move files from arch/i386 to arch/x86, and make both i386 and x86_64
use those.

This clarifies the situation with what is MD vs. MI code.

renames:
rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x
arch/i386/* => arch/x86/rump_x86_$x

(for those who forget, x86 requires MD code because rump kernels
use the same ABI as kernel modules)
 1.1.12.1 06-Jun-2015  skrll Sync with HEAD
 1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 12-Feb-2014  tls file Makefile.inc was added on branch tls-maxphys on 2014-08-20 00:04:41 +0000
 1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.6.1 12-Feb-2014  yamt file Makefile.inc was added on branch yamt-pagecache on 2014-05-22 11:41:15 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 12-Feb-2014  rmind file Makefile.inc was added on branch rmind-smpnet on 2014-05-18 17:46:19 +0000
 1.2 26-Jan-2016  pooka branches: 1.2.16;
Put the kernelside rump kernel headers into <rump-sys> instead of
sprinkling them around the faction directories. Avoids having
to add a CPPFLAGS (or several) to pretty much every component
Makefile.

Leave compat headers around in the old locations.

The commit changes some autogenerated files, but I'll fix the
generators shortly and regen.
 1.1 22-Apr-2015  pooka branches: 1.1.2;
Define rump_nativeabi_p() under arch, where one would logically expect
it to be defined.
 1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.2.2 06-Jun-2015  skrll Sync with HEAD
 1.1.2.1 22-Apr-2015  skrll file rump_x86_abi.c was added on branch nick-nhusb on 2015-06-06 14:40:29 +0000
 1.2.16.2 03-Dec-2017  jdolecek update from HEAD
 1.2.16.1 26-Jan-2016  jdolecek file rump_x86_abi.c was added on branch tls-maxphys on 2017-12-03 11:39:16 +0000
 1.5 21-Aug-2022  riastradh rump/x86: Need x86/cpufunc.h for declaration of wbinvd.
 1.4 26-Jan-2016  pooka Put the kernelside rump kernel headers into <rump-sys> instead of
sprinkling them around the faction directories. Avoids having
to add a CPPFLAGS (or several) to pretty much every component
Makefile.

Leave compat headers around in the old locations.

The commit changes some autogenerated files, but I'll fix the
generators shortly and regen.
 1.3 22-Apr-2015  pooka Apparently not all ports define struct clockframe in cpu.h, so we cannot
provide our definition that way. Instead, generate the struct clockframe
passed to hardclock() in MD code.
 1.2 15-Mar-2014  pooka branches: 1.2.4; 1.2.6; 1.2.10; 1.2.12;
Allow compile-time optimizations to curlwp. This can have a pretty
staggering impact on performance. When running sendto() in a loop,
the improvement is 200k more calls per second with an inlined __thread
curlwp as opposed to the default. In other words, it shaves off hundreds
of CPU cycles per call (~20%). Even just eliminating the x86_curlwp()
call in favor of an inline gives an improvement of 60k calls per second.
 1.1 12-Feb-2014  pooka Rototill a bit, and attempt to disguise it as non-gratuitous.

Add arch/generic and move non-x86 files from rumpkern/ there. Also,
move files from arch/i386 to arch/x86, and make both i386 and x86_64
use those.

This clarifies the situation with what is MD vs. MI code.

renames:
rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x
arch/i386/* => arch/x86/rump_x86_$x

(for those who forget, x86 requires MD code because rump kernels
use the same ABI as kernel modules)
 1.2.12.2 19-Mar-2016  skrll Sync with HEAD
 1.2.12.1 06-Jun-2015  skrll Sync with HEAD
 1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.10.1 15-Mar-2014  tls file rump_x86_cpu.c was added on branch tls-maxphys on 2014-08-20 00:04:41 +0000
 1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.6.1 15-Mar-2014  yamt file rump_x86_cpu.c was added on branch yamt-pagecache on 2014-05-22 11:41:15 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 15-Mar-2014  rmind file rump_x86_cpu.c was added on branch rmind-smpnet on 2014-05-18 17:46:19 +0000
 1.2 15-Jun-2020  msaitoh Serialize rdtsc using with lfence, mfence or cpuid to read TSC more precisely.

x86/x86/tsc.c rev. 1.67 reduced cache problem and got big improvement, but it
still has room. I measured the effect of lfence, mfence, cpuid and rdtscp.
The impact to TSC skew and/or drift is:

AMD: mfence > rdtscp > cpuid > lfence-serialize > lfence = nomodify
Intel: lfence > rdtscp > cpuid > nomodify

So, mfence is the best on AMD and lfence is the best on Intel. If it has no
SSE2, we can use cpuid.

NOTE:
- An AMD's document says DE_CFG_LFENCE_SERIALIZE bit can be used for
serializing, but it's not so good.
- On Intel i386(not amd64), it seems the improvement is very little.
- rdtscp instruct can be used as serializing instruction + rdtsc, but
it's not good as [lm]fence. Both Intel and AMD's document say that
the latency of rdtscp is bigger than rdtsc, so I suspect the difference
of the result comes from it.
 1.1 12-Feb-2014  pooka branches: 1.1.4; 1.1.6; 1.1.10;
Rototill a bit, and attempt to disguise it as non-gratuitous.

Add arch/generic and move non-x86 files from rumpkern/ there. Also,
move files from arch/i386 to arch/x86, and make both i386 and x86_64
use those.

This clarifies the situation with what is MD vs. MI code.

renames:
rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x
arch/i386/* => arch/x86/rump_x86_$x

(for those who forget, x86 requires MD code because rump kernels
use the same ABI as kernel modules)
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 12-Feb-2014  tls file rump_x86_cpu_counter.c was added on branch tls-maxphys on 2014-08-20 00:04:41 +0000
 1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.6.1 12-Feb-2014  yamt file rump_x86_cpu_counter.c was added on branch yamt-pagecache on 2014-05-22 11:41:15 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 12-Feb-2014  rmind file rump_x86_cpu_counter.c was added on branch rmind-smpnet on 2014-05-18 17:46:19 +0000
 1.5 21-Aug-2022  riastradh rump/x86: Add stubs for pmap_resident_count, pmap_wired_count.

These are no longer static inlines, now that struct pmap is private.
 1.4 26-Jan-2016  pooka Put the kernelside rump kernel headers into <rump-sys> instead of
sprinkling them around the faction directories. Avoids having
to add a CPPFLAGS (or several) to pretty much every component
Makefile.

Leave compat headers around in the old locations.

The commit changes some autogenerated files, but I'll fix the
generators shortly and regen.
 1.3 17-Apr-2015  pooka Give the kernel/local pmaps actual storage.

That way friendly neighborhood macros won't go scribbling
in the wrong places.
 1.2 03-Apr-2015  pooka Use RUMP_PMAP_KERNEL and RUMP_PMAP_LOCAL to denote
kernel and local client pmaps, respectively.
 1.1 12-Feb-2014  pooka branches: 1.1.4; 1.1.6; 1.1.10; 1.1.12;
Rototill a bit, and attempt to disguise it as non-gratuitous.

Add arch/generic and move non-x86 files from rumpkern/ there. Also,
move files from arch/i386 to arch/x86, and make both i386 and x86_64
use those.

This clarifies the situation with what is MD vs. MI code.

renames:
rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x
arch/i386/* => arch/x86/rump_x86_$x

(for those who forget, x86 requires MD code because rump kernels
use the same ABI as kernel modules)
 1.1.12.3 19-Mar-2016  skrll Sync with HEAD
 1.1.12.2 06-Jun-2015  skrll Sync with HEAD
 1.1.12.1 06-Apr-2015  skrll Sync with HEAD
 1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 12-Feb-2014  tls file rump_x86_pmap.c was added on branch tls-maxphys on 2014-08-20 00:04:41 +0000
 1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.6.1 12-Feb-2014  yamt file rump_x86_pmap.c was added on branch yamt-pagecache on 2014-05-22 11:41:15 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 12-Feb-2014  rmind file rump_x86_pmap.c was added on branch rmind-smpnet on 2014-05-18 17:46:19 +0000
 1.1 12-Feb-2014  pooka branches: 1.1.4; 1.1.6; 1.1.10;
Rototill a bit, and attempt to disguise it as non-gratuitous.

Add arch/generic and move non-x86 files from rumpkern/ there. Also,
move files from arch/i386 to arch/x86, and make both i386 and x86_64
use those.

This clarifies the situation with what is MD vs. MI code.

renames:
rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x
arch/i386/* => arch/x86/rump_x86_$x

(for those who forget, x86 requires MD code because rump kernels
use the same ABI as kernel modules)
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 12-Feb-2014  tls file rump_x86_spinlock.c was added on branch tls-maxphys on 2014-08-20 00:04:41 +0000
 1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.6.1 12-Feb-2014  yamt file rump_x86_spinlock.c was added on branch yamt-pagecache on 2014-05-22 11:41:15 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 12-Feb-2014  rmind file rump_x86_spinlock.c was added on branch rmind-smpnet on 2014-05-18 17:46:19 +0000
 1.2 26-Jan-2016  pooka Put the kernelside rump kernel headers into <rump-sys> instead of
sprinkling them around the faction directories. Avoids having
to add a CPPFLAGS (or several) to pretty much every component
Makefile.

Leave compat headers around in the old locations.

The commit changes some autogenerated files, but I'll fix the
generators shortly and regen.
 1.1 12-Feb-2014  pooka branches: 1.1.4; 1.1.6; 1.1.10; 1.1.12;
Rototill a bit, and attempt to disguise it as non-gratuitous.

Add arch/generic and move non-x86 files from rumpkern/ there. Also,
move files from arch/i386 to arch/x86, and make both i386 and x86_64
use those.

This clarifies the situation with what is MD vs. MI code.

renames:
rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x
arch/i386/* => arch/x86/rump_x86_$x

(for those who forget, x86 requires MD code because rump kernels
use the same ABI as kernel modules)
 1.1.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 12-Feb-2014  tls file rump_x86_spl.c was added on branch tls-maxphys on 2014-08-20 00:04:41 +0000
 1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.6.1 12-Feb-2014  yamt file rump_x86_spl.c was added on branch yamt-pagecache on 2014-05-22 11:41:15 +0000
 1.1.4.2 18-May-2014  rmind sync with head
 1.1.4.1 12-Feb-2014  rmind file rump_x86_spl.c was added on branch rmind-smpnet on 2014-05-18 17:46:19 +0000
 1.9 15-Nov-2018  riastradh Make the direct-map API always available, but fail if KASAN or rump.

(Only for architectures that support it at all; on others,
__HAVE_MM_MD_DIRECT_MAPPED_PHYS/IO are still undefined and the
functions unimplemented.)

This gives modules like zfs an opportunity to use it.

While here, fix the one caller of mm_md_direct_mapped_phys that
ignored the return value (and make sure to call pmap_kremove/update
before uvm_km_free).
 1.8 12-Feb-2014  pooka branches: 1.8.28; 1.8.30;
Rototill a bit, and attempt to disguise it as non-gratuitous.

Add arch/generic and move non-x86 files from rumpkern/ there. Also,
move files from arch/i386 to arch/x86, and make both i386 and x86_64
use those.

This clarifies the situation with what is MD vs. MI code.

renames:
rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x
arch/i386/* => arch/x86/rump_x86_$x

(for those who forget, x86 requires MD code because rump kernels
use the same ABI as kernel modules)
 1.7 16-Jun-2010  pooka branches: 1.7.8; 1.7.18; 1.7.22;
Reinstate the blanket pmap.h for archs which do not conform to the
kernel ABI (i.e. not i386 or amd64). Due to the "half function,
half macro, all noodles" nature of pmap.h, it's too entangling and
too brittle to keep up with an ifdeffy MI implementation.
 1.6 31-May-2010  pooka The x86 kernel ABI depends on __cpu_simple_lock stuff being present.
Since they are practically never used (only when prehistoric code
uses simple_lock()), their efficiency doesn't matter that much and
we can simply adapt the versions from x86 lock.h.
 1.5 11-May-2010  pooka add __HAVE_CPU_COUNTER stubs where possible (i.e. where the arch
doesn't think inlines are the second compiling)
 1.4 01-Jan-2009  pooka branches: 1.4.2; 1.4.4; 1.4.8; 1.4.10; 1.4.12;
add missing "arch/" as noted by a few people
 1.3 01-Jan-2009  pooka Define MODULAR for rump core components. This enables module
loading via the kernel module framework (instead of dlopen()).
For now it only works on amd64 and i386, but for the rest it should
just be a matter of including the relevant kobj_machdep.c modules
from the kernel sources.
 1.2 01-Jan-2009  pooka Rename i386 and amd64 {cpu,spl}.c to rump{cpu,spl}.c to avoid
name collisions with other source files in the kernel tree.
 1.1 30-Dec-2008  pooka Switch amd64 rumps to the kernel ABI.
 1.4.12.2 03-Jul-2010  rmind sync with head
 1.4.12.1 30-May-2010  rmind sync with head
 1.4.10.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.4.8.3 11-Aug-2010  yamt sync with head.
 1.4.8.2 04-May-2009  yamt sync with head.
 1.4.8.1 01-Jan-2009  yamt file Makefile.inc was added on branch yamt-nfs-mp on 2009-05-04 08:14:30 +0000
 1.4.4.2 19-Jan-2009  skrll Sync with HEAD.
 1.4.4.1 01-Jan-2009  skrll file Makefile.inc was added on branch nick-hppapmap on 2009-01-19 13:20:26 +0000
 1.4.2.2 17-Jan-2009  mjf Sync with HEAD.
 1.4.2.1 01-Jan-2009  mjf file Makefile.inc was added on branch mjf-devfs2 on 2009-01-17 13:29:36 +0000
 1.7.22.1 18-May-2014  rmind sync with head
 1.7.18.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.7.8.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.8.30.1 10-Jun-2019  christos Sync with HEAD
 1.8.28.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts

RSS XML Feed