The NetBSD Project

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

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.9.58.1 / (download) - annotate - [select for diffs], Mon Jul 31 14:59:25 2023 UTC (8 months, 2 weeks ago) by martin
Branch: netbsd-8
Changes since 1.9: +14 -7 lines
Diff to previous 1.9 (colored) next main 1.10 (colored) to selected 1.2.8.2 (colored)

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

	sys/arch/xen/x86/xen_intr.c: revision 1.31 (patch)
	sys/arch/xen/include/xen.h (apply patch)

xen_intr.c: Use kpreempt_disable/enable around access to curcpu().

curcpu() is not otherwise guaranteed to be stable at these points.

While here, nix nonsensical membars.  This need only be synchronized
with interrupts on the same CPU.

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

Revision 1.17.2.1 / (download) - annotate - [select for diffs], Mon Jul 31 14:56:19 2023 UTC (8 months, 2 weeks ago) by martin
Branch: netbsd-9
Changes since 1.17: +28 -12 lines
Diff to previous 1.17 (colored) next main 1.18 (colored) to selected 1.2.8.2 (colored)

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

	sys/arch/xen/x86/xen_intr.c: revision 1.31

xen_intr.c: Use kpreempt_disable/enable around access to curcpu().

curcpu() is not otherwise guaranteed to be stable at these points.

While here, nix nonsensical membars.  This need only be synchronized
with interrupts on the same CPU.

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

Revision 1.30.4.1 / (download) - annotate - [select for diffs], Mon Jul 31 14:54:21 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.30: +28 -12 lines
Diff to previous 1.30 (colored) next main 1.31 (colored) to selected 1.2.8.2 (colored)

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

	sys/arch/xen/x86/xen_intr.c: revision 1.31

xen_intr.c: Use kpreempt_disable/enable around access to curcpu().

curcpu() is not otherwise guaranteed to be stable at these points.

While here, nix nonsensical membars.  This need only be synchronized
with interrupts on the same CPU.

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

Revision 1.31 / (download) - annotate - [select for diffs], Sat Feb 25 00:32:13 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.30: +28 -12 lines
Diff to previous 1.30 (colored) to selected 1.2.8.2 (colored)

xen_intr.c: Use kpreempt_disable/enable around access to curcpu().

curcpu() is not otherwise guaranteed to be stable at these points.

While here, nix nonsensical membars.  This need only be synchronized
with interrupts on the same CPU.

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

XXX pullup-8 (in __sti/__cli, __save/restore_flags in include/xen.h)
XXX pullup-9
XXX pullup-10

Revision 1.30 / (download) - annotate - [select for diffs], Tue May 24 14:00:23 2022 UTC (22 months, 3 weeks ago) by bouyer
Branch: MAIN
CVS Tags: netbsd-10-base, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Branch point for: netbsd-10
Changes since 1.29: +6 -2 lines
Diff to previous 1.29 (colored) to selected 1.2.8.2 (colored)

- msipic_construct_msix_pic(): set mp_table_base to memaddr (without
  table_offset), this is what Xen wants
while there use pci_conf_write16() in msi_set_msictl_enablebit() too,
for consistency (it seems that Xen accepts the 32bit write at this point,
but this may change).

- xen_map_msix_pirq(): don't forget to set map_irq.table_base in the
  MSI-X case, otherwise Xen maps it as MSI
- call pic_hwunmask() after pirq_establish() in msi/msix case, to make sure
  the msi-x vector is unmasked.

Now MSI-X works with Xen so stop disabling it in pci_attach_hook().

Revision 1.29 / (download) - annotate - [select for diffs], Mon Aug 9 21:20:50 2021 UTC (2 years, 8 months ago) by andvar
Branch: MAIN
Changes since 1.28: +3 -3 lines
Diff to previous 1.28 (colored) to selected 1.2.8.2 (colored)

s/alway /always/

