The NetBSD Project

CVS log for src/sys/arch/xen/xen/xencons.c

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.50.20.1 / (download) - annotate - [select for diffs], Mon Jul 31 15:23:02 2023 UTC (8 months, 2 weeks ago) by martin
Branch: netbsd-10
CVS Tags: 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
Changes since 1.50: +12 -13 lines
Diff to previous 1.50 (colored) next main 1.51 (colored)

Pull up following revision(s) (requested by riastradh in ticket #268):

	sys/arch/xen/xenbus/xenbus_comms.c: revision 1.25
	sys/arch/xen/xenbus/xenbus_comms.c: revision 1.26
	sys/arch/xen/xen/xennetback_xenbus.c: revision 1.110
	sys/arch/xen/xen/xennetback_xenbus.c: revision 1.111
	sys/arch/xen/xen/xennetback_xenbus.c: revision 1.112
	sys/arch/xen/x86/cpu.c: revision 1.144
	sys/arch/xen/x86/cpu.c: revision 1.145
	sys/arch/xen/include/hypervisor.h: revision 1.56
	sys/arch/xen/include/hypervisor.h: revision 1.57
	sys/arch/xen/xen/xbdback_xenbus.c: revision 1.102
	sys/arch/xen/xen/xbdback_xenbus.c: revision 1.103
	sys/arch/xen/include/xenring.h: revision 1.7
	sys/arch/xen/xen/xennetback_xenbus.c: revision 1.109
	sys/arch/xen/xen/xengnt.c: revision 1.40
	sys/arch/xen/xen/xengnt.c: revision 1.41
	sys/arch/xen/xen/if_xennet_xenbus.c: revision 1.129
	sys/arch/xen/xen/xencons.c: revision 1.51
	sys/arch/xen/xen/xencons.c: revision 1.52
	sys/arch/xen/xen/xencons.c: revision 1.53
	sys/arch/xen/xen/xbd_xenbus.c: revision 1.130 (patch)
	sys/arch/xen/xen/xbd_xenbus.c: revision 1.131 (patch)

xen: Fix sense of xen_rmb/wmb to make sense.

Use membar_acquire and membar_release, not membar_consumer and
membar_producer, out of paranoia -- that better matches Linux's
rmb/wmb (at least for non-I/O loads and stores).

Proposed on port-xen:
https://mail-index.netbsd.org/port-xen/2022/07/13/msg010248.html

xen/x86/cpu.c: Membar audit.

I see no reason for store-before-load ordering here; as far as I'm
aware, evtchn_upcall_mask is only shared between a (v)CPU and its
(hypervisor) interrupts, not other (v)CPUs.

xennet(4): Membar audit.
- xennet_tx_complete: Other side owns rsp_prod, giving us responses
  to tx commands.  We own rsp_cons, recording which responess we've
  processed already.
  1. Other side initializes responses before advancing rsp_prod, so
     we must observe rsp_prod before trying to examine the responses.
     Hence load from rsp_prod must be followed by xen_rmb.
     (Can this just use atomic_load_acquire?)
  2. As soon as other side observes rsp_event, it may start to
     overwrite now-unused response slots, so we must finish using the
     response before advancing rsp_cons.  Hence we must issue xen_wmb
     before store to rsp_event.
     (Can this just use atomic_store_release?)
     (Should this use RING_FINAL_CHECK_FOR_RESPONSES?)
  3. When loop is done and we set rsp_event, we must ensure the other
     side has had a chance to see that we want more before we check
     whether there is more to consume; otherwise the other side might
     not bother to send us an interrupt.  Hence after setting
     rsp_event, we must issue xen_mb (store-before-load) before
     re-checking rsp_prod.
- xennet_handler (rx): Same deal, except the xen_mb is buried in
  RING_FINAL_CHECK_FOR_RESPONSES.  Unclear why xennet_tx_complete has
  this open-coded while xennet_handler (rx) uses the macro.

xbd(4): Membar audit.
After consuming slots, must issue xen_wmb before notifying the other
side that we've consumed them in RING_FINAL_CHECK_FOR_RESPONSES.
xbdback(4): Membar audit.

After consuming request slots, must issue xen_wmb notifying the other
side that we've consumed them in RING_FINAL_CHECK_FOR_REQUESTS.

xencons(4): Membar audit.
- xenconscn_getc: Once we have consumed an input slot, it is clearer
  to issue xen_wmb (release, i.e., load/store-before-store) before
  advancing in_cons so that the update becomes a store-release
  freeing the input slot for the other side to reuse.
- xenconscn_putc: After filling an output slot, must issue xen_wmb
  (release, i.e., load/store-before-store) before advancing out_prod,
  and another one before notifying the other side of the advance.

xencons(4): Reduce unnecessary membars.
- xencons_handler: After advancing in_cons, only need one xen_wmb
  before notifying the hypervisor that we're ready for more.
  (XXX Should this do xen_mb and re-check in_prod at that point, or
  does hypervisor_notify_via_evtchn obviate the need for this?)
- xenvonscn_getc: After reading in_prod, only need one xen_rmb before
  using the slots it is telling us are now ready.

xengnt(4): Membar audit.
This had the sense of membars reversed, presumably because xen_rmb
and xen_wmb had gotten reversed at some point.
xenbus_comms.c: Membar audit.

This had the sense of membars reversed, presumably because xen_rmb
and xen_wmb had gotten reversed at some point.

xennetback(4): Fix xennetback_evthandler loop.
- After observing the other side has produced pending tx requests by
  reading sring->req_prod, must issue xen_rmb before touching them.
  Despite all the effort to use the heavy-weight
  RING_FINAL_CHECK_FOR_REQUESTS on each request in the loop, this
  barrier was missing.
- No need to update req_cons at each iteration in the loop.  It's
  private.  Just update it once at the end.
- After consuming requests, must issue xen_wmb before releasing the
  slots with RING_FINAL_CHECK_FOR_REQUEST for the other side to
  reuse.

xennetback(4): Fix membars in xennetback_rx_copy_process.
- No need for barrier around touching req_cons and rsp_prod_pvt,
  which are private.
- RING_PUSH_RESPONSES_AND_CHECK_NOTIFY already issues xen_wmb, no
  need to add one explicitly.
- After pushing responses, must issue xen_wmb (not xen_rmb) before
  hypervisor_notify_via_evtchn.

xennetback(4): Omit needless membars in xennetback_connect.
xneti is a private data structure to which we have exclusive access
here; ordering the stores doesn't make sense.

xen/hypervisor.h: Nix trailing whitespace.
No functional change intended.

xen/x86/cpu.c: Nix trailing whitespace.
No functional change intended.

xbd(4): Nix trailing whitespace.

xbdback(4): Nix trailing whitespace.
No functional change intended.

xencons(4): Nix trailing whitespace.
No functional change intended.

xengnt(4): Nix trailing whitespace.
No functional change intended.

xenbus_comms.c: Nix trailing whitespace.
No functional change intended.

xennetback(4): Nix trailing whitespace.
No functional change intended.

Revision 1.53 / (download) - annotate - [select for diffs], Sat Feb 25 00:35:40 2023 UTC (13 months, 3 weeks ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, HEAD
Changes since 1.52: +8 -8 lines
Diff to previous 1.52 (colored)

xencons(4): Nix trailing whitespace.

No functional change intended.

Revision 1.52 / (download) - annotate - [select for diffs], Sat Feb 25 00:33:38 2023 UTC (13 months, 3 weeks ago) by riastradh
Branch: MAIN
Changes since 1.51: +3 -4 lines
Diff to previous 1.51 (colored)

xencons(4): Reduce unnecessary membars.

- xencons_handler: After advancing in_cons, only need one xen_wmb
  before notifying the hypervisor that we're ready for more.

  (XXX Should this do xen_mb and re-check in_prod at that point, or
  does hypervisor_notify_via_evtchn obviate the need for this?)

- xenvonscn_getc: After reading in_prod, only need one xen_rmb before
  using the slots it is telling us are now ready.

Revision 1.51 / (download) - annotate - [select for diffs], Sat Feb 25 00:33:27 2023 UTC (13 months, 3 weeks ago) by riastradh
Branch: MAIN
Changes since 1.50: +5 -5 lines
Diff to previous 1.50 (colored)

xencons(4): Membar audit.

- xenconscn_getc: Once we have consumed an input slot, it is clearer
  to issue xen_wmb (release, i.e., load/store-before-store) before
  advancing in_cons so that the update becomes a store-release
  freeing the input slot for the other side to reuse.

- xenconscn_putc: After filling an output slot, must issue xen_wmb
  (release, i.e., load/store-before-store) before advancing out_prod,
  and another one before notifying the other side of the advance.

Revision 1.50 / (download) - annotate - [select for diffs], Thu May 7 19:25:57 2020 UTC (3 years, 11 months ago) by maxv
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, netbsd-10-base, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Branch point for: netbsd-10
Changes since 1.49: +36 -40 lines
Diff to previous 1.49 (colored)

Localify.

Revision 1.49 / (download) - annotate - [select for diffs], Sat Apr 25 15:26:18 2020 UTC (3 years, 11 months ago) by bouyer
Branch: MAIN
Changes since 1.48: +3 -2 lines
Diff to previous 1.48 (colored)

Merge the bouyer-xenpvh branch, bringing in Xen PV drivers support under HVM
guests in GENERIC.
Xen support can be disabled at runtime with
boot -c
disable hypervisor

Revision 1.48.10.1 / (download) - annotate - [select for diffs], Thu Apr 16 08:46:36 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.48: +3 -2 lines
Diff to previous 1.48 (colored) next main 1.49 (colored)

Reorganise sources to make it possible to include Xen PVHVM support in
native kernels. Among others:
- move xen/include/amd64/hypercall.h to amd64/include/xen and
  xen/include/i386/hypercall.h to i386/include/xen
- exclude some native files from the build for xenpv
- add xen to "machine" config statement for amd64 and i386
- split arch/xen/conf/files.xen to arch/xen/conf/files.xen (for pv drivers)
  and arch/xen/conf/files.xen.pv (for full pv support)
- add GENERIC_XENHVM kernel config which includes GENERIC and add Xen PV
  drivers.

Revision 1.44.2.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.44: +7 -7 lines
Diff to previous 1.44 (colored) next main 1.45 (colored)

Sync with HEAD

Revision 1.48 / (download) - annotate - [select for diffs], Sat Feb 2 12:32:55 2019 UTC (5 years, 2 months ago) by cherry
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, 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, is-mlppp-base, is-mlppp, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Branch point for: bouyer-xenpvh
Changes since 1.47: +3 -3 lines
Diff to previous 1.47 (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.43.2.3 / (download) - annotate - [select for diffs], Wed Dec 26 14:01:46 2018 UTC (5 years, 3 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.43.2.2: +5 -5 lines
Diff to previous 1.43.2.2 (colored) to branchpoint 1.43 (colored) next main 1.44 (colored)

Sync with HEAD, resolve a few conflicts

Revision 1.47 / (download) - annotate - [select for diffs], Mon Dec 24 14:55:42 2018 UTC (5 years, 3 months ago) by cherry
Branch: MAIN
CVS Tags: pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226
Changes since 1.46: +5 -5 lines
Diff to previous 1.46 (colored)

Bifurcate the interrupt establish functions between XEN and non-XEN

Thus intr_establish_xname() becomes xen_intr_establish_xname() etc.

One consequence of this is that dom0 devices expect the native
function calls to be available and we thus provide weak aliasing for
dom0 builds to succeed. XEN and non-XEN devices are distinguished by
the PIC they are established on. XEN interrupts are exclusively
established on xen_pic, while dom0 interrupts are established on
natively available PICs.

This allows us an orthogonal path to xen device management (eg:
xenstore events) in XENPVHVM, without having to worry about unifying
the vector entry paths, etc., which is quite challenging.

Revision 1.43.2.2 / (download) - annotate - [select for diffs], Mon Nov 26 01:52:28 2018 UTC (5 years, 4 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.43.2.1: +5 -5 lines
Diff to previous 1.43.2.1 (colored) to branchpoint 1.43 (colored)

Sync with HEAD, resolve a couple of conflicts

Revision 1.46 / (download) - annotate - [select for diffs], Fri Oct 26 05:33:21 2018 UTC (5 years, 5 months ago) by cherry
Branch: MAIN
CVS Tags: pgoyette-compat-1126
Changes since 1.45: +3 -3 lines
Diff to previous 1.45 (colored)

Decompose hypervisor_enable_event() into functional steps.

The hypervisor_unmask_event() step is relevant for any event.

The pirq related step is only relevant for pirq bound events.

Prune blanket usage of this, so that usage is semantically appropriate.

Revision 1.45 / (download) - annotate - [select for diffs], Wed Oct 24 03:59:33 2018 UTC (5 years, 5 months ago) by cherry
Branch: MAIN
Changes since 1.44: +4 -4 lines
Diff to previous 1.44 (colored)

When using the intr_establish_xname() interface to register
XEN events, follow established x86/intr.c conventions - set
the 'legacy' irq value to -1, to indicate that the pic, pin
combination (&xen_pic, port) is used for registration.

Revision 1.43.2.1 / (download) - annotate - [select for diffs], Mon Jun 25 07:25:48 2018 UTC (5 years, 9 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.43: +6 -5 lines
Diff to previous 1.43 (colored)

Sync with HEAD

Revision 1.44 / (download) - annotate - [select for diffs], Sun Jun 24 13:35:33 2018 UTC (5 years, 9 months ago) by jdolecek
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625
Branch point for: phil-wifi
Changes since 1.43: +6 -5 lines
Diff to previous 1.43 (colored)

add support for kern.intr.list aka intrctl(8) 'list' for xen

event_set_handler() and pirq_establish() now have extra intrname
parameter; shared intr_create_intrid() is used to provide the value

xen drivers were changed to pass the specific driver instance
name as the xname, e.g.  'vcpu0 clock' instead just 'clock', or
'xencons0' instead of 'xencons'

associated evcnt is now changed to use intrname - this matches native x86

Revision 1.39.6.2 / (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.39.6.1: +11 -11 lines
Diff to previous 1.39.6.1 (colored) to branchpoint 1.39 (colored) next main 1.40 (colored)

update from HEAD

Revision 1.43 / (download) - annotate - [select for diffs], Sat Nov 11 21:03:01 2017 UTC (6 years, 5 months ago) by riastradh
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, pgoyette-compat-base, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315
Branch point for: pgoyette-compat
Changes since 1.42: +8 -6 lines
Diff to previous 1.42 (colored)

Restore MP-safety annotations in intr_establish_xname.

In the old API, event_set_handler would assume MP-unsafe for IPL_VM
and MP-safe for all other levels (IPL_SCHED, IPL_HIGH).  The recent
Xen interrupt rototill started passing known_mpsafe=true for _all_
interrupt handlers.  Change it to known_mpsafe=false for the IPL_VM
(= IPL_CLOCK, IPL_NET) ones.

Revision 1.42 / (download) - annotate - [select for diffs], Mon Nov 6 15:27:09 2017 UTC (6 years, 5 months ago) by cherry
Branch: MAIN
Changes since 1.41: +11 -13 lines
Diff to previous 1.41 (colored)

Switch XEN drivers to use intr_establish_xname()/intr_disestablish()

This completes the API transition.

Revision 1.39.6.1 / (download) - annotate - [select for diffs], Wed Aug 20 00:03:30 2014 UTC (9 years, 8 months ago) by tls
Branch: tls-maxphys
Changes since 1.39: +14 -5 lines
Diff to previous 1.39 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.40.2.1 / (download) - annotate - [select for diffs], Sun Aug 10 06:54:11 2014 UTC (9 years, 8 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.40: +3 -2 lines
Diff to previous 1.40 (colored) next main 1.41 (colored)

Rebase.

Revision 1.41 / (download) - annotate - [select for diffs], Fri Jul 25 08:10:35 2014 UTC (9 years, 8 months ago) by dholland
Branch: MAIN
CVS Tags: tls-maxphys-base, tls-earlyentropy-base, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, nick-nhusb-base-20161204, 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, nick-nhusb, 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, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, 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, netbsd-7, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Changes since 1.40: +3 -2 lines
Diff to previous 1.40 (colored)

Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.

Revision 1.38.2.2 / (download) - annotate - [select for diffs], Thu May 22 11:40:14 2014 UTC (9 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.38.2.1: +13 -5 lines
Diff to previous 1.38.2.1 (colored) to branchpoint 1.38 (colored) next main 1.39 (colored)

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

Revision 1.39.10.1 / (download) - annotate - [select for diffs], Sun May 18 17:45:30 2014 UTC (9 years, 11 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.39: +13 -5 lines
Diff to previous 1.39 (colored) next main 1.40 (colored)

sync with head

Revision 1.40 / (download) - annotate - [select for diffs], Sun Mar 16 05:20:26 2014 UTC (10 years, 1 month ago) by dholland
Branch: MAIN
CVS Tags: yamt-pagecache-base9, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3
Branch point for: tls-earlyentropy
Changes since 1.39: +13 -5 lines
Diff to previous 1.39 (colored)

Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.

Revision 1.38.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:07:12 2012 UTC (12 years ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.38: +3 -3 lines
Diff to previous 1.38 (colored)

sync with head

Revision 1.38.6.1 / (download) - annotate - [select for diffs], Sat Feb 18 07:33:47 2012 UTC (12 years, 2 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.38: +3 -3 lines
Diff to previous 1.38 (colored) next main 1.39 (colored)

merge to -current.

Revision 1.39 / (download) - annotate - [select for diffs], Wed Dec 7 15:47:43 2011 UTC (12 years, 4 months ago) by cegger
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, netbsd-6-base, 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, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, khorben-n900, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10, agc-symver-base, agc-symver
Branch point for: tls-maxphys, rmind-smpnet
Changes since 1.38: +3 -3 lines
Diff to previous 1.38 (colored)

switch from xen3-public to xen-public.

Revision 1.38 / (download) - annotate - [select for diffs], Tue Sep 20 00:12:24 2011 UTC (12 years, 7 months ago) by jym
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, jmcneill-usbmp
Changes since 1.37: +58 -18 lines
Diff to previous 1.37 (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.31.2.10 / (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.31.2.9: +2 -3 lines
Diff to previous 1.31.2.9 (colored) to branchpoint 1.31 (colored) next main 1.32 (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.37 / (download) - annotate - [select for diffs], Sun Jul 17 20:54:49 2011 UTC (12 years, 9 months ago) by joerg
Branch: MAIN
CVS Tags: jym-xensuspend-nbase, jym-xensuspend-base
Changes since 1.36: +2 -3 lines
Diff to previous 1.36 (colored)

Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.

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

Sync with HEAD.

Revision 1.35.4.1 / (download) - annotate - [select for diffs], Tue May 31 03:04:24 2011 UTC (12 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.35: +4 -4 lines
Diff to previous 1.35 (colored) next main 1.36 (colored)

sync with head

Revision 1.31.2.9 / (download) - annotate - [select for diffs], Sat May 7 17:39:47 2011 UTC (12 years, 11 months ago) by jym
Branch: jym-xensuspend
Changes since 1.31.2.8: +2 -3 lines
Diff to previous 1.31.2.8 (colored) to branchpoint 1.31 (colored)

KNF.

Revision 1.31.2.8 / (download) - annotate - [select for diffs], Mon May 2 22:49:59 2011 UTC (12 years, 11 months ago) by jym
Branch: jym-xensuspend
Changes since 1.31.2.7: +4 -4 lines
Diff to previous 1.31.2.7 (colored) to branchpoint 1.31 (colored)

Sync with head.

Revision 1.36 / (download) - annotate - [select for diffs], Sun Apr 24 16:26:51 2011 UTC (12 years, 11 months ago) by rmind
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base, cherry-xenmp
Changes since 1.35: +4 -4 lines
Diff to previous 1.35 (colored)

Rename ttymalloc() to tty_alloc(), and ttyfree() to tty_free() for
consistency.  Remove some unnecessary malloc.h inclusions as well.

Revision 1.31.2.7 / (download) - annotate - [select for diffs], Sun Oct 24 22:48:23 2010 UTC (13 years, 5 months ago) by jym
Branch: jym-xensuspend
Changes since 1.31.2.6: +6 -6 lines
Diff to previous 1.31.2.6 (colored) to branchpoint 1.31 (colored)

Sync with HEAD

Revision 1.27.4.4 / (download) - annotate - [select for diffs], Thu Mar 11 15:03:11 2010 UTC (14 years, 1 month ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.27.4.3: +2 -12 lines
Diff to previous 1.27.4.3 (colored) to branchpoint 1.27 (colored) next main 1.28 (colored)

sync with head

Revision 1.31.2.6 / (download) - annotate - [select for diffs], Sun Nov 1 21:43:28 2009 UTC (14 years, 5 months ago) by jym
Branch: jym-xensuspend
Changes since 1.31.2.5: +59 -18 lines
Diff to previous 1.31.2.5 (colored) to branchpoint 1.31 (colored)

- Upgrade suspend/resume code to comply with Xen2 removal.
- Add support for PAE domUs suspend/resume.
- Fix an issue regarding initialization of the xbd ring I/O that could end
badly during resume, with invalid block operations submitted to dom0 backend.

NetBSD supports PAE under x86_32 by considering the L2 page as being
4 pages long instead of 1.

Xen validates the page types during resume. Sadly, the hypervisor handles
alternative recursive mappings (== PG/PD entries pointing to pages other
than self) inadequately, which could lead to incorrect page pinning.

As a result, the important change with this patch is to clear these alternative
mappings during suspend, and reset them back to their former self upon
resume. For PAE, approx. all 4 PDIR_SLOT_PTEs could be considered as
alternative recursive mappings.

See comments in pmap.c for further details.

Now, let the testing and bug hunting begin.

Revision 1.31.2.5 / (download) - annotate - [select for diffs], Sun Nov 1 13:58:47 2009 UTC (14 years, 5 months ago) by jym
Branch: jym-xensuspend
Changes since 1.31.2.4: +21 -200 lines
Diff to previous 1.31.2.4 (colored) to branchpoint 1.31 (colored)

Sync with HEAD.

Revision 1.35 / (download) - annotate - [select for diffs], Fri Oct 23 02:32:34 2009 UTC (14 years, 5 months ago) by snj
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base7, uebayasi-xip-base6, uebayasi-xip-base5, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, uebayasi-xip, matt-premerge-20091211, matt-mips64-premerge-20101231, jruoho-x86intr-base, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: rmind-uvmplock, jruoho-x86intr
Changes since 1.34: +2 -7 lines
Diff to previous 1.34 (colored)

Remove 3rd and 4th clauses.  OK cl@ (copyright holder).

Revision 1.34 / (download) - annotate - [select for diffs], Mon Oct 19 18:41:11 2009 UTC (14 years, 6 months ago) by bouyer
Branch: MAIN
Changes since 1.33: +2 -7 lines
Diff to previous 1.33 (colored)

Remove closes 3 & 4 from my licence. Lots of thanks to Soren Jacobsen
for the booring work !

Revision 1.27.4.3 / (download) - annotate - [select for diffs], Wed Aug 19 18:46:56 2009 UTC (14 years, 8 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.27.4.2: +4 -130 lines
Diff to previous 1.27.4.2 (colored) to branchpoint 1.27 (colored)

sync with head.

Revision 1.33 / (download) - annotate - [select for diffs], Wed Jul 29 12:02:10 2009 UTC (14 years, 8 months ago) by cegger
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7
Changes since 1.32: +4 -130 lines
Diff to previous 1.32 (colored)

remove Xen2 support.
ok bouyer@

Revision 1.31.2.4 / (download) - annotate - [select for diffs], Fri Jul 24 11:30:28 2009 UTC (14 years, 8 months ago) by jym
Branch: jym-xensuspend
Changes since 1.31.2.3: +18 -19 lines
Diff to previous 1.31.2.3 (colored) to branchpoint 1.31 (colored)

- rework the page pinning API, so that now a function is provided for
each level of indirection encountered during virtual memory translations. Update
pmap accordingly. Pinning looks cleaner that way, and it offers the possibility
to pin lower level pages if necessary (NetBSD does not do it currently).

- some fixes and comments to explain how page validation/invalidation take
place during save/restore/migrate under Xen. L2 shadow entries from PAE are now
handled, so basically, suspend/resume works with PAE.

- fixes an issue reported by Christoph (cegger@) for xencons suspend/resume
in dom0.

TODO:

- PAE save/restore is currently limited to single-user only, multi-user
support requires modifications in PAE pmap that should be discussed first. See
the comments about the L2 shadow pages cached in pmap_pdp_cache in this commit.

- grant table bug is still there; do not use the kernels of this branch
to test suspend/resume, unless you want to experience bad crashes in dom0,
and push the big red button.

Now there is light at the end of the tunnel :)

Note: XEN2 kernels will neither build nor work with this branch.

Revision 1.31.2.3 / (download) - annotate - [select for diffs], Thu Jul 23 23:31:38 2009 UTC (14 years, 8 months ago) by jym
Branch: jym-xensuspend
Changes since 1.31.2.2: +6 -2 lines
Diff to previous 1.31.2.2 (colored) to branchpoint 1.31 (colored)

Sync with HEAD.

Revision 1.27.4.2 / (download) - annotate - [select for diffs], Sat Jun 20 07:20:13 2009 UTC (14 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.27.4.1: +6 -2 lines
Diff to previous 1.27.4.1 (colored) to branchpoint 1.27 (colored)

sync with head

Revision 1.32 / (download) - annotate - [select for diffs], Tue Jun 9 16:08:00 2009 UTC (14 years, 10 months ago) by cegger
Branch: MAIN
CVS Tags: yamt-nfs-mp-base6, yamt-nfs-mp-base5, jymxensuspend-base
Changes since 1.31: +6 -2 lines
Diff to previous 1.31 (colored)

Fix crash on Dom0 resume.
A xencons interrupt may occur before xencons device has been resumed.
Fix tested in jym-xensuspend branch.

Revision 1.31.2.2 / (download) - annotate - [select for diffs], Sun May 31 20:15:37 2009 UTC (14 years, 10 months ago) by jym
Branch: jym-xensuspend
Changes since 1.31.2.1: +5 -5 lines
Diff to previous 1.31.2.1 (colored) to branchpoint 1.31 (colored)

Modifications for the Xen suspend/migrate/resume branch:

- introduce xenbus_device_{suspend,resume}() functions. These are routines
used to suspend/resume MI parts of the Xenbus device interfaces, like updating
frontend/backend devices' paths found in XenStore.

- introduce HYPERVISOR_sysctl(), an hypercall used only by Xentools to obtain
information from hypervisor (listing VMs, printing console, etc.). I use it
to query xenconsole from ddb(), as a last resort in case of a panic() in
dom0 (xm being not available). Currently unused in the branch; could be, if
requested.

- disable the rwlock(9) used to protect code that could use transient MFNs.
It could trigger nasty context switches in place it should not to.

- fix some bugs in the xennet/xbd suspend/resume pmf(9) handlers.

- following XenSource's design, talk_to_otherend() is now called
watch_otherend(), and free_otherend_details() is used by Xenbus device
suspend/resume routines.

- some slight modifications in pmap regarding APDP. Introduce an inline
function (pmap_unmap_apdp_pde()) that clears APDP entry for the current pmap.

- similarly, implement pmap_unmap_all_apdp_pdes() that iterates through all
pmaps and tears down APDP, as Xen does not handle them properly.

TODO/XXX:

- pmap_unmap_apdp_pde() does not handle APDP shadow entry of PAE. It will,
once I figure out how PAE uses it.

- revisit the pmap locking issue regarding transient MFNs. As NetBSD does not
use kernel preemption and MP for Xen, this could be skipped momentarily. See
http://mail-index.netbsd.org/port-xen/2009/04/27/msg004903.html for details.

- fix a bug regarding grant tables which could technically DoS a dom0 if
ridiculously high consumer/producer indexes are passed down in the ring during
a resume.

All in all, once the grant table index issue and APDP PAE are fixed, next step
is to torture test this branch.

Tested under i386 PAE and non-PAE, Xen3 dom0 and domU. amd64 is only compile
tested.

Revision 1.27.4.1 / (download) - annotate - [select for diffs], Mon May 4 08:12:14 2009 UTC (14 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.27: +30 -31 lines
Diff to previous 1.27 (colored)

sync with head.

Revision 1.31.2.1 / (download) - annotate - [select for diffs], Mon Feb 9 00:03:55 2009 UTC (15 years, 2 months ago) by jym
Branch: jym-xensuspend
Changes since 1.31: +66 -22 lines
Diff to previous 1.31 (colored)

Initial code for xen save/restore/migrate facilities.

- split the attach code of frontends in two half: one that is only needed
during autoconf(9) attach/detach phases, and one used at each save/restore
of device state (between suspend and resume).

Applies to hypervisor, xencons, xenbus, xbd, and xennet.

- add a rwlock(9) ("ptom_lock") to protect the different parts in the kernel
 that manipulate MFNs (which could change between a suspend and a resume,
without the kernel noticing it). Parts that require MFNs acquire a reader lock,
while suspend code will acquire a writer lock to ensure that no-other parts
in kernel still use MFNs.

- integrate the suspend code with sysmon.

- various things in pmap(9), and clock.

TODO:
- factorize code a bit more inside frontends drivers.
- remove all alternative recursive (APDP_PDE) mappings found in PD/PT during
suspend, as Xen does not support them.
- abstract the ptom_lock locking, it is only required when kernel preemption
is enabled, or on MP systems.

Current code works mostly. You may experience difficulties in some corner
cases (dom0 warnings about xennet interface errors, and Xen tools failing to
 validate NetBSD's alternative pmaps).

Revision 1.29.2.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:17:12 2009 UTC (15 years, 3 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.29: +22 -22 lines
Diff to previous 1.29 (colored) next main 1.30 (colored)

Sync with HEAD.

Revision 1.25.14.3 / (download) - annotate - [select for diffs], Sat Jan 17 13:28:40 2009 UTC (15 years, 3 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.25.14.2: +25 -26 lines
Diff to previous 1.25.14.2 (colored) to branchpoint 1.25 (colored) next main 1.26 (colored)

Sync with HEAD.

Revision 1.31 / (download) - annotate - [select for diffs], Fri Jan 16 20:16:47 2009 UTC (15 years, 3 months ago) by jym
Branch: MAIN
CVS Tags: yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, mjf-devfs2-base
Branch point for: jym-xensuspend
Changes since 1.30: +16 -16 lines
Diff to previous 1.30 (colored)

Replace x86 memory fences in Xen drivers by their Xen equivalents, to reduce
MD dependency:

x86_lfence() => xen_rmb()
x86_sfence() => xen_wmb()
x86_mfence() => xen_mb()

Discussed in
http://mail-index.netbsd.org/port-xen/2009/01/15/msg004655.html

Ok by bouyer@.

Revision 1.27.10.2 / (download) - annotate - [select for diffs], Sat Dec 13 01:13:43 2008 UTC (15 years, 4 months ago) by haad
Branch: haad-dm
Changes since 1.27.10.1: +13 -14 lines
Diff to previous 1.27.10.1 (colored) to branchpoint 1.27 (colored) next main 1.28 (colored)

Update haad-dm branch to haad-dm-base2.

Revision 1.30 / (download) - annotate - [select for diffs], Thu Nov 13 18:44:51 2008 UTC (15 years, 5 months ago) by cegger
Branch: MAIN
CVS Tags: haad-nbase2, haad-dm-base2, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Changes since 1.29: +8 -8 lines
Diff to previous 1.29 (colored)

Finish preparation to new interface.
New interface not yet used by default. It needs some testing first.

Revision 1.29 / (download) - annotate - [select for diffs], Tue Oct 21 15:46:32 2008 UTC (15 years, 6 months ago) by cegger
Branch: MAIN
CVS Tags: netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2
Branch point for: nick-hppapmap
Changes since 1.28: +7 -8 lines
Diff to previous 1.28 (colored)

introduce two macros: xendomain_is_dom0() and xendomain_is_privileged(). Use them.

Revision 1.27.10.1 / (download) - annotate - [select for diffs], Sun Oct 19 22:16:13 2008 UTC (15 years, 6 months ago) by haad
Branch: haad-dm
Changes since 1.27: +5 -5 lines
Diff to previous 1.27 (colored)

Sync with HEAD.

Revision 1.25.14.2 / (download) - annotate - [select for diffs], Sun Sep 28 10:40:14 2008 UTC (15 years, 6 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.25.14.1: +3 -3 lines
Diff to previous 1.25.14.1 (colored) to branchpoint 1.25 (colored)

Sync with HEAD.

Revision 1.27.6.1 / (download) - annotate - [select for diffs], Thu Sep 18 04:33:39 2008 UTC (15 years, 7 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.27: +5 -5 lines
Diff to previous 1.27 (colored) next main 1.28 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.28 / (download) - annotate - [select for diffs], Sun Aug 10 13:33:44 2008 UTC (15 years, 8 months ago) by cegger
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, haad-dm-base1
Changes since 1.27: +5 -5 lines
Diff to previous 1.27 (colored)

- beggining -> beginning
- xenconscn_attach: ansify
- xenconscn_putc: KNF

Revision 1.25.14.1 / (download) - annotate - [select for diffs], Mon Jun 2 13:22:55 2008 UTC (15 years, 10 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.25: +23 -23 lines
Diff to previous 1.25 (colored)

Sync with HEAD.

Revision 1.27 / (download) - annotate - [select for diffs], Wed Apr 16 18:41:48 2008 UTC (16 years ago) by cegger
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, yamt-nfs-mp-base2, yamt-nfs-mp-base, wrstuden-revivesa-base-1, wrstuden-revivesa-base, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, hpcarm-cleanup-nbase
Branch point for: yamt-nfs-mp, wrstuden-revivesa, haad-dm
Changes since 1.26: +24 -24 lines
Diff to previous 1.26 (colored)

device_t / softc split
reviewed, tested and approved by bouyer

Revision 1.26 / (download) - annotate - [select for diffs], Sun Apr 6 07:24:20 2008 UTC (16 years ago) by cegger
Branch: MAIN
Changes since 1.25: +7 -7 lines
Diff to previous 1.25 (colored)

use aprint_*_dev and device_xname

Revision 1.22.20.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:50:23 2008 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.22.20.1: +8 -15 lines
Diff to previous 1.22.20.1 (colored) to branchpoint 1.22 (colored) next main 1.23 (colored)

sync with HEAD

Revision 1.23.2.1 / (download) - annotate - [select for diffs], Sat Dec 8 18:18:29 2007 UTC (16 years, 4 months ago) by mjf
Branch: mjf-devfs
Changes since 1.23: +8 -15 lines
Diff to previous 1.23 (colored) next main 1.24 (colored)

Sync with HEAD.

Revision 1.8.2.6 / (download) - annotate - [select for diffs], Fri Dec 7 17:27:24 2007 UTC (16 years, 4 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.8.2.5: +8 -15 lines
Diff to previous 1.8.2.5 (colored) to branchpoint 1.8 (colored) next main 1.9 (colored)

sync with head

Revision 1.22.2.2 / (download) - annotate - [select for diffs], Mon Dec 3 18:40:49 2007 UTC (16 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.22.2.1: +8 -15 lines
Diff to previous 1.22.2.1 (colored) to branchpoint 1.22 (colored) next main 1.23 (colored)

Sync with HEAD.

Revision 1.22.18.3 / (download) - annotate - [select for diffs], Tue Nov 27 19:36:32 2007 UTC (16 years, 4 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.22.18.2: +7 -7 lines
Diff to previous 1.22.18.2 (colored) to branchpoint 1.22 (colored) next main 1.23 (colored)

Sync with HEAD. amd64 Xen support needs testing.

Revision 1.25 / (download) - annotate - [select for diffs], Thu Nov 22 16:17:09 2007 UTC (16 years, 5 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-lazymbuf-base15, yamt-lazymbuf-base14, yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking2, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, jmcneill-pm-base, hpcarm-cleanup-base, cube-autoconf-base, cube-autoconf, bouyer-xeni386-nbase, bouyer-xeni386-merge1, bouyer-xeni386-base, bouyer-xeni386, ad-socklock-base1
Branch point for: mjf-devfs2
Changes since 1.24: +7 -7 lines
Diff to previous 1.24 (colored)

Pull up the bouyer-xenamd64 branch to HEAD. This brings in amd64 support
to NetBSD/Xen, both Dom0 and DomU.

Revision 1.22.18.2 / (download) - annotate - [select for diffs], Wed Nov 21 21:53:44 2007 UTC (16 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.22.18.1: +3 -10 lines
Diff to previous 1.22.18.1 (colored) to branchpoint 1.22 (colored)

Sync with HEAD.

Revision 1.22.24.3 / (download) - annotate - [select for diffs], Wed Nov 21 21:19:26 2007 UTC (16 years, 5 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.22.24.2: +1 -8 lines
Diff to previous 1.22.24.2 (colored) to branchpoint 1.22 (colored) next main 1.23 (colored)

Sync with HEAD

Revision 1.24 / (download) - annotate - [select for diffs], Mon Nov 19 18:51:45 2007 UTC (16 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: bouyer-xenamd64-base2, bouyer-xenamd64-base
Changes since 1.23: +3 -10 lines
Diff to previous 1.23 (colored)

- Factor out too many copies of the same bit of tty code.
- Fix another tty signalling/wakeup problem.

Revision 1.22.20.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:24:35 2007 UTC (16 years, 5 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.22: +3 -3 lines
Diff to previous 1.22 (colored)

sync with HEAD

Revision 1.8.2.5 / (download) - annotate - [select for diffs], Sat Oct 27 11:29:27 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.8.2.4: +3 -3 lines
Diff to previous 1.8.2.4 (colored) to branchpoint 1.8 (colored)

sync with head.

Revision 1.22.18.1 / (download) - annotate - [select for diffs], Fri Oct 26 15:43:49 2007 UTC (16 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.22: +3 -3 lines
Diff to previous 1.22 (colored)

Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.

Revision 1.22.24.2 / (download) - annotate - [select for diffs], Thu Oct 25 22:36:49 2007 UTC (16 years, 5 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.22.24.1: +3 -3 lines
Diff to previous 1.22.24.1 (colored) to branchpoint 1.22 (colored)

Sync with HEAD.

Revision 1.22.2.1 / (download) - annotate - [select for diffs], Tue Oct 23 20:14:45 2007 UTC (16 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.22: +3 -3 lines
Diff to previous 1.22 (colored)

Sync with head.

Revision 1.23 / (download) - annotate - [select for diffs], Thu Oct 18 18:54:59 2007 UTC (16 years, 6 months ago) by joerg
Branch: MAIN
CVS Tags: jmcneill-base
Branch point for: mjf-devfs
Changes since 1.22: +3 -3 lines
Diff to previous 1.22 (colored)

Initialise the callbacks for tty.t_rstrt_ch in ttymalloc
as all drivers but Sun/SPARC's kd.c use the same arguments.
Separate callout_reset into callout_schedule and the initial
callout_setfunc using that.

Revision 1.22.24.1 / (download) - annotate - [select for diffs], Wed Oct 17 21:08:26 2007 UTC (16 years, 6 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.22: +7 -7 lines
Diff to previous 1.22 (colored)

Prepare for xenamd64:
- kill xen/i386/identcpu.c, use i386/i386/identcpu.c instead (with a few
  #ifndef XEN)
- move some files that can be shared between i386 and amd64 from
  xen/i386 to xen/x86 (or to xen/xen for non-cpu-specific code)
- split assembly out of xen/include/hypervisor.h to xen/include/hypercalls.h
- use <xen/...> instead of <machine/...> for cpu-independant include files.

more work needed here, i386-specific files should got out of arch/xen to
arch/xeni386, and more code shared with arch/i386.

Revision 1.8.2.4 / (download) - annotate - [select for diffs], Mon Sep 3 14:31:38 2007 UTC (16 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.8.2.3: +3 -3 lines
Diff to previous 1.8.2.3 (colored) to branchpoint 1.8 (colored)

sync with head.

Revision 1.21.2.1 / (download) - annotate - [select for diffs], Mon Mar 12 05:51:50 2007 UTC (17 years, 1 month ago) by rmind
Branch: yamt-idlelwp
Changes since 1.21: +3 -3 lines
Diff to previous 1.21 (colored) next main 1.22 (colored)

Sync with HEAD.

Revision 1.22 / (download) - annotate - [select for diffs], Sun Mar 4 06:01:11 2007 UTC (17 years, 1 month ago) by christos
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, yamt-idlelwp-base8, vmlocking-base, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup, ppcoea-renovation-base, ppcoea-renovation, nick-csl-alignment-base5, nick-csl-alignment-base, nick-csl-alignment, mjf-ufs-trans-base, mjf-ufs-trans, matt-mips64-base, matt-mips64, hpcarm-cleanup
Branch point for: vmlocking, matt-armv6, jmcneill-pm, bouyer-xenamd64
Changes since 1.21: +3 -3 lines
Diff to previous 1.21 (colored)

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.

Revision 1.8.2.3 / (download) - annotate - [select for diffs], Mon Feb 26 09:08:57 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.8.2.2: +10 -9 lines
Diff to previous 1.8.2.2 (colored) to branchpoint 1.8 (colored)

sync with head.

Revision 1.18.4.3 / (download) - annotate - [select for diffs], Thu Feb 1 08:48:13 2007 UTC (17 years, 2 months ago) by ad
Branch: newlock2
Changes since 1.18.4.2: +2 -3 lines
Diff to previous 1.18.4.2 (colored) to branchpoint 1.18 (colored) next main 1.19 (colored)

Sync with head.

Revision 1.21 / (download) - annotate - [select for diffs], Mon Jan 29 01:52:46 2007 UTC (17 years, 2 months ago) by hubertf
Branch: MAIN
CVS Tags: post-newlock2-merge, newlock2-nbase, newlock2-base, ad-audiomp-base, ad-audiomp
Branch point for: yamt-idlelwp
Changes since 1.20: +2 -3 lines
Diff to previous 1.20 (colored)

Remove more duplicate headers.
Patch by Slava Semushin <slava.semushin@gmail.com>

Again, this was tested by comparing obj files from a pristine and a patched
source tree against an i386/ALL kernel, and also for src/sbin/fsck_ffs,
src/sbin/fsdb and src/usr.sbin/makefs. Only changes in assert() line numbers
were detected in 'objdump -d' output.

Revision 1.18.4.2 / (download) - annotate - [select for diffs], Fri Jan 12 01:01:02 2007 UTC (17 years, 3 months ago) by ad
Branch: newlock2
Changes since 1.18.4.1: +10 -8 lines
Diff to previous 1.18.4.1 (colored) to branchpoint 1.18 (colored)

Sync with head.

Revision 1.4.2.6.2.1 / (download) - annotate - [select for diffs], Mon Jan 8 22:31:31 2007 UTC (17 years, 3 months ago) by tron
Branch: netbsd-3-1
CVS Tags: netbsd-3-1-1-RELEASE
Changes since 1.4.2.6: +8 -6 lines
Diff to previous 1.4.2.6 (colored) next main 1.4.2.7 (colored)

Pull up following revision(s) (requested by bouyer in ticket #1625):
	sys/arch/xen/xen/xencons.c: revision 1.20
- Add or change memory barrier to reflect the related operation
- In xencons_handler(), update in_cons inside the loop, otherwise,
  we would trigger the xenconscn_getc() workaround wich reset cons and prod
  to their original values, and this creates an infinite loop
Should fix the console hang reported by several users on port-xen@.

Revision 1.4.2.7 / (download) - annotate - [select for diffs], Mon Jan 8 22:31:28 2007 UTC (17 years, 3 months ago) by tron
Branch: netbsd-3
Changes since 1.4.2.6: +8 -6 lines
Diff to previous 1.4.2.6 (colored) to branchpoint 1.4 (colored) next main 1.5 (colored)

Pull up following revision(s) (requested by bouyer in ticket #1625):
	sys/arch/xen/xen/xencons.c: revision 1.20
- Add or change memory barrier to reflect the related operation
- In xencons_handler(), update in_cons inside the loop, otherwise,
  we would trigger the xenconscn_getc() workaround wich reset cons and prod
  to their original values, and this creates an infinite loop
Should fix the console hang reported by several users on port-xen@.

Revision 1.19.2.1 / (download) - annotate - [select for diffs], Mon Jan 8 22:26:31 2007 UTC (17 years, 3 months ago) by tron
Branch: netbsd-4
CVS Tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, matt-nb4-arm-base, matt-nb4-arm
Changes since 1.19: +10 -8 lines
Diff to previous 1.19 (colored) next main 1.20 (colored)

Pull up following revision(s) (requested by bouyer in ticket #342):
	sys/arch/xen/xen/xencons.c: revision 1.20
- Add or change memory barrier to reflect the related operation
- In xencons_handler(), update in_cons inside the loop, otherwise,
  we would trigger the xenconscn_getc() workaround wich reset cons and prod
  to their original values, and this creates an infinite loop
Should fix the console hang reported by several users on port-xen@.

Revision 1.20 / (download) - annotate - [select for diffs], Sun Jan 7 00:02:36 2007 UTC (17 years, 3 months ago) by bouyer
Branch: MAIN
Changes since 1.19: +10 -8 lines
Diff to previous 1.19 (colored)

- Add or change memory barrier to reflect the related operation
- In xencons_handler(), update in_cons inside the loop, otherwise,
  we would trigger the xenconscn_getc() workaround wich reset cons and prod
  to their original values, and this creates an infinite loop

Should fix the console hang reported by several users on port-xen@.

Revision 1.8.2.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:47:25 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.8.2.1: +6 -6 lines
Diff to previous 1.8.2.1 (colored) to branchpoint 1.8 (colored)

sync with head.

Revision 1.18.4.1 / (download) - annotate - [select for diffs], Sat Nov 18 21:29:39 2006 UTC (17 years, 5 months ago) by ad
Branch: newlock2
Changes since 1.18: +6 -6 lines
Diff to previous 1.18 (colored)

Sync with head.

Revision 1.18.6.1 / (download) - annotate - [select for diffs], Sun Oct 22 06:05:20 2006 UTC (17 years, 6 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.18: +6 -6 lines
Diff to previous 1.18 (colored) next main 1.19 (colored)

sync with head

Revision 1.19 / (download) - annotate - [select for diffs], Sun Oct 1 19:28:43 2006 UTC (17 years, 6 months ago) by elad
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-splraiseipl-base2, netbsd-4-base
Branch point for: netbsd-4
Changes since 1.18: +6 -6 lines
Diff to previous 1.18 (colored)

Adapt MD code to KAUTH_DEVICE_TTY_OPEN, batch #2 from Matt Fleming, thanks!

Also, add forgotten splx() calls in some places.

Revision 1.11.2.1 / (download) - annotate - [select for diffs], Sat Sep 9 02:45:05 2006 UTC (17 years, 7 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.11: +61 -27 lines
Diff to previous 1.11 (colored) next main 1.12 (colored)

sync with head

Revision 1.11.6.4 / (download) - annotate - [select for diffs], Fri Aug 11 15:43:16 2006 UTC (17 years, 8 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.11.6.3: +4 -4 lines
Diff to previous 1.11.6.3 (colored) to branchpoint 1.11 (colored) next main 1.12 (colored)

sync with head

Revision 1.18 / (download) - annotate - [select for diffs], Sun Jul 23 22:06:08 2006 UTC (17 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: yamt-splraiseipl-base, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, rpaulo-netinet-merge-pcb-base, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-splraiseipl, newlock2
Changes since 1.17: +4 -4 lines
Diff to previous 1.17 (colored)

Use the LWP cached credentials where sane.

Revision 1.8.2.1 / (download) - annotate - [select for diffs], Wed Jun 21 14:58:23 2006 UTC (17 years, 10 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.8: +242 -27 lines
Diff to previous 1.8 (colored)

sync with head.

Revision 1.11.4.2 / (download) - annotate - [select for diffs], Thu Jun 1 22:35:39 2006 UTC (17 years, 10 months ago) by kardel
Branch: simonb-timecounters
CVS Tags: simonb-timcounters-final
Changes since 1.11.4.1: +57 -27 lines
Diff to previous 1.11.4.1 (colored) to branchpoint 1.11 (colored) next main 1.12 (colored)

Sync with head.

Revision 1.13.4.2 / (download) - annotate - [select for diffs], Wed May 24 15:48:26 2006 UTC (17 years, 10 months ago) by tron
Branch: peter-altq
Changes since 1.13.4.1: +55 -25 lines
Diff to previous 1.13.4.1 (colored) to branchpoint 1.13 (colored) next main 1.14 (colored)

Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.

Revision 1.11.6.3 / (download) - annotate - [select for diffs], Wed May 24 10:57:23 2006 UTC (17 years, 10 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.11.6.2: +57 -27 lines
Diff to previous 1.11.6.2 (colored) to branchpoint 1.11 (colored)

sync with head.

Revision 1.17 / (download) - annotate - [select for diffs], Sun May 14 21:57:13 2006 UTC (17 years, 11 months ago) by elad
Branch: MAIN
CVS Tags: yamt-pdpolicy-base6, yamt-pdpolicy-base5, simonb-timecounters-base, gdamore-uart-base, gdamore-uart, chap-midi-nbase, chap-midi-base, chap-midi
Changes since 1.16: +5 -3 lines
Diff to previous 1.16 (colored)

integrate kauth.

Revision 1.13.2.5 / (download) - annotate - [select for diffs], Sat May 13 10:27:07 2006 UTC (17 years, 11 months ago) by elad
Branch: elad-kernelauth
Changes since 1.13.2.4: +3 -2 lines
Diff to previous 1.13.2.4 (colored) to branchpoint 1.13 (colored) next main 1.14 (colored)

sprinkle some #include <sys/kauth.h> in files that use kauth kpi but
don't include it yet. hopefully this will prevent some fallout.

Revision 1.13.2.4 / (download) - annotate - [select for diffs], Thu May 11 23:27:14 2006 UTC (17 years, 11 months ago) by elad
Branch: elad-kernelauth
Changes since 1.13.2.3: +54 -26 lines
Diff to previous 1.13.2.3 (colored) to branchpoint 1.13 (colored)

sync with head

Revision 1.4.2.6 / (download) - annotate - [select for diffs], Tue May 9 12:57:59 2006 UTC (17 years, 11 months ago) by tron
Branch: netbsd-3
CVS Tags: netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1
Branch point for: netbsd-3-1
Changes since 1.4.2.5: +32 -13 lines
Diff to previous 1.4.2.5 (colored) to branchpoint 1.4 (colored)

Pull up following revision(s) (requested by bouyer in ticket #1305):
	sys/arch/xen/xen/xencons.c: revision 1.15
Fix a race between xenconscn_getc() and xencons_handler() (which seems to be
triggered by recent xen3 hypervisor or tools): check sc->polling in
xencons_handler() and just return if set. Also, run xenconscn_getc() and putc()
at spltty().
While there, mark xencons_interface as volatile and use __UNVOLATILE() where
appropriate; and update the pointers in xencons_handler() if xenconscn_getc()
changed them (avoids replaying ddb commands in shell if ddb got called
by the magic string).

Revision 1.16 / (download) - annotate - [select for diffs], Sun May 7 21:48:35 2006 UTC (17 years, 11 months ago) by bouyer
Branch: MAIN
CVS Tags: elad-kernelauth-base
Changes since 1.15: +25 -16 lines
Diff to previous 1.15 (colored)

Initialise a few things earlier, so that getc() works before the console
is probed for dom0. This makes -c and -d work on Xen3/dom0 kernels.
The kernel still gets a trap on Xen2/dom0.

Revision 1.15 / (download) - annotate - [select for diffs], Wed May 3 20:22:34 2006 UTC (17 years, 11 months ago) by bouyer
Branch: MAIN
Changes since 1.14: +32 -13 lines
Diff to previous 1.14 (colored)

Fix a race between xenconscn_getc() and xencons_handler() (which seems to be
triggered by recent xen3 hypervisor or tools): check sc->polling in
xencons_handler() and just return if set. Also, run xenconscn_getc() and putc()
at spltty().
While there, mark xencons_interface as volatile and use __UNVOLATILE() where
appropriate; and update the pointers in xencons_handler() if xenconscn_getc()
changed them (avoids replaying ddb commands in shell if ddb got called
by the magic string).

Revision 1.11.4.1 / (download) - annotate - [select for diffs], Sat Apr 22 11:38:11 2006 UTC (18 years ago) by simonb
Branch: simonb-timecounters
Changes since 1.11: +8 -4 lines
Diff to previous 1.11 (colored)

Sync with head.

Revision 1.13.2.3 / (download) - annotate - [select for diffs], Wed Apr 19 02:34:03 2006 UTC (18 years ago) by elad
Branch: elad-kernelauth
Changes since 1.13.2.2: +4 -4 lines
Diff to previous 1.13.2.2 (colored) to branchpoint 1.13 (colored)

sync with head - hopefully this will work

Revision 1.4.2.5 / (download) - annotate - [select for diffs], Fri Apr 7 12:51:26 2006 UTC (18 years ago) by tron
Branch: netbsd-3
Changes since 1.4.2.4: +191 -7 lines
Diff to previous 1.4.2.4 (colored) to branchpoint 1.4 (colored)

Apply patch (requested by bouyer in ticket #1245):
Pull up Xen3 domU support. This adds support for the Xen-3 memory bootstrap,
xenstore, and block and network device frontend. Xen-3 support is turned
on by 'options XEN3', which disable Xen-2 support.
Changes affecting non-xen3 specific code:
- xbd and xennet at hypervisor now attaches with xbd_hypervisor and
  xennet_hypervisor
- x86_atomic_* renamed to xen_atomic_*
- use genassim.cf to pull in more constant from include files for assembly
- Map the shared info page from locore.S instead of the 0xffffffff hack
  in xen_machdep.c
- remove some unused code
- some __asm__ __volatile__ -> __asm volatile and __inline__ -> inline
- more debug code

Revision 1.11.6.2 / (download) - annotate - [select for diffs], Sat Apr 1 12:06:36 2006 UTC (18 years ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.11.6.1: +4 -4 lines
Diff to previous 1.11.6.1 (colored) to branchpoint 1.11 (colored)

sync with head.

Revision 1.13.4.1 / (download) - annotate - [select for diffs], Fri Mar 31 09:45:13 2006 UTC (18 years ago) by tron
Branch: peter-altq
Changes since 1.13: +4 -4 lines
Diff to previous 1.13 (colored)

Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.

Revision 1.14 / (download) - annotate - [select for diffs], Tue Mar 28 17:38:29 2006 UTC (18 years ago) by thorpej
Branch: MAIN
CVS Tags: yamt-pdpolicy-base4, yamt-pdpolicy-base3
Changes since 1.13: +4 -4 lines
Diff to previous 1.13 (colored)

Use device_unit().

Revision 1.11.6.1 / (download) - annotate - [select for diffs], Mon Mar 13 09:07:07 2006 UTC (18 years, 1 month ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.11: +6 -2 lines
Diff to previous 1.11 (colored)

sync with head.

Revision 1.13.2.2 / (download) - annotate - [select for diffs], Fri Mar 10 14:54:51 2006 UTC (18 years, 1 month ago) by elad
Branch: elad-kernelauth
Changes since 1.13.2.1: +3 -3 lines
Diff to previous 1.13.2.1 (colored) to branchpoint 1.13 (colored)

generic_authorize() -> kauth_authorize_generic().

Revision 1.13.2.1 / (download) - annotate - [select for diffs], Wed Mar 8 00:43:19 2006 UTC (18 years, 1 month ago) by elad
Branch: elad-kernelauth
Changes since 1.13: +4 -3 lines
Diff to previous 1.13 (colored)

Adapt to kernel authorization KPI.

I expect *some* lossage here...

Revision 1.13 / (download) - annotate - [select for diffs], Mon Mar 6 20:12:09 2006 UTC (18 years, 1 month ago) by bouyer
Branch: MAIN
CVS Tags: yamt-pdpolicy-base2, peter-altq-base
Branch point for: peter-altq, elad-kernelauth
Changes since 1.12: +3 -3 lines
Diff to previous 1.12 (colored)

Add back a cn_check_magic() call which was commented out by mistake in
previous commit.

Revision 1.12 / (download) - annotate - [select for diffs], Mon Mar 6 20:10:51 2006 UTC (18 years, 1 month ago) by bouyer
Branch: MAIN
Changes since 1.11: +7 -3 lines
Diff to previous 1.11 (colored)

xenconscn_getc(): if xencons_console_device is NULL loop here instead
of in ddb.

Revision 1.10.2.1 / (download) - annotate - [select for diffs], Wed Feb 1 14:51:48 2006 UTC (18 years, 2 months ago) by yamt
Branch: yamt-uio_vmspace
Changes since 1.10: +187 -7 lines
Diff to previous 1.10 (colored) next main 1.11 (colored)

sync with head.

Revision 1.11 / (download) - annotate - [select for diffs], Sun Jan 15 22:09:52 2006 UTC (18 years, 3 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-pdpolicy-base
Branch point for: yamt-pdpolicy, simonb-timecounters, rpaulo-netinet-merge-pcb
Changes since 1.10: +187 -7 lines
Diff to previous 1.10 (colored)

Snapshot of work in progress on NetBSD port to Xen3:
- kernel (both dom0 and domU) boot, console is functionnal and it can starts
  software from a ramdisk
- there is no driver front-end expect console for domU yet.
- dom0 can probe devices and ex(4) work when Xen3 is booted without acpi
  and apic support. But the on-board IDE doens't get interrupts.
  The PCI code still needs work (it's hardcoded to mode 1). Some of this
  code should be shared with ../x86
  The physical insterrupt code needs to get MPBIOS and ACPI support, and
  do interrupt routing to properly interract with Xen.
To enable Xen-3.0 support, add
options XEN3
to your kernel config file (this will disable Xen2 support)
Changes affecting Xen-2.0 support (no functionnal changes intended):
- get more constants from genassym for assembly code
- remove some unneeded registers move from start()
- map the shared info page from start(), and remove the pte = 0xffffffff hack
- vector.S: in hypervisor_callback() make sure %esi points to
  HYPERVISOR_shared_info before accessing the info page. Remplace some
  hand-written assembly with the equivalent macro defined in frameasm.h
- more debug code, dissabled by default.

while here added my copyright on some files I worked on in 2005.

Revision 1.10 / (download) - annotate - [select for diffs], Sun Dec 11 12:19:50 2005 UTC (18 years, 4 months ago) by christos
Branch: MAIN
Branch point for: yamt-uio_vmspace
Changes since 1.9: +10 -10 lines
Diff to previous 1.9 (colored)

merge ktrace-lwp.

Revision 1.1.4.7 / (download) - annotate - [select for diffs], Thu Nov 10 14:00:34 2005 UTC (18 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.1.4.6: +17 -16 lines
Diff to previous 1.1.4.6 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

Sync with HEAD. Here we go again...

Revision 1.9 / (download) - annotate - [select for diffs], Tue Sep 6 21:40:39 2005 UTC (18 years, 7 months ago) by kleink
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, thorpej-vnode-attr-base, thorpej-vnode-attr, ktrace-lwp-base
Changes since 1.8: +4 -3 lines
Diff to previous 1.8 (colored)

Change the driver open function's conditional for overriding exclusive tty
use from checking the proc's uid to suser(9), and account for the use of
privileges.  Noted by David Holland in PR kern/31126.

Revision 1.1.10.1 / (download) - annotate - [select for diffs], Fri Apr 29 11:28:30 2005 UTC (18 years, 11 months ago) by kent
Branch: kent-audio2
Changes since 1.1: +198 -29 lines
Diff to previous 1.1 (colored) next main 1.2 (colored)

sync with -current

Revision 1.4.2.4 / (download) - annotate - [select for diffs], Thu Apr 28 11:26:20 2005 UTC (18 years, 11 months ago) by tron
Branch: netbsd-3
CVS Tags: netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0
Changes since 1.4.2.3: +2 -4 lines
Diff to previous 1.4.2.3 (colored) to branchpoint 1.4 (colored)

Pull up revision 1.8 (requested by bouyer in ticket #193):
Add polling support to the domain controller. Use this in xencons instead
of relying on the fact that the domain controller is still getting interrupts
when xenconscn_getc()/xenconscn_putc() is called.
Now that polling is fixed, move IPL_CTRL down between IPL_SOFTSERIAL and
IPL_TTY, fixing port-xen/29999 by YAMAMOTO Takashi.
Now that IPL_CTRL is low enouth, remove the softintr stuff from the
domain controller, and call wakeup() directly.
Thanks to YAMAMOTO Takashi and Christian Limpach for feedback and suggestions.

Revision 1.4.2.3 / (download) - annotate - [select for diffs], Thu Apr 28 10:28:20 2005 UTC (18 years, 11 months ago) by tron
Branch: netbsd-3
Changes since 1.4.2.2: +1 -1 lines
Diff to previous 1.4.2.2 (colored) to branchpoint 1.4 (colored)

Pull up revision 1.7 (requested by bouyer in ticket #192):
Allow to pass a more descriptive name to event_set_handler() (e.g. IRQ number
for physical IRQ, or device name for xen device drivers). This makes
systat and vmstat output more usable, especially as the channel numbers
change each time a guest reboots.

Revision 1.4.2.2 / (download) - annotate - [select for diffs], Thu Apr 28 10:19:24 2005 UTC (18 years, 11 months ago) by tron
Branch: netbsd-3
Changes since 1.4.2.1: +5 -5 lines
Diff to previous 1.4.2.1 (colored) to branchpoint 1.4 (colored)

Pull up revision 1.6 (requested by bouyer in ticket #192):
Get rid of the event to pseudo-irq mapping. We are limited to 32 pseudo-irq,
including soft interrupt, and this is way too low in some use (lots of domains,
or domains with lots of xennet, or even hardware with lots of devices at
different interrupts).
Based on idea from YAMAMOTO Takashi, keep one list of handler per-event and
one per-IPL (so the same handler is now in 2 lists). In the common case were
an event is received at low IPL, we can call the handlers quickly (there
is usually only one handler per event, unless the event is mapped to a
physical interrupt and this interrupt is shared by different devices).
Deffered events and software interrupts are handled by a bitmask (as before)
with one bit per IPL. When one IPL has an event pending all handlers for
this IPL will be called.
With this change, it is now possible to have all the 1024 events active.
While here, handle debug event in a special way: the handler is always called,
regardless of the current IPL. Make the handler print usefull informations
about events and IPL states.
Also remove code not used on Xen in files inherited from the x86 port.

Revision 1.8 / (download) - annotate - [select for diffs], Wed Apr 20 22:01:24 2005 UTC (19 years ago) by bouyer
Branch: MAIN
CVS Tags: kent-audio2-base
Branch point for: yamt-lazymbuf
Changes since 1.7: +4 -6 lines
Diff to previous 1.7 (colored)

Add polling support to the domain controller. Use this in xencons instead
of relying on the fact that the domain controller is still getting interrupts
when xenconscn_getc()/xenconscn_putc() is called.
Now that polling is fixed, move IPL_CTRL down between IPL_SOFTSERIAL and
IPL_TTY, fixing port-xen/29999 by YAMAMOTO Takashi.
Now that IPL_CTRL is low enouth, remove the softintr stuff from the
domain controller, and call wakeup() directly.

Thanks to YAMAMOTO Takashi and Christian Limpach for feedback and suggestions.

Revision 1.7 / (download) - annotate - [select for diffs], Sun Apr 17 14:50:11 2005 UTC (19 years ago) by bouyer
Branch: MAIN
Changes since 1.6: +3 -3 lines
Diff to previous 1.6 (colored)

Allow to pass a more descriptive name to event_set_handler() (e.g. IRQ number
for physical IRQ, or device name for xen device drivers). This makes
systat and vmstat output more usable, especially as the channel numbers
change each time a guest reboots.

Revision 1.6 / (download) - annotate - [select for diffs], Sat Apr 16 22:49:38 2005 UTC (19 years ago) by bouyer
Branch: MAIN
Changes since 1.5: +7 -7 lines
Diff to previous 1.5 (colored)

Get rid of the event to pseudo-irq mapping. We are limited to 32 pseudo-irq,
including soft interrupt, and this is way too low in some use (lots of domains,
or domains with lots of xennet, or even hardware with lots of devices at
different interrupts).
Based on idea from YAMAMOTO Takashi, keep one list of handler per-event and
one per-IPL (so the same handler is now in 2 lists). In the common case were
an event is received at low IPL, we can call the handlers quickly (there
is usually only one handler per event, unless the event is mapped to a
physical interrupt and this interrupt is shared by different devices).
Deffered events and software interrupts are handled by a bitmask (as before)
with one bit per IPL. When one IPL has an event pending all handlers for
this IPL will be called.
With this change, it is now possible to have all the 1024 events active.

While here, handle debug event in a special way: the handler is always called,
regardless of the current IPL. Make the handler print usefull informations
about events and IPL states.
Also remove code not used on Xen in files inherited from the x86 port.

Revision 1.4.2.1 / (download) - annotate - [select for diffs], Wed Apr 13 21:36:16 2005 UTC (19 years ago) by tron
Branch: netbsd-3
Changes since 1.4: +7 -5 lines
Diff to previous 1.4 (colored)

Pull up revision 1.5 (requested by yamt in ticket #144):
xencons_start: retry when queue is full.

Revision 1.5 / (download) - annotate - [select for diffs], Mon Apr 11 10:48:14 2005 UTC (19 years ago) by yamt
Branch: MAIN
Changes since 1.4: +7 -5 lines
Diff to previous 1.4 (colored)

xencons_start: retry when queue is full.

Revision 1.1.4.6 / (download) - annotate - [select for diffs], Fri Apr 1 14:29:11 2005 UTC (19 years ago) by skrll
Branch: ktrace-lwp
Changes since 1.1.4.5: +198 -29 lines
Diff to previous 1.1.4.5 (colored) to branchpoint 1.1 (colored)

Sync with HEAD.

Revision 1.1.12.1 / (download) - annotate - [select for diffs], Sat Mar 19 08:33:26 2005 UTC (19 years, 1 month ago) by yamt
Branch: yamt-km
Changes since 1.1: +198 -29 lines
Diff to previous 1.1 (colored) next main 1.2 (colored)

sync with head.  xen and whitespace.  xen part is not finished.

Revision 1.4 / (download) - annotate - [select for diffs], Thu Mar 10 21:44:31 2005 UTC (19 years, 1 month ago) by bouyer
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, netbsd-3-base
Branch point for: netbsd-3
Changes since 1.3: +4 -2 lines
Diff to previous 1.3 (colored)

Report which IRQ is used.

Revision 1.3 / (download) - annotate - [select for diffs], Thu Mar 10 00:31:48 2005 UTC (19 years, 1 month ago) by xtraeme
Branch: MAIN
Changes since 1.2: +7 -3 lines
Diff to previous 1.2 (colored)

Add missing #ifdef DDB for db_max_line()

Revision 1.2 / (download) - annotate - [select for diffs], Wed Mar 9 22:39:21 2005 UTC (19 years, 1 month ago) by bouyer
Branch: MAIN
Changes since 1.1: +192 -29 lines
Diff to previous 1.1 (colored)

Merge the bouyer-xen2 branch. This add supports for the Xen 2.0 virtual
machine kernel (both privileged and non-privileged domains), and remove support
for the old xen 1.2.

Revision 1.1.8.4 / (download) - annotate - [select for diffs], Tue Mar 8 14:05:02 2005 UTC (19 years, 1 month ago) by bouyer
Branch: bouyer-xen2
Changes since 1.1.8.3: +2 -3 lines
Diff to previous 1.1.8.3 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

Add support for ISA bus.
Clean up console attachement, and add support for VGA/pckbc console.
Add support for USB devices, including USB audio (which means others audio
  devices should work too)
Add some more generic options to XEN0.

Revision 1.1.4.5 / (download) - annotate - [select for diffs], Fri Feb 4 07:09:17 2005 UTC (19 years, 2 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.1.4.4: +10 -10 lines
Diff to previous 1.1.4.4 (colored) to branchpoint 1.1 (colored)

Adapt to branch.

Revision 1.1.8.3 / (download) - annotate - [select for diffs], Tue Jan 18 14:21:41 2005 UTC (19 years, 3 months ago) by bouyer
Branch: bouyer-xen2
Changes since 1.1.8.2: +59 -19 lines
Diff to previous 1.1.8.2 (colored) to branchpoint 1.1 (colored)

Support domain0 console

Revision 1.1.8.2 / (download) - annotate - [select for diffs], Fri Dec 17 12:15:49 2004 UTC (19 years, 4 months ago) by bouyer
Branch: bouyer-xen2
Changes since 1.1.8.1: +84 -22 lines
Diff to previous 1.1.8.1 (colored) to branchpoint 1.1 (colored)

Preliminary implementation of xenconscn_pollc() and xenconscn_getc().
Enouth to set the boot disk, need more work for ddb (needs to make it
work without interrupts at all).

Revision 1.1.8.1 / (download) - annotate - [select for diffs], Mon Dec 13 17:52:21 2004 UTC (19 years, 4 months ago) by bouyer
Branch: bouyer-xen2
Changes since 1.1: +75 -13 lines
Diff to previous 1.1 (colored)

Commit files from netbsd-2.0-xen-sparse/sys/arch/xen in the Xen-2.0
distribution. These are the files modified from the 2.0 tree to get
NetBSD/xen working with Xen 2.

Revision 1.1.4.4 / (download) - annotate - [select for diffs], Tue Sep 21 13:24:45 2004 UTC (19 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.1.4.3: +2 -2 lines
Diff to previous 1.1.4.3 (colored) to branchpoint 1.1 (colored)

Fix the sync with head I botched.

Revision 1.1.4.3 / (download) - annotate - [select for diffs], Sat Sep 18 14:42:53 2004 UTC (19 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.1.4.2: +2 -2 lines
Diff to previous 1.1.4.2 (colored) to branchpoint 1.1 (colored)

Sync with HEAD.

Revision 1.1.4.2 / (download) - annotate - [select for diffs], Tue Aug 3 10:43:19 2004 UTC (19 years, 8 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.1.4.1: +352 -0 lines
Diff to previous 1.1.4.1 (colored) to branchpoint 1.1 (colored)

Sync with HEAD

Revision 1.1.2.2 / (download) - annotate - [select for diffs], Sat May 22 15:59:21 2004 UTC (19 years, 11 months ago) by he
Branch: netbsd-2-0
CVS Tags: netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2
Changes since 1.1.2.1: +352 -0 lines
Diff to previous 1.1.2.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

Pull up revision 1.1 (requested by cl in ticket #337):
	Upgrade xen support:
	 - add block device driver
	 - network device driver bug fixes
	 - support for vga/keyboard/mouse
	 - support for domain0 operations
	 - fix /dev/mem and i386_iopl, reboot, event dispatch
	 - fix clock support, cpu speed report, lazy fpu switching
	 - add xen12load loader
	 - sys/arch/xen parts of build.sh release support
	[cl, ticket #337]

Revision 1.1.4.1, Sat Apr 24 18:24:14 2004 UTC (19 years, 11 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.1: +0 -352 lines
FILE REMOVED

file xencons.c was added on branch ktrace-lwp on 2004-08-03 10:43:19 +0000

Revision 1.1.2.1, Sat Apr 24 18:24:14 2004 UTC (19 years, 11 months ago) by he
Branch: netbsd-2-0
Changes since 1.1: +0 -352 lines
FILE REMOVED

file xencons.c was added on branch netbsd-2-0 on 2004-05-22 15:59:21 +0000

Revision 1.1 / (download) - annotate - [select for diffs], Sat Apr 24 18:24:14 2004 UTC (19 years, 11 months ago) by cl
Branch: MAIN
CVS Tags: yamt-km-base2, yamt-km-base, kent-audio1-beforemerge, kent-audio1-base, kent-audio1, bouyer-xen2-base
Branch point for: yamt-km, netbsd-2-0, ktrace-lwp, kent-audio2, bouyer-xen2

Consistently use xencons for eveything reffering to Xen's virtual console.

rename arch/xen/xen/console.c -> arch/xen/xen/xencons.c

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>