The NetBSD Project

CVS log for src/sys/arch/xen/x86/xen_pmap.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / arch / xen / x86

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.41 / (download) - annotate - [select for diffs], Fri Aug 25 08:05:19 2023 UTC (7 months, 2 weeks ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, HEAD
Changes since 1.40: +9 -2 lines
Diff to previous 1.40 (colored)

xen: Provide definitions or ifdefs to make drm build in XEN3_DOM0.

No idea if it works, but it builds now.

PR port-xen/49330

Revision 1.40 / (download) - annotate - [select for diffs], Sat Aug 20 23:48:51 2022 UTC (19 months, 3 weeks ago) by riastradh
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Changes since 1.39: +3 -2 lines
Diff to previous 1.39 (colored)

x86: Split most of pmap.h into pmap_private.h or vmparam.h.

This way pmap.h only contains the MD definition of the MI pmap(9)
API, which loads of things in the kernel rely on, so changing x86
pmap internals no longer requires recompiling the entire kernel every
time.

Callers needing these internals must now use machine/pmap_private.h.
Note: This is not x86/pmap_private.h because it contains three parts:

1. CPU-specific (different for i386/amd64) definitions used by...

2. common definitions, including Xenisms like xpmap_ptetomach,
   further used by...

3. more CPU-specific inlines for pmap_pte_* operations

So {amd64,i386}/pmap_private.h defines 1, includes x86/pmap_private.h
for 2, and then defines 3.  Maybe we should split that out into a new
pmap_pte.h to reduce this trouble.

No functional change intended, other than that some .c files must
include machine/pmap_private.h when previously uvm/uvm_pmap.h
polluted the namespace with pmap internals.

Note: This migrates part of i386/pmap.h into i386/vmparam.h --
specifically the parts that are needed for several constants defined
in vmparam.h:

VM_MAXUSER_ADDRESS
VM_MAX_ADDRESS
VM_MAX_KERNEL_ADDRESS
VM_MIN_KERNEL_ADDRESS

Since i386 needs PDP_SIZE in vmparam.h, I added it there on amd64
too, just to keep things parallel.

Revision 1.39 / (download) - annotate - [select for diffs], Sun Sep 6 02:18:53 2020 UTC (3 years, 7 months ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.38: +2 -3 lines
Diff to previous 1.38 (colored)

Fix fallout from previous uvm.h cleanup.

- pmap(9) needs uvm/uvm_extern.h.

- x86/pmap.h is not usable on its own; it is only usable if included
  via uvm/uvm_extern.h (-> uvm/uvm_pmap.h -> machine/pmap.h).

- Make nvmm.h and nvmm_internal.h standalone.

Revision 1.38 / (download) - annotate - [select for diffs], Sun Jul 19 13:55:09 2020 UTC (3 years, 8 months ago) by maxv
Branch: MAIN
Changes since 1.37: +2 -3 lines
Diff to previous 1.37 (colored)

don't include opt_user_ldt.h when it is not needed

Revision 1.26.14.3 / (download) - annotate - [select for diffs], Mon Apr 13 08:04:12 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.26.14.2: +3 -3 lines
Diff to previous 1.26.14.2 (colored) to branchpoint 1.26 (colored) next main 1.27 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.26.14.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:07:59 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.26.14.1: +13 -7 lines
Diff to previous 1.26.14.1 (colored) to branchpoint 1.26 (colored)

Merge changes from current as of 20200406

Revision 1.37 / (download) - annotate - [select for diffs], Tue Jan 7 13:48:01 2020 UTC (4 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, is-mlppp-base, is-mlppp, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Changes since 1.36: +5 -3 lines
Diff to previous 1.36 (colored)

Correction to previous.

Revision 1.36 / (download) - annotate - [select for diffs], Tue Jan 7 13:20:18 2020 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.35: +8 -4 lines
Diff to previous 1.35 (colored)

pmap_extract_ma(): don't need to take pm_lock for pmap_kernel().

Revision 1.35 / (download) - annotate - [select for diffs], Sat Jan 4 22:49:20 2020 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.34: +8 -8 lines
Diff to previous 1.34 (colored)

x86 pmap improvements, reducing system time during a build by about 15% on
my test machine:

- Replace the global pv_hash with a per-pmap record of dynamically allocated
  pv entries.  The data structure used for this can be changed easily, and
  has no special concurrency requirements.  For now go with radixtree.

- Change pmap_pdp_cache back into a pool; cache the page directory with the
  pmap, and avoid contention on pmaps_lock by adjusting the global list in
  the pool_cache ctor & dtor.  Align struct pmap and its lock, and update
  some comments.

- Simplify pv_entry lists slightly.  Allow both PP_EMBEDDED and dynamically
  allocated entries to co-exist on a single page.  This adds a pointer to
  struct vm_page on x86, but shrinks pv_entry to 32 bytes (which also gets
  it nicely aligned).

- More elegantly solve the chicken-and-egg problem introduced into the pmap
  with radixtree lookup for pages, where we need PTEs mapped and page
  allocations to happen under a single hold of the pmap's lock.  While here
  undo some cut-n-paste.

- Don't adjust pmap_kernel's stats with atomics, because its mutex is now
  held in the places the stats are changed.

Revision 1.34 / (download) - annotate - [select for diffs], Sun Dec 15 19:24:11 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.33: +4 -4 lines
Diff to previous 1.33 (colored)

uvm_pagerealloc() can now block because of radixtree manipulation, so defer
freeing PTPs until pmap_unmap_ptes(), where we still have the pmap locked
but can finally tolerate context switches again.

To be revisited soon: pmap_map_ptes() seems broken WRT other pmap load.

Reported-by: syzbot+689fb7dab41abff8e75a@syzkaller.appspotmail.com
Reported-by: syzbot+3e7bbf37d37d451b25d7@syzkaller.appspotmail.com
Reported-by: syzbot+689fb7dab41abff8e75a@syzkaller.appspotmail.com
Reported-by: syzbot+689fb7dab41abff8e75a@syzkaller.appspotmail.com
Reported-by: syzbot+3e7bbf37d37d451b25d7@syzkaller.appspotmail.com

Revision 1.33 / (download) - annotate - [select for diffs], Sun Dec 8 20:42:49 2019 UTC (4 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.32: +3 -3 lines
Diff to previous 1.32 (colored)

Merge x86 pmap changes from yamt-pagecache:

- Deal better with the multi-level pmap object locking kludge.
- Handle uvm_pagealloc() being able to block.

Revision 1.32 / (download) - annotate - [select for diffs], Wed Oct 30 07:40:06 2019 UTC (4 years, 5 months ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-20191119
Changes since 1.31: +5 -5 lines
Diff to previous 1.31 (colored)

Switch to new PTE bits.

Revision 1.26.14.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:06:56 2019 UTC (4 years, 10 months ago) by christos
Branch: phil-wifi
Changes since 1.26: +16 -16 lines
Diff to previous 1.26 (colored)

Sync with HEAD

Revision 1.31 / (download) - annotate - [select for diffs], Sun Mar 10 16:30:01 2019 UTC (5 years, 1 month ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-20190609, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2
Changes since 1.30: +5 -3 lines
Diff to previous 1.30 (colored)

Two changes:

 * Allow large pages to be passed in pmap_pdes_valid, this happens under
   DDB when it reads RIP (.text), called via pmap_extract.

 * Invert a branch in pmap_extract, so that 'l_cpu' is not touched if we're
   dealing with the kernel pmap.

This fixes 'boot -d'.

Revision 1.30 / (download) - annotate - [select for diffs], Sat Mar 9 08:42:25 2019 UTC (5 years, 1 month ago) by maxv
Branch: MAIN
Changes since 1.29: +6 -6 lines
Diff to previous 1.29 (colored)

Start replacing the x86 PTE bits.

Revision 1.29 / (download) - annotate - [select for diffs], Thu Mar 7 13:26:24 2019 UTC (5 years, 1 month ago) by maxv
Branch: MAIN
Changes since 1.28: +3 -3 lines
Diff to previous 1.28 (colored)

Drop PG_RO, PG_KR and PG_PROT, they are useless and create confusion.

Revision 1.28 / (download) - annotate - [select for diffs], Sat Feb 2 12:32:55 2019 UTC (5 years, 2 months ago) by cherry
Branch: MAIN
Changes since 1.27: +3 -3 lines
Diff to previous 1.27 (colored)

Switch NetBSD/xen to use XEN api tag RELEASE-4.11.1

The headers for this api are in sys/external/mit/xen-include-public/dist/

Revision 1.26.12.1 / (download) - annotate - [select for diffs], Sat Jul 28 04:37:43 2018 UTC (5 years, 8 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.26: +8 -10 lines
Diff to previous 1.26 (colored) next main 1.27 (colored)

Sync with HEAD

Revision 1.27 / (download) - annotate - [select for diffs], Thu Jul 26 17:20:09 2018 UTC (5 years, 8 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728
Changes since 1.26: +8 -10 lines
Diff to previous 1.26 (colored)

Remove the non-PAE-i386 code of Xen. The branches are reordered so that
__x86_64__ comes first, eg:

	#if defined(PAE)
		/* i386+PAE */
	#elif defined(__x86_64__)
		/* amd64 */
	#else
		/* i386 */
	#endif

becomes

	#ifdef __x86_64__
		/* amd64 */
	#else
		/* i386+PAE */
	#endif

Tested on i386pae-domU and amd64-dom0.

Revision 1.22.2.1 / (download) - annotate - [select for diffs], Sun Dec 3 11:36:51 2017 UTC (6 years, 4 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.22: +18 -19 lines
Diff to previous 1.22 (colored) next main 1.23 (colored)

update from HEAD

Revision 1.22.16.3 / (download) - annotate - [select for diffs], Mon Aug 28 17:51:57 2017 UTC (6 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.22.16.2: +12 -13 lines
Diff to previous 1.22.16.2 (colored) to branchpoint 1.22 (colored) next main 1.23 (colored)

Sync with HEAD

Revision 1.22.20.2 / (download) - annotate - [select for diffs], Wed Apr 26 02:53:09 2017 UTC (6 years, 11 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.22.20.1: +12 -13 lines
Diff to previous 1.22.20.1 (colored) to branchpoint 1.22 (colored) next main 1.23 (colored)

Sync with HEAD

Revision 1.25.2.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:53:39 2017 UTC (6 years, 11 months ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.25: +12 -13 lines
Diff to previous 1.25 (colored) next main 1.26 (colored)

Sync with HEAD

Revision 1.22.14.1 / (download) - annotate - [select for diffs], Mon Apr 17 06:02:05 2017 UTC (6 years, 11 months ago) by snj
Branch: netbsd-7
CVS Tags: netbsd-7-2-RELEASE
Changes since 1.22: +9 -5 lines
Diff to previous 1.22 (colored) next main 1.23 (colored)

Pull up following revision(s) (requested by khorben in ticket #1367):
	sys/arch/amd64/conf/XEN3_DOM0: revision 1.126
	sys/arch/i386/conf/XEN3_DOM0: revision 1.104
	sys/arch/xen/x86/xen_pmap.c: revision 1.25
In the MP case,
do not attempt to pmap_tlb_shootdown() after a pmap_kenter_ma() during
boot. pmap_tlb_shootdown() assumes post boot. Instead invalidate the
entry on the local CPU only.
XXX: to DTRT, probably this assumption needs re-examination.
XXX: The tradeoff is a (predicted) single word size comparison
      penalty, so perhaps a decision needs performance stats.
xen dom0 SMP is now bootable again.
--
add the 'options MULTIPROCESSOR' in respective configs, but mark them
experimental - and thus disabled by default.

Revision 1.26 / (download) - annotate - [select for diffs], Thu Mar 23 18:08:06 2017 UTC (7 years ago) by maxv
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, pgoyette-localcount-20170426, pgoyette-compat-base, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1
Branch point for: phil-wifi, pgoyette-compat
Changes since 1.25: +12 -13 lines
Diff to previous 1.25 (colored)

Remove PG_k completely.

Revision 1.22.16.2 / (download) - annotate - [select for diffs], Sun Feb 5 13:40:23 2017 UTC (7 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.22.16.1: +9 -8 lines
Diff to previous 1.22.16.1 (colored) to branchpoint 1.22 (colored)

Sync with HEAD

Revision 1.22.20.1 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:29 2017 UTC (7 years, 3 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.22: +9 -9 lines
Diff to previous 1.22 (colored)

Sync with HEAD.  (Note that most of these changes are simply $NetBSD$
tag issues.)

Revision 1.25 / (download) - annotate - [select for diffs], Mon Dec 26 08:53:11 2016 UTC (7 years, 3 months ago) by cherry
Branch: MAIN
CVS Tags: pgoyette-localcount-20170320, pgoyette-localcount-20170107, nick-nhusb-base-20170204, bouyer-socketcan-base
Branch point for: bouyer-socketcan
Changes since 1.24: +9 -5 lines
Diff to previous 1.24 (colored)

In the MP case,
do not attempt to pmap_tlb_shootdown() after a pmap_kenter_ma() during
boot. pmap_tlb_shootdown() assumes post boot. Instead invalidate the
entry on the local CPU only.

XXX: to DTRT, probably this assumption needs re-examination.
XXX: The tradeoff is a (predicted) single word size comparison
     penalty, so perhaps a decision needs performance stats.

Revision 1.24 / (download) - annotate - [select for diffs], Tue Dec 13 10:54:27 2016 UTC (7 years, 4 months ago) by kamil
Branch: MAIN
Changes since 1.23: +2 -5 lines
Diff to previous 1.23 (colored)

Torn down KSTACK_CHECK_DR0, i386-only feature to detect stack overflow

This feature was intended to detect stack overflow with CPU Debug Registers
(x86). It was never ported to other ports, neither amd64 and should be
adapted for SMP...

Currently there might be better ways to detect stack overflows like page
mapping protection. Since the number of Debug Registers is restricted
(4 on x86), torn it down completely.

This interface introduced helper functions for Debug Registers, they will
be replaced with the new <x86/dbregs.h> interface.

KSTACK_CHECK_DR0 was disabled by default and won't affect ordinary users.

Sponsored by <The NetBSD Foundation>

Revision 1.22.16.1 / (download) - annotate - [select for diffs], Mon Dec 5 10:54:59 2016 UTC (7 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.22: +2 -3 lines
Diff to previous 1.22 (colored)

Sync with HEAD

Revision 1.23 / (download) - annotate - [select for diffs], Mon Nov 21 04:10:05 2016 UTC (7 years, 4 months ago) by ozaki-r
Branch: MAIN
CVS Tags: nick-nhusb-base-20161204
Changes since 1.22: +2 -3 lines
Diff to previous 1.22 (colored)

Sweep unnecessary xcall.h inclusions

Revision 1.6.2.4 / (download) - annotate - [select for diffs], Tue Oct 30 17:20:36 2012 UTC (11 years, 5 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.6.2.3: +2 -8 lines
Diff to previous 1.6.2.3 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored)

sync with head

Revision 1.16.2.3 / (download) - annotate - [select for diffs], Mon Jul 2 21:01:48 2012 UTC (11 years, 9 months ago) by jdc
Branch: netbsd-6
CVS Tags: netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Changes since 1.16.2.2: +2 -8 lines
Diff to previous 1.16.2.2 (colored) to branchpoint 1.16 (colored) next main 1.17 (colored)

Pull up revisions:
  src/sys/arch/xen/include/xenpmap.h revision 1.35 via patch
  src/sys/arch/xen/x86/xen_pmap.c revision 1.22 via patch
(requested by jym in ticket #372).

Enable the map/unmap recursive mapping functions for all Xen ports for
save/restore.

For an unknown reason (to me) Xen refuses to update VM translations
when the entry is pointing back to itself (which is precisely
what our recursive VM model does). So enable the functions that take
care of this, which will avoid all sort of memory corruption upon restore
leading domU to trample upon itself.

Save/restore works again for amd64. The occasional domU frontend
corruption is
still present, but is harmless to dom0. Now we have a working shell and
ddb inside domU, that helps debugging a tiny bit.

XXX pull-up to -6.

Revision 1.22 / (download) - annotate - [select for diffs], Sun Jun 24 18:31:53 2012 UTC (11 years, 9 months ago) by jym
Branch: MAIN
CVS Tags: yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, rmind-smpnet, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, pgoyette-localcount-base, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, nick-nhusb-base, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, localcount-20160914, khorben-n900, agc-symver-base, agc-symver
Branch point for: tls-maxphys, pgoyette-localcount, nick-nhusb, netbsd-7
Changes since 1.21: +2 -8 lines
Diff to previous 1.21 (colored)

Enable the map/unmap recursive mapping functions for all Xen ports for
save/restore.

For an unknown reason (to me) Xen refuses to update VM translations
when the entry is pointing back to itself (which is precisely
what our recursive VM model does). So enable the functions that take
care of this, which will avoid all sort of memory corruption upon restore
leading domU to trample upon itself.

Save/restore works again for amd64. The occasional domU frontend corruption is
still present, but is harmless to dom0. Now we have a working shell and
ddb inside domU, that helps debugging a tiny bit.

XXX pull-up to -6.

Revision 1.6.2.3 / (download) - annotate - [select for diffs], Wed May 23 10:07:52 2012 UTC (11 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.6.2.2: +6 -6 lines
Diff to previous 1.6.2.2 (colored) to branchpoint 1.6 (colored)

sync with head.

Revision 1.16.2.2 / (download) - annotate - [select for diffs], Wed May 9 03:22:54 2012 UTC (11 years, 11 months ago) by riz
Branch: netbsd-6
Changes since 1.16.2.1: +4 -4 lines
Diff to previous 1.16.2.1 (colored) to branchpoint 1.16 (colored)

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).

Revision 1.10.2.6 / (download) - annotate - [select for diffs], Sun Apr 29 23:04:44 2012 UTC (11 years, 11 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.10.2.5: +6 -6 lines
Diff to previous 1.10.2.5 (colored) to branchpoint 1.10 (colored) next main 1.11 (colored)

sync to latest -current.

Revision 1.21 / (download) - annotate - [select for diffs], Fri Apr 20 22:23:25 2012 UTC (11 years, 11 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-pagecache-base5, jmcneill-usbmp-base9, jmcneill-usbmp-base10
Changes since 1.20: +6 -6 lines
Diff to previous 1.20 (colored)

- 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.

Revision 1.6.2.2 / (download) - annotate - [select for diffs], Tue Apr 17 00:07:11 2012 UTC (11 years, 11 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.6.2.1: +87 -242 lines
Diff to previous 1.6.2.1 (colored) to branchpoint 1.6 (colored)

sync with head

Revision 1.10.2.5 / (download) - annotate - [select for diffs], Thu Apr 5 21:33:22 2012 UTC (12 years ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.10.2.4: +14 -17 lines
Diff to previous 1.10.2.4 (colored) to branchpoint 1.10 (colored)

sync to latest -current.

Revision 1.20 / (download) - annotate - [select for diffs], Sun Mar 11 17:14:30 2012 UTC (12 years, 1 month ago) by jym
Branch: MAIN
CVS Tags: yamt-pagecache-base4, jmcneill-usbmp-base8
Changes since 1.19: +14 -17 lines
Diff to previous 1.19 (colored)

Split the map/unmap code from the sync/flush code: move xpq_flush_queue()
calls after pmap_{,un}map_recursive_entries() so that pmap's handlers
handle the flush themselves.

Now pmap_{,un}map_recursive_entries() do what their names imply, nothing more.

Fix pmap_xen_suspend()'s comment: APDPs are now gone.

pmap's handlers are called deep during kernel save/restore. We already
are at IPL_VM + kpreemption disabled. No need to wrap the xpq_flush_queue()
with splvm/splx.

Revision 1.10.2.4 / (download) - annotate - [select for diffs], Tue Mar 6 18:26:40 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.10.2.3: +5 -2 lines
Diff to previous 1.10.2.3 (colored) to branchpoint 1.10 (colored)

sync to -current

Revision 1.10.2.3 / (download) - annotate - [select for diffs], Tue Mar 6 09:56:12 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.10.2.2: +2 -5 lines
Diff to previous 1.10.2.2 (colored) to branchpoint 1.10 (colored)

sync to -current

Revision 1.10.2.2 / (download) - annotate - [select for diffs], Sun Mar 4 00:46:18 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.10.2.1: +5 -3 lines
Diff to previous 1.10.2.1 (colored) to branchpoint 1.10 (colored)

sync to latest -current.

Revision 1.19 / (download) - annotate - [select for diffs], Fri Mar 2 16:38:14 2012 UTC (12 years, 1 month ago) by bouyer
Branch: MAIN
CVS Tags: jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base4
Changes since 1.18: +5 -2 lines
Diff to previous 1.18 (colored)

Add some more KASSERT()

Revision 1.18 / (download) - annotate - [select for diffs], Fri Feb 24 08:06:08 2012 UTC (12 years, 1 month ago) by cherry
Branch: MAIN
CVS Tags: jmcneill-usbmp-base5
Changes since 1.17: +2 -3 lines
Diff to previous 1.17 (colored)

(xen) - remove the (*xpq_cpu)() shim.We hasten the %fs/%gs setup process during boot.Although this is hacky, it lets us use the non-xen specificpmap_pte_xxx() functions in pmap code (and others).

Revision 1.16.2.1 / (download) - annotate - [select for diffs], Wed Feb 22 18:56:45 2012 UTC (12 years, 1 month ago) by riz
Branch: netbsd-6
Changes since 1.16: +19 -84 lines
Diff to previous 1.16 (colored)

Pull up following revision(s) (requested by bouyer in ticket #29):
	sys/arch/xen/x86/x86_xpmap.c: revision 1.39
	sys/arch/xen/include/hypervisor.h: revision 1.37
	sys/arch/xen/include/intr.h: revision 1.34
	sys/arch/xen/x86/xen_ipi.c: revision 1.10
	sys/arch/x86/x86/cpu.c: revision 1.97
	sys/arch/x86/include/cpu.h: revision 1.48
	sys/uvm/uvm_map.c: revision 1.315
	sys/arch/x86/x86/pmap.c: revision 1.165
	sys/arch/xen/x86/cpu.c: revision 1.81
	sys/arch/x86/x86/pmap.c: revision 1.167
	sys/arch/xen/x86/cpu.c: revision 1.82
	sys/arch/x86/x86/pmap.c: revision 1.168
	sys/arch/xen/x86/xen_pmap.c: revision 1.17
	sys/uvm/uvm_km.c: revision 1.122
	sys/uvm/uvm_kmguard.c: revision 1.10
	sys/arch/x86/include/pmap.h: revision 1.50
Apply patch proposed in PR port-xen/45975 (this does not solve the exact
problem reported here but is part of the solution):
xen_kpm_sync() is not working as expected,
leading to races between CPUs.
1 the check (xpq_cpu != &x86_curcpu) is always false because we
  have different x86_curcpu symbols with different addresses in the kernel.
  Fortunably, all addresses dissaemble to the same code.
  Because of this we always use the code intended for bootstrap, which doesn't
  use cross-calls or lock.
2 once 1 above is fixed, xen_kpm_sync() will use xcalls to sync other CPUs,
  which cause it to sleep and pmap.c doesn't like that. It triggers this
  KASSERT() in pmap_unmap_ptes():
  KASSERT(pmap->pm_ncsw == curlwp->l_ncsw);
3 pmap->pm_cpus is not safe for the purpose of xen_kpm_sync(), which
  needs to know on which CPU a pmap is loaded *now*:
  pmap->pm_cpus is cleared before cpu_load_pmap() is called to switch
  to a new pmap, leaving a window where a pmap is still in a CPU's
  ci_kpm_pdir but not in pm_cpus. As a virtual CPU may be preempted
  by the hypervisor at any time, it can be large enough to let another
  CPU free the PTP and reuse it as a normal page.
To fix 2), avoid cross-calls and IPIs completely, and instead
use a mutex to update all CPU's ci_kpm_pdir from the local CPU.
It's safe because we just need to update the table page, a tlbflush IPI will
happen later. As a side effect, we don't need a different code for bootstrap,
fixing 1). The mutex added to struct cpu needs a small headers reorganisation.
to fix 3), introduce a pm_xen_ptp_cpus which is updated from
cpu_pmap_load(), whith the ci_kpm_mtx mutex held. Checking it with
ci_kpm_mtx held will avoid overwriting the wrong pmap's ci_kpm_pdir.
While there I removed the unused pmap_is_active() function;
and added some more details to DIAGNOSTIC panics.
When using uvm_km_pgremove_intrsafe() make sure mappings are removed
before returning the pages to the free pool. Otherwise, under Xen,
a page which still has a writable mapping could be allocated for
a PDP by another CPU and the hypervisor would refuse it (this is
PR port-xen/45975).
For this, move the pmap_kremove() calls inside uvm_km_pgremove_intrsafe(),
and do pmap_kremove()/uvm_pagefree() in batch of (at most) 16 entries
(as suggested by Chuck Silvers on tech-kern@, see also
http://mail-index.netbsd.org/tech-kern/2012/02/17/msg012727.html and
followups).
Avoid early use of xen_kpm_sync(); locks are not available at this time.
Don't call cpu_init() twice.
Makes LOCKDEBUG kernels boot again
Revert pmap_pte_flush() -> xpq_flush_queue() in previous.

Revision 1.10.2.1 / (download) - annotate - [select for diffs], Sat Feb 18 07:33:45 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.10: +59 -222 lines
Diff to previous 1.10 (colored)

merge to -current.

Revision 1.17 / (download) - annotate - [select for diffs], Fri Feb 17 18:40:20 2012 UTC (12 years, 1 month ago) by bouyer
Branch: MAIN
CVS Tags: jmcneill-usbmp-base3, jmcneill-usbmp-base2
Changes since 1.16: +19 -84 lines
Diff to previous 1.16 (colored)

Apply patch proposed in PR port-xen/45975 (this does not solve the exact
problem reported here but is part of the solution):
xen_kpm_sync() is not working as expected,
leading to races between CPUs.
1 the check (xpq_cpu != &x86_curcpu) is always false because we
  have different x86_curcpu symbols with different addresses in the kernel.
  Fortunably, all addresses dissaemble to the same code.
  Because of this we always use the code intended for bootstrap, which doesn't
  use cross-calls or lock.

2 once 1 above is fixed, xen_kpm_sync() will use xcalls to sync other CPUs,
  which cause it to sleep and pmap.c doesn't like that. It triggers this
  KASSERT() in pmap_unmap_ptes():
  KASSERT(pmap->pm_ncsw == curlwp->l_ncsw);
3 pmap->pm_cpus is not safe for the purpose of xen_kpm_sync(), which
  needs to know on which CPU a pmap is loaded *now*:
  pmap->pm_cpus is cleared before cpu_load_pmap() is called to switch
  to a new pmap, leaving a window where a pmap is still in a CPU's
  ci_kpm_pdir but not in pm_cpus. As a virtual CPU may be preempted
  by the hypervisor at any time, it can be large enough to let another
  CPU free the PTP and reuse it as a normal page.

To fix 2), avoid cross-calls and IPIs completely, and instead
use a mutex to update all CPU's ci_kpm_pdir from the local CPU.
It's safe because we just need to update the table page, a tlbflush IPI will
happen later. As a side effect, we don't need a different code for bootstrap,
fixing 1). The mutex added to struct cpu needs a small headers reorganisation.

to fix 3), introduce a pm_xen_ptp_cpus which is updated from
cpu_pmap_load(), whith the ci_kpm_mtx mutex held. Checking it with
ci_kpm_mtx held will avoid overwriting the wrong pmap's ci_kpm_pdir.

While there I removed the unused pmap_is_active() function;
and added some more details to DIAGNOSTIC panics.

Revision 1.16 / (download) - annotate - [select for diffs], Sat Jan 28 07:19:17 2012 UTC (12 years, 2 months ago) by cherry
Branch: MAIN
CVS Tags: netbsd-6-base
Branch point for: netbsd-6
Changes since 1.15: +2 -221 lines
Diff to previous 1.15 (colored)

stop using alternate pde mapping in xen pmap

Revision 1.15 / (download) - annotate - [select for diffs], Sun Jan 22 18:16:34 2012 UTC (12 years, 2 months ago) by cherry
Branch: MAIN
Changes since 1.14: +23 -27 lines
Diff to previous 1.14 (colored)

Do not clobber pmap_kernel()'s pdir unnecessarily while syncing per-cpu pdirs

Revision 1.14 / (download) - annotate - [select for diffs], Thu Jan 19 22:04:05 2012 UTC (12 years, 2 months ago) by bouyer
Branch: MAIN
Changes since 1.13: +4 -2 lines
Diff to previous 1.13 (colored)

add a missing splvm()/splx() to protect the xpq queue.

Revision 1.13 / (download) - annotate - [select for diffs], Mon Jan 9 12:58:49 2012 UTC (12 years, 3 months ago) by cherry
Branch: MAIN
Changes since 1.12: +7 -4 lines
Diff to previous 1.12 (colored)

Harden cross-cpu L3 sync - avoid optimisations that may race.
Update ci->ci_kpm_pdir from user pmap, not global pmap_kernel() entry which may get clobbered by other CPUs.
XXX: Look into why we use pmap_kernel() userspace entries at all.

Revision 1.12 / (download) - annotate - [select for diffs], Fri Dec 30 16:55:21 2011 UTC (12 years, 3 months ago) by cherry
Branch: MAIN
Changes since 1.11: +122 -2 lines
Diff to previous 1.11 (colored)

per-cpu shadow directory pages should be updated locally via cross-calls. Do this.

Revision 1.11 / (download) - annotate - [select for diffs], Wed Dec 7 15:47:43 2011 UTC (12 years, 4 months ago) by cegger
Branch: MAIN
Changes since 1.10: +3 -3 lines
Diff to previous 1.10 (colored)

switch from xen3-public to xen-public.

Revision 1.10 / (download) - annotate - [select for diffs], Wed Nov 23 00:56:56 2011 UTC (12 years, 4 months ago) by jym
Branch: MAIN
CVS Tags: jmcneill-usbmp-pre-base2, jmcneill-usbmp-base
Branch point for: jmcneill-usbmp
Changes since 1.9: +3 -4 lines
Diff to previous 1.9 (colored)

Move Xen-specific functions to Xen pmap. Requested by cherry@.

Un'ifdef XEN in xen_pmap.c, it is always defined there.

Revision 1.9 / (download) - annotate - [select for diffs], Sun Nov 20 19:41:27 2011 UTC (12 years, 4 months ago) by jym
Branch: MAIN
Changes since 1.8: +22 -12 lines
Diff to previous 1.8 (colored)

Expose pmap_pdp_cache publicly to x86/xen pmap. Provide suspend/resume
callbacks for Xen pmap.

Turn static internal callbacks of pmap_pdp_cache.

XXX the implementation of pool_cache_invalidate(9) is still wrong, and
IMHO this needs fixing before -6. See
http://mail-index.netbsd.org/tech-kern/2011/11/18/msg011924.html

Revision 1.6.2.1 / (download) - annotate - [select for diffs], Thu Nov 10 14:31:44 2011 UTC (12 years, 5 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.6: +2 -11 lines
Diff to previous 1.6 (colored)

sync with head

Revision 1.8 / (download) - annotate - [select for diffs], Tue Nov 8 17:16:52 2011 UTC (12 years, 5 months ago) by cherry
Branch: MAIN
CVS Tags: yamt-pagecache-base3, jmcneill-audiomp3-base, jmcneill-audiomp3
Changes since 1.7: +2 -9 lines
Diff to previous 1.7 (colored)

Expose the PG_k #define pt/pd bit to both xen and "baremetal" x86. This is required, since kernel pages are mapped with user permissions in XEN/amd64 since the VM kernel runs in ring3. Since XEN/i386(including PAE) runs in ring1, supervisor mode is appropriate for these ports. We need to share this since the pmap implementation is still shared. Once the xen implementation is sufficiently independant of the x86 one, this can be made private to xen/include/xenpmap.h

Revision 1.7 / (download) - annotate - [select for diffs], Sun Nov 6 11:40:47 2011 UTC (12 years, 5 months ago) by cherry
Branch: MAIN
CVS Tags: yamt-pagecache-base2
Changes since 1.6: +2 -4 lines
Diff to previous 1.6 (colored)

[merging from cherry-xenmp] Make the xen MMU op queue locking api private. Implement per-cpu queues.

Revision 1.6 / (download) - annotate - [select for diffs], Tue Oct 18 23:43:06 2011 UTC (12 years, 5 months ago) by jym
Branch: MAIN
CVS Tags: yamt-pagecache-base
Branch point for: yamt-pagecache
Changes since 1.5: +112 -2 lines
Diff to previous 1.5 (colored)

Move Xen specific functions out of x86 native pmap to xen_pmap.c.

Provide a wrapper to trigger pmap pool_cache(9) invalidations without
exposing the caches to outside world.

Revision 1.2.2.5 / (download) - annotate - [select for diffs], Tue Sep 20 18:57:53 2011 UTC (12 years, 6 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.2.2.4: +2 -4 lines
Diff to previous 1.2.2.4 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)

Remove the "xpq lock", since we have per-cpu mmu queues now. This may need further testing. Also add some preliminary locking around queue-ops in the network backend driver

Revision 1.5 / (download) - annotate - [select for diffs], Tue Sep 20 00:12:24 2011 UTC (12 years, 6 months ago) by jym
Branch: MAIN
Changes since 1.4: +15 -7 lines
Diff to previous 1.4 (colored)

Merge jym-xensuspend branch in -current. ok bouyer@.

Goal: save/restore support in NetBSD domUs, for i386, i386 PAE and amd64.

Executive summary:
- split all Xen drivers (xenbus(4), grant tables, xbd(4), xennet(4))
in two parts: suspend and resume, and hook them to pmf(9).
- modify pmap so that Xen hypervisor does not cry out loud in case
it finds "unexpected" recursive memory mappings
- provide a sysctl(7), machdep.xen.suspend, to command suspend from
userland via powerd(8). Note: a suspend can only be handled correctly
when dom0 requested it, so provide a mechanism that will prevent
kernel to blindly validate user's commands

The code is still in experimental state, use at your own risk: restore
can corrupt backend communications rings; this can completely thrash
dom0 as it will loop at a high interrupt level trying to honor
all domU requests.

XXX PAE suspend does not work in amd64 currently, due to (yet again!)
page validation issues with hypervisor. Will fix.

XXX secondary CPUs are not suspended, I will write the handlers
in sync with cherry's Xen MP work.

Tested under i386 and amd64, bear in mind ring corruption though.

No build break expected, GENERICs and XEN* kernels should be fine.
./build.sh distribution still running. In any case: sorry if it does
break for you, contact me directly for reports.

Revision 1.1.8.4 / (download) - annotate - [select for diffs], Sat Aug 27 15:37:32 2011 UTC (12 years, 7 months ago) by jym
Branch: jym-xensuspend
Changes since 1.1.8.3: +209 -7 lines
Diff to previous 1.1.8.3 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

Sync with HEAD. Most notably: uvm/pmap work done by rmind@, and MP Xen
work of cherry@.

No regression observed on suspend/restore.

Revision 1.2.2.4 / (download) - annotate - [select for diffs], Mon Aug 22 17:39:19 2011 UTC (12 years, 7 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.2.2.3: +2 -4 lines
Diff to previous 1.2.2.3 (colored) to branchpoint 1.2 (colored)

Remove spurious locks

Revision 1.2.2.3 / (download) - annotate - [select for diffs], Sat Aug 20 19:22:47 2011 UTC (12 years, 7 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.2.2.2: +13 -19 lines
Diff to previous 1.2.2.2 (colored) to branchpoint 1.2 (colored)

PAE MP support (preliminary), amd64 per-cpu L4 model redesigned, i386 pmap_pa_start/end fixup

Revision 1.4 / (download) - annotate - [select for diffs], Sat Aug 13 12:09:38 2011 UTC (12 years, 8 months ago) by cherry
Branch: MAIN
CVS Tags: jym-xensuspend-nbase, jym-xensuspend-base
Changes since 1.3: +4 -2 lines
Diff to previous 1.3 (colored)

Add locking around ops to the hypervisor MMU "queue".

Revision 1.2.2.2 / (download) - annotate - [select for diffs], Sat Jul 16 10:59:46 2011 UTC (12 years, 9 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.2.2.1: +17 -6 lines
Diff to previous 1.2.2.1 (colored) to branchpoint 1.2 (colored)

Introduce a per-cpu "shadow" for pmap_kernel()'s L4 page

Revision 1.2.2.1 / (download) - annotate - [select for diffs], Thu Jun 23 14:19:50 2011 UTC (12 years, 9 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.2: +197 -3 lines
Diff to previous 1.2 (colored)

Catchup with rmind-uvmplock merge.

Revision 1.3 / (download) - annotate - [select for diffs], Sun Jun 12 03:35:50 2011 UTC (12 years, 10 months ago) by rmind
Branch: MAIN
Changes since 1.2: +195 -3 lines
Diff to previous 1.2 (colored)

Welcome to 5.99.53!  Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
  New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
  the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
  Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
  kernel-lock on some ports).  Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.

Revision 1.1.10.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:07:11 2011 UTC (12 years, 10 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.1: +3 -8 lines
Diff to previous 1.1 (colored) next main 1.2 (colored)

Sync with HEAD.

Revision 1.1.8.3 / (download) - annotate - [select for diffs], Mon Mar 28 23:04:56 2011 UTC (13 years ago) by jym
Branch: jym-xensuspend
Changes since 1.1.8.2: +3 -8 lines
Diff to previous 1.1.8.2 (colored) to branchpoint 1.1 (colored)

Sync with HEAD. TODO before merge:
- shortcut for suspend code in sysmon, when powerd(8) is not running.
Borrow ``xs_watch'' thread context?
- bug hunting in xbd + xennet resume. Rings are currently thrashed upon
resume, so current implementation force flush them on suspend. It's not
really needed.

Revision 1.1.2.4 / (download) - annotate - [select for diffs], Sat Mar 5 20:52:34 2011 UTC (13 years, 1 month ago) by rmind
Branch: rmind-uvmplock
Changes since 1.1.2.3: +1 -8 lines
Diff to previous 1.1.2.3 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

sync with head

Revision 1.1.12.1 / (download) - annotate - [select for diffs], Tue Feb 8 16:19:45 2011 UTC (13 years, 2 months ago) by bouyer
Branch: bouyer-quota2
Changes since 1.1: +3 -8 lines
Diff to previous 1.1 (colored) next main 1.2 (colored)

Sync with HEAD

Revision 1.2 / (download) - annotate - [select for diffs], Tue Feb 1 21:18:56 2011 UTC (13 years, 2 months ago) by chuck
Branch: MAIN
CVS Tags: uebayasi-xip-base7, rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base, bouyer-quota2-nbase, bouyer-quota2-base
Branch point for: cherry-xenmp
Changes since 1.1: +3 -8 lines
Diff to previous 1.1 (colored)

udpate license clauses on my code to match the new-style BSD licenses.
based on diff that rmind@ sent me.

no functional change with this commit.

Revision 1.1.8.2 / (download) - annotate - [select for diffs], Sun Oct 24 22:48:22 2010 UTC (13 years, 5 months ago) by jym
Branch: jym-xensuspend
Changes since 1.1.8.1: +245 -0 lines
Diff to previous 1.1.8.1 (colored) to branchpoint 1.1 (colored)

Sync with HEAD

Revision 1.1.6.2 / (download) - annotate - [select for diffs], Tue Aug 17 06:45:36 2010 UTC (13 years, 8 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.1.6.1: +245 -0 lines
Diff to previous 1.1.6.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

Sync with HEAD.

Revision 1.1.4.2 / (download) - annotate - [select for diffs], Wed Aug 11 22:52:59 2010 UTC (13 years, 8 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.1.4.1: +245 -0 lines
Diff to previous 1.1.4.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

sync with head.

Revision 1.1.2.3 / (download) - annotate - [select for diffs], Mon May 31 01:12:14 2010 UTC (13 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.1.2.2: +195 -1 lines
Diff to previous 1.1.2.2 (colored) to branchpoint 1.1 (colored)

- Split off Xen versions of pmap_map_ptes/pmap_unmap_ptes into Xen pmap,
  also move pmap_apte_flush() with pmap_unmap_apdp() there.
- Make Xen buildable.

Revision 1.1.2.2 / (download) - annotate - [select for diffs], Sun May 30 05:17:14 2010 UTC (13 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.1.2.1: +245 -0 lines
Diff to previous 1.1.2.1 (colored) to branchpoint 1.1 (colored)

sync with head

Revision 1.1.8.1, Mon May 10 18:46:59 2010 UTC (13 years, 11 months ago) by jym
Branch: jym-xensuspend
Changes since 1.1: +0 -245 lines
FILE REMOVED

file xen_pmap.c was added on branch jym-xensuspend on 2010-10-24 22:48:22 +0000

Revision 1.1.6.1, Mon May 10 18:46:59 2010 UTC (13 years, 11 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.1: +0 -245 lines
FILE REMOVED

file xen_pmap.c was added on branch uebayasi-xip on 2010-08-17 06:45:35 +0000

Revision 1.1.4.1, Mon May 10 18:46:59 2010 UTC (13 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.1: +0 -245 lines
FILE REMOVED

file xen_pmap.c was added on branch yamt-nfs-mp on 2010-08-11 22:52:59 +0000

Revision 1.1.2.1, Mon May 10 18:46:59 2010 UTC (13 years, 11 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.1: +0 -245 lines
FILE REMOVED

file xen_pmap.c was added on branch rmind-uvmplock on 2010-05-30 05:17:14 +0000

Revision 1.1 / (download) - annotate - [select for diffs], Mon May 10 18:46:59 2010 UTC (13 years, 11 months ago) by dyoung
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base6, uebayasi-xip-base5, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, matt-mips64-premerge-20101231, jruoho-x86intr-base
Branch point for: yamt-nfs-mp, uebayasi-xip, rmind-uvmplock, jym-xensuspend, jruoho-x86intr, bouyer-quota2

Provide pmap_enter_ma(), pmap_extract_ma(), pmap_kenter_ma() in all x86
kernels, and use them in the bus_space(9) implementation instead of ugly
Xen #ifdef-age.  In a non-Xen kernel, the _ma() functions either call or
alias the equivalent _pa() functions.

Reviewed on port-xen@netbsd.org and port-i386@netbsd.org.  Passes
rmind@'s and bouyer@'s inspection.  Tested on i386 and on Xen DOMU /
DOM0.

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




CVSweb <webmaster@jp.NetBSD.org>