Revision 1.28 / (download) - annotate - [select for diffs], Sat Aug 1 12:39:40 2020 UTC (3 years, 8 months ago) by jdolecek
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.27: +3 -2 lines
Diff to previous 1.27 (colored) to selected 1.2.8.2 (colored)

adjust includes to pull __HAVE_PCI_MSI_MSIX properly

Revision 1.27 / (download) - annotate - [select for diffs], Thu May 7 19:48:58 2020 UTC (3 years, 11 months ago) by bouyer
Branch: MAIN
Changes since 1.26: +6 -4 lines
Diff to previous 1.26 (colored) to selected 1.2.8.2 (colored)

Change event_set_handler() to take the target CPU parameter. If ci is NULL,
  event_set_handler() will choose the CPU and bind the event.
  If ci is not NULL the caller is responsible for binding the event.
Use a IPI xcall to register the handlers if needed.
pull in a hack from x86 to force pirq handlers to be mpsafe if registered at
a level != IPL_VM. This is for the com at isa interrupt handler, which
registers at IPL_HIGH and has to way to tell it's mpsafe (taking
KERNEL_LOCK at IPL_HIGH causes deadlocks on MP systems).

Revision 1.26 / (download) - annotate - [select for diffs], Tue May 5 17:02:01 2020 UTC (3 years, 11 months ago) by bouyer
Branch: MAIN
Changes since 1.25: +3 -3 lines
Diff to previous 1.25 (colored) to selected 1.2.8.2 (colored)

Make DOM0OPS build for PVH/PVHVM too

Revision 1.25 / (download) - annotate - [select for diffs], Mon May 4 15:55:56 2020 UTC (3 years, 11 months ago) by jdolecek
Branch: MAIN
Changes since 1.24: +6 -6 lines
Diff to previous 1.24 (colored) to selected 1.2.8.2 (colored)

add support for using MSI for XenPV Dom0

use PHYSDEVOP_map_pirq to get the pirq/gsi for MSI/MSI-X, switch also INTx
to use it instead of PHYSDEVOP_alloc_irq_vector

MSI confirmed working with single-vector MSI for wm(4), ahcisata(4), bge(4)

XXX added some provision for MSI-X, but it doesn't actually work (no interrupts
delivered), needs some further investigation; disable MSI-X for XENPV
via flag in x86/pci/pci_machdep.c

