History log of /src/sys/rump/librump/rumpkern/arch/i386 |
Revision | Date | Author | Comments |
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.
|