Revision 1.24 / (download) - annotate - [select for diffs], Sat Apr 25 15:26:17 2020 UTC (3 years, 11 months ago) by bouyer
Branch: MAIN
Changes since 1.23: +18 -65 lines
Diff to previous 1.23 (colored) to selected 1.2.8.2 (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.21.2.10 / (download) - annotate - [select for diffs], Sat Apr 25 13:16:48 2020 UTC (3 years, 11 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.21.2.9: +23 -2 lines
Diff to previous 1.21.2.9 (colored) to branchpoint 1.21 (colored) next main 1.22 (colored) to selected 1.2.8.2 (colored)

sync with bouyer-xenpvh-base2 (HEAD)

Revision 1.23 / (download) - annotate - [select for diffs], Tue Apr 21 19:03:51 2020 UTC (3 years, 11 months ago) by jdolecek
Branch: MAIN
CVS Tags: bouyer-xenpvh-base2
Changes since 1.22: +23 -2 lines
Diff to previous 1.22 (colored) to selected 1.2.8.2 (colored)

adjust so that this at least compiles and links with __HAVE_PCI_MSI_MSIX

Revision 1.9.66.4 / (download) - annotate - [select for diffs], Tue Apr 21 18:42:13 2020 UTC (3 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.9.66.3: +1 -1 lines
Diff to previous 1.9.66.3 (colored) to branchpoint 1.9 (colored) next main 1.10 (colored) to selected 1.2.8.2 (colored)

Sync with HEAD

Revision 1.21.2.9 / (download) - annotate - [select for diffs], Mon Apr 20 20:19:07 2020 UTC (3 years, 11 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.21.2.8: +3 -3 lines
Diff to previous 1.21.2.8 (colored) to branchpoint 1.21 (colored) to selected 1.2.8.2 (colored)

channel %d -> chan %d, for the benefit of 'systat vm'

Revision 1.21.2.8 / (download) - annotate - [select for diffs], Mon Apr 20 11:29:01 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.21.2.7: +3 -3 lines
Diff to previous 1.21.2.7 (colored) to branchpoint 1.21 (colored) to selected 1.2.8.2 (colored)

Sync with HEAD

Revision 1.21.2.7 / (download) - annotate - [select for diffs], Sun Apr 19 19:39:10 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.21.2.6: +5 -5 lines
Diff to previous 1.21.2.6 (colored) to branchpoint 1.21 (colored) to selected 1.2.8.2 (colored)

Add per-PIC callbacks for interrupt_get_devname(), interrupt_get_assigned()
and interrupt_get_count(). Implement Xen-specific callbacks for
PIC_XEN and use the x86 one for others.
In event_set_handler(), call intr_allocate_io_intrsource() so that
events appears in interrupt list (intrctl list).

Revision 1.21.2.6 / (download) - annotate - [select for diffs], Sun Apr 19 11:40:30 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.21.2.5: +8 -22 lines
Diff to previous 1.21.2.5 (colored) to branchpoint 1.21 (colored) to selected 1.2.8.2 (colored)

Add a struct pic * member to struct intrhand.
This will be used for interrupt_get_count()
For Xen remplace pic_type with a pointer to the pic, and add a pointer
to intrhand, in struct pintrhand
Make event_set_handler return the pointer to struct intrhand.
Don't allocate a fake intrhand in xen_intr_establish_xname(), use the
one returned by event_set_handler().

Revision 1.21.2.5 / (download) - annotate - [select for diffs], Thu Apr 16 08:46:35 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.21.2.4: +4 -3 lines
Diff to previous 1.21.2.4 (colored) to branchpoint 1.21 (colored) to selected 1.2.8.2 (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.21.2.4 / (download) - annotate - [select for diffs], Tue Apr 14 16:52:35 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.21.2.3: +2 -3 lines
Diff to previous 1.21.2.3 (colored) to branchpoint 1.21 (colored) to selected 1.2.8.2 (colored)

Remove spllower alias, xen_spllower is gone

Revision 1.22 / (download) - annotate - [select for diffs], Mon Apr 13 22:54:12 2020 UTC (4 years ago) by bouyer
Branch: MAIN
CVS Tags: phil-wifi-20200421, bouyer-xenpvh-base1
Changes since 1.21: +3 -3 lines
Diff to previous 1.21 (colored) to selected 1.2.8.2 (colored)

By default, events are bound to CPU 0 (exept for IPIs and VTIMERs which
are bound to a different CPU at creation time).
Recent MI changes caused the scheduler to choose a different CPU when
probing and attaching xennet devices (I guess it's the xenbus thread which
runs on a different CPU). This cause the callback to be called on a different
CPU than the one expected by the kernel, and the event is ignored.
It is handled when the clock causes the callback to be called on the right
CPU, which is why xennet still run, but slowly.

Change event_set_handler() to do a EVTCHNOP_bind_vcpu if requested to,
and make sure we don't do it for IPIs and VIRQs (for theses, the op fails).

Revision 1.9.66.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.9.66.2: +1 -1 lines
Diff to previous 1.9.66.2 (colored) to branchpoint 1.9 (colored) to selected 1.2.8.2 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.21.2.3 / (download) - annotate - [select for diffs], Sun Apr 12 19:53:37 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.21.2.2: +7 -2 lines
Diff to previous 1.21.2.2 (colored) to branchpoint 1.21 (colored) to selected 1.2.8.2 (colored)

We need to call x86_init_preempt() for all CPUs now.

Revision 1.21.2.2 / (download) - annotate - [select for diffs], Sun Apr 12 17:25:52 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.21.2.1: +3 -9 lines
Diff to previous 1.21.2.1 (colored) to branchpoint 1.21 (colored) to selected 1.2.8.2 (colored)

Get rid of xen-specific ci_x* interrupt handling:
- use the general SIR mechanism, reserving 3 more slots for IPL_VM, IPL_SCHED
  and IPL_HIGH
- remove specific handling from C sources, or change to ipending
- convert IPL number to SIR number in various places
- Remove XUNMASK/XPENDING in assembly or change to IUNMASK/IPENDING
- remove Xen-specific ci_xsources, ci_xmask, ci_xunmask, ci_xpending from
  struct cpu_info
- for now remove a KASSERT that there are no pending interrupts in
  idle_block(). We can get there with some software interrupts pending
  in autoconf XXX needs to be looked at.

Revision 1.21.2.1 / (download) - annotate - [select for diffs], Sat Apr 11 10:11:31 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.21: +2 -34 lines
Diff to previous 1.21 (colored) to selected 1.2.8.2 (colored)

Include ci_isources[] for XenPV too.
Adjust spllower() to XenPV needs, and switch XenPV to the native spllower().
Remove xen_spllower().

Revision 1.9.66.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.9.66.1: +39 -11 lines
Diff to previous 1.9.66.1 (colored) to branchpoint 1.9 (colored) to selected 1.2.8.2 (colored)

Merge changes from current as of 20200406

Revision 1.21 / (download) - annotate - [select for diffs], Mon Apr 6 19:26:00 2020 UTC (4 years ago) by jdolecek
Branch: MAIN
CVS Tags: phil-wifi-20200411, bouyer-xenpvh-base
Branch point for: bouyer-xenpvh
Changes since 1.20: +3 -3 lines
Diff to previous 1.20 (colored) to selected 1.2.8.2 (colored)

add known_mpsafe parameter also to pirq_establish(), and pass the parameter
to underlying event_set_handler()

Revision 1.20 / (download) - annotate - [select for diffs], Mon Apr 6 18:02:33 2020 UTC (4 years ago) by jdolecek
Branch: MAIN
CVS Tags: phil-wifi-20200406
Changes since 1.19: +4 -10 lines
Diff to previous 1.19 (colored) to selected 1.2.8.2 (colored)

remove restriction on interrupt level for MP-safe interrupt handlers

Revision 1.19 / (download) - annotate - [select for diffs], Fri Apr 3 22:20:36 2020 UTC (4 years ago) by ad
Branch: MAIN
Changes since 1.18: +15 -3 lines
Diff to previous 1.18 (colored) to selected 1.2.8.2 (colored)

Attach xen IPI event counters.

Revision 1.18 / (download) - annotate - [select for diffs], Mon Dec 23 13:35:37 2019 UTC (4 years, 3 months ago) by thorpej
Branch: MAIN
CVS Tags: is-mlppp-base, is-mlppp, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Changes since 1.17: +24 -2 lines
Diff to previous 1.17 (colored) to selected 1.2.8.2 (colored)

Provide XEN stubs for intr_mask() / intr_unmask().

Revision 1.9.66.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.9: +430 -27 lines
Diff to previous 1.9 (colored) to selected 1.2.8.2 (colored)

Sync with HEAD

Revision 1.17 / (download) - annotate - [select for diffs], Fri Jun 7 12:43:52 2019 UTC (4 years, 10 months ago) by cherry
Branch: MAIN
CVS Tags: 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
Branch point for: netbsd-9
Changes since 1.16: +5 -2 lines
Diff to previous 1.16 (colored) to selected 1.2.8.2 (colored)

Fix build for the XEN3_PVHVM kernel by conditoinally compiling
redundant functions x86_enable_intr()/x86_disable_intr()

Revision 1.16 / (download) - annotate - [select for diffs], Thu May 9 17:09:51 2019 UTC (4 years, 11 months ago) by bouyer
Branch: MAIN
Changes since 1.15: +14 -9 lines
Diff to previous 1.15 (colored) to selected 1.2.8.2 (colored)

sti/cli are not allowed on Xen, we have to clear/set a bit in the
shared page. Revert x86_disable_intr/x86_enable_intr to plain function
calls on XENPV.
While there, clean up unused functions and macros, and change cli()/sti()
macros to x86_disable_intr/x86_enable_intr.
Makes Xen domU boot again
(http://www-soc.lip6.fr/~bouyer/NetBSD-tests/xen/HEAD/)

Revision 1.15 / (download) - annotate - [select for diffs], Thu Feb 14 08:18:26 2019 UTC (5 years, 2 months ago) by cherry
Branch: MAIN
CVS Tags: isaki-audio2-base, isaki-audio2
Changes since 1.14: +3 -2 lines
Diff to previous 1.14 (colored) to selected 1.2.8.2 (colored)

Welcome XENPVHVM mode.

It is UP only, has xbd(4) and xennet(4) as PV drivers.

The console is com0 at isa and the native portion is very
rudimentary AT architecture, so is probably suboptimal to
run without PV support.

Revision 1.14 / (download) - annotate - [select for diffs], Tue Feb 12 08:04:53 2019 UTC (5 years, 2 months ago) by cherry
Branch: MAIN
Changes since 1.13: +32 -24 lines
Diff to previous 1.13 (colored) to selected 1.2.8.2 (colored)

Move xen event related code which interfaces with the NetBSD interrupt
subsystem into a separate namespace where it can co-exist with the
native equivalent in PVHVM mode.

On PV, we alias and export the native symbols - this means that
although the namespace is different, the semantics must be identical.

Eg: xen_intr_establish_xname() vs. intr_establish_xname().

The specific functions we need in PVHVM are:

 - spllower, xen_spllower (for native as well as XEN event spl
   despatch/defer)
 - xen_disable_intr()/xen_enable_intr() ,
   x86_disable_intr()/x86_enable_intr()
 - xen_read_psl()/xen_write_psl(),
   x86_read_psl()/x86_write_psl()
 - intr_establish() et. al, xen_intr_establish() et. al.

This gives us the ability to manage Paravirtualised drivers such as
xbd(4) as well as fully emulated ones such as wd(4)., for eg

Revision 1.9.64.2 / (download) - annotate - [select for diffs], Fri Jan 18 08:50:25 2019 UTC (5 years, 3 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.9.64.1: +2 -18 lines
Diff to previous 1.9.64.1 (colored) to branchpoint 1.9 (colored) next main 1.10 (colored) to selected 1.2.8.2 (colored)

Synch with HEAD

Revision 1.9.64.1 / (download) - annotate - [select for diffs], Wed Dec 26 14:01:46 2018 UTC (5 years, 3 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.9: +414 -12 lines
Diff to previous 1.9 (colored) to selected 1.2.8.2 (colored)

Sync with HEAD, resolve a few conflicts

Revision 1.13 / (download) - annotate - [select for diffs], Wed Dec 26 11:12:57 2018 UTC (5 years, 3 months ago) by cherry
Branch: MAIN
CVS Tags: pgoyette-compat-20190127, pgoyette-compat-20190118
Changes since 1.12: +2 -18 lines
Diff to previous 1.12 (colored) to selected 1.2.8.2 (colored)

Xen can use the native splraise(9) functions.

There is no need for a slower C version.

Revision 1.12 / (download) - annotate - [select for diffs], Tue Dec 25 09:00:26 2018 UTC (5 years, 3 months ago) by cherry
Branch: MAIN
CVS Tags: pgoyette-compat-1226
Changes since 1.11: +22 -2 lines
Diff to previous 1.11 (colored) to selected 1.2.8.2 (colored)

fix i386 build - missed sources migration in previous commit.

allow xen_intr.c to build by bringing in static support functions for
-D INTRSTACKSIZE

This should fix the i386 build now.

Revision 1.11 / (download) - annotate - [select for diffs], Tue Dec 25 06:50:12 2018 UTC (5 years, 3 months ago) by cherry
Branch: MAIN
Changes since 1.10: +242 -12 lines
Diff to previous 1.10 (colored) to selected 1.2.8.2 (colored)

Excise XEN specific code out of x86/x86/intr.c into xen/x86/xen_intr.c

While at it, separate the source function tracking so that the interrupt
paths are truly independant.

Use weak symbol exporting to provision for future PVHVM co-existence
of both files, but with independant paths. Introduce assembler code
such that in a unified scenario, native interrupts get first priority
in spllower(), followed by XEN event callbacks. IPL management and
semantics are unchanged - native handlers and xen callbacks are
expected to maintain their ipl related semantics.

In summary, after this commit, native and XEN now have completely
unrelated interrupt handling mechanisms, including
intr_establish_xname() and assembler stubs and intr handler
management.

Happy Christmas!

Revision 1.10 / (download) - annotate - [select for diffs], Mon Dec 24 14:55:42 2018 UTC (5 years, 3 months ago) by cherry
Branch: MAIN
Changes since 1.9: +154 -2 lines
Diff to previous 1.9 (colored) to selected 1.2.8.2 (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.4.2.2 / (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.4.2.1: +7 -21 lines
Diff to previous 1.4.2.1 (colored) to branchpoint 1.4 (colored) next main 1.5 (colored) to selected 1.2.8.2 (colored)

sync with head.

Revision 1.8.4.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.8: +3 -3 lines
Diff to previous 1.8 (colored) next main 1.9 (colored) to selected 1.2.8.2 (colored)

Sync with HEAD.

Revision 1.2.22.3 / (download) - annotate - [select for diffs], Sat Jan 17 13:28:39 2009 UTC (15 years, 3 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.2.22.2: +1 -1 lines
Diff to previous 1.2.22.2 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored) to selected 1.2.8.2 (colored)

Sync with HEAD.

Revision 1.9 / (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-pagecache-tag8, yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, yamt-pagecache, yamt-nfs-mp-base9, yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, 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, tls-maxphys-base-20171202, tls-maxphys-base, tls-maxphys, tls-earlyentropy-base, tls-earlyentropy, rmind-uvmplock-nbase, rmind-uvmplock-base, rmind-uvmplock, 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, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-base, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, 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, 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, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, 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-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, 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, mjf-devfs2-base, matt-premerge-20091211, matt-nb8-mediatek-base, matt-nb8-mediatek, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, matt-mips64-premerge-20101231, localcount-20160914, khorben-n900, jymxensuspend-base, jym-xensuspend-nbase, jym-xensuspend-base, jym-xensuspend, jruoho-x86intr-base, jruoho-x86intr, jmcneill-usbmp-pre-base2, 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, jmcneill-usbmp-base, jmcneill-usbmp, jmcneill-audiomp3-base, jmcneill-audiomp3, jdolecek-ncq-base, jdolecek-ncq, cherry-xenmp-base, cherry-xenmp, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2, agc-symver-base, agc-symver
Branch point for: phil-wifi, pgoyette-compat, netbsd-8
Changes since 1.8: +3 -3 lines
Diff to previous 1.8 (colored) to selected 1.2.8.2 (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.5.2.2 / (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.5.2.1: +5 -2 lines
Diff to previous 1.5.2.1 (colored) to branchpoint 1.5 (colored) next main 1.6 (colored) to selected 1.2.8.2 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.7.2.1 / (download) - annotate - [select for diffs], Thu Jul 3 18:37:57 2008 UTC (15 years, 9 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.7: +5 -2 lines
Diff to previous 1.7 (colored) next main 1.8 (colored) to selected 1.2.8.2 (colored)

Sync with head.

Revision 1.2.22.2 / (download) - annotate - [select for diffs], Wed Jul 2 19:08:19 2008 UTC (15 years, 9 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.2.22.1: +3 -0 lines
Diff to previous 1.2.22.1 (colored) to branchpoint 1.2 (colored) to selected 1.2.8.2 (colored)

Sync with HEAD.

Revision 1.8 / (download) - annotate - [select for diffs], Tue Jul 1 18:44:50 2008 UTC (15 years, 9 months ago) by bouyer
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, simonb-wapbl-nbase, simonb-wapbl-base, 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, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap
Changes since 1.7: +5 -2 lines
Diff to previous 1.7 (colored) to selected 1.2.8.2 (colored)

spllower(): return immediatly if ci->ci_ilevel <= nlevel, as the asm
versions do.

Revision 1.5.2.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:30:51 2008 UTC (15 years, 10 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.5: +3 -20 lines
Diff to previous 1.5 (colored) to selected 1.2.8.2 (colored)

Sync w/ -current. 34 merge conflicts to follow.

Revision 1.3.2.2 / (download) - annotate - [select for diffs], Wed Jun 4 02:05:04 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-pf42
Changes since 1.3.2.1: +3 -20 lines
Diff to previous 1.3.2.1 (colored) to branchpoint 1.3 (colored) next main 1.4 (colored) to selected 1.2.8.2 (colored)

sync with head

Revision 1.2.22.1 / (download) - annotate - [select for diffs], Mon Jun 2 13:22:54 2008 UTC (15 years, 10 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.2: +6 -30 lines
Diff to previous 1.2 (colored) to selected 1.2.8.2 (colored)

Sync with HEAD.

Revision 1.7 / (download) - annotate - [select for diffs], Sun May 25 16:09:30 2008 UTC (15 years, 10 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, wrstuden-revivesa-base-1, wrstuden-revivesa-base
Branch point for: simonb-wapbl
Changes since 1.6: +3 -2 lines
Diff to previous 1.6 (colored) to selected 1.2.8.2 (colored)

Add a KASSERT(): Xspllower() will reenable interrupts, so make sure it's
not wrong to do so.

Revision 1.6 / (download) - annotate - [select for diffs], Sat May 24 15:10:50 2008 UTC (15 years, 10 months ago) by bouyer
Branch: MAIN
Changes since 1.5: +2 -20 lines
Diff to previous 1.5 (colored) to selected 1.2.8.2 (colored)

G/C dead code: remove now-unused softintr-related code.

Revision 1.3.2.1 / (download) - annotate - [select for diffs], Sun May 18 12:33:08 2008 UTC (15 years, 11 months ago) by yamt
Branch: yamt-pf42
Changes since 1.3: +6 -13 lines
Diff to previous 1.3 (colored) to selected 1.2.8.2 (colored)

sync with head.

Revision 1.4.2.1 / (download) - annotate - [select for diffs], Fri May 16 02:23:30 2008 UTC (15 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.4: +2 -9 lines
Diff to previous 1.4 (colored) to selected 1.2.8.2 (colored)

sync with head.

Revision 1.5 / (download) - annotate - [select for diffs], Mon Apr 28 20:23:40 2008 UTC (15 years, 11 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pf42-base2, yamt-nfs-mp-base2, hpcarm-cleanup-nbase
Branch point for: wrstuden-revivesa
Changes since 1.4: +2 -9 lines
Diff to previous 1.4 (colored) to selected 1.2.8.2 (colored)

Remove clause 3 and 4 from TNF licenses

Revision 1.4 / (download) - annotate - [select for diffs], Mon Apr 21 15:15:34 2008 UTC (16 years ago) by cegger
Branch: MAIN
CVS Tags: yamt-nfs-mp-base
Branch point for: yamt-nfs-mp
Changes since 1.3: +6 -6 lines
Diff to previous 1.3 (colored) to selected 1.2.8.2 (colored)

Access Xen's vcpu info structure per-CPU.
Tested on i386 and amd64 (both dom0 and domU) by me.
Xen2 tested (both dom0 and domU) by bouyer.
OK bouyer

Revision 1.3 / (download) - annotate - [select for diffs], Mon Apr 14 13:38:03 2008 UTC (16 years ago) by cegger
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base
Branch point for: yamt-pf42
Changes since 1.2: +3 -3 lines
Diff to previous 1.2 (colored) to selected 1.2.8.2 (colored)

- use POSIX integer types
- ansify functions

Revision 1.2.16.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:50:16 2008 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.2.16.1: +135 -0 lines
Diff to previous 1.2.16.1 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored) to selected 1.2.8.2 (colored)

sync with HEAD

Revision 1.1.4.1 / (download) - annotate - [select for diffs], Sat Dec 8 18:18:24 2007 UTC (16 years, 4 months ago) by mjf
Branch: mjf-devfs
Changes since 1.1: +135 -0 lines
Diff to previous 1.1 (colored) next main 1.2 (colored) to selected 1.2.8.2 (colored)

Sync with HEAD.

Revision 1.2.8.2 / (download) - annotate - [selected], Fri Dec 7 17:27:19 2007 UTC (16 years, 4 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.2.8.1: +135 -0 lines
Diff to previous 1.2.8.1 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)

sync with head

Revision 1.2.4.2 / (download) - annotate - [select for diffs], Mon Dec 3 19:04:44 2007 UTC (16 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.2.4.1: +270 -0 lines
Diff to previous 1.2.4.1 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored) to selected 1.2.8.2 (colored)

Sync with HEAD.

Revision 1.2.2.2 / (download) - annotate - [select for diffs], Tue Nov 27 19:36:23 2007 UTC (16 years, 4 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.2.2.1: +135 -0 lines
Diff to previous 1.2.2.1 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored) to selected 1.2.8.2 (colored)

Sync with HEAD. amd64 Xen support needs testing.

Revision 1.2.16.1, Thu Nov 22 16:17:05 2007 UTC (16 years, 5 months ago) by matt
Branch: matt-armv6
Changes since 1.2: +0 -135 lines
FILE REMOVED

file xen_intr.c was added on branch matt-armv6 on 2008-01-09 01:50:16 +0000

Revision 1.2.8.1, Thu Nov 22 16:17:05 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.2: +0 -135 lines
FILE REMOVED

file xen_intr.c was added on branch yamt-lazymbuf on 2007-12-07 17:27:18 +0000

Revision 1.2.4.1, Thu Nov 22 16:17:05 2007 UTC (16 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.2: +0 -135 lines
FILE REMOVED

file xen_intr.c was added on branch vmlocking on 2007-12-03 19:04:44 +0000

Revision 1.2.2.1, Thu Nov 22 16:17:05 2007 UTC (16 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.2: +0 -135 lines
FILE REMOVED

file xen_intr.c was added on branch jmcneill-pm on 2007-11-27 19:36:22 +0000

Revision 1.2 / (download) - annotate - [select for diffs], Thu Nov 22 16:17:05 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: yamt-lazymbuf, vmlocking, mjf-devfs2, matt-armv6, jmcneill-pm
Changes since 1.1: +135 -0 lines
Diff to previous 1.1 (colored) to selected 1.2.8.2 (colored)

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

Revision 1.1.2.1 / (download) - annotate - [select for diffs], Wed Oct 17 21:08:22 2007 UTC (16 years, 6 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.1: +135 -0 lines
Diff to previous 1.1 (colored) next main 1.2 (colored) to selected 1.2.8.2 (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.1, Wed Oct 17 21:08:21 2007 UTC (16 years, 6 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, jmcneill-base, bouyer-xenamd64-base2, bouyer-xenamd64-base
Branch point for: mjf-devfs, bouyer-xenamd64
FILE REMOVED

file xen_intr.c was initially added on branch bouyer-xenamd64.

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>