The NetBSD Project

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

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.28.12.1 / (download) - annotate - [select for diffs], Mon Jul 31 15:41:00 2023 UTC (8 months, 2 weeks ago) by martin
Branch: netbsd-8
Changes since 1.28: +6 -2 lines
Diff to previous 1.28 (colored) next main 1.29 (colored) to selected 1.11.8.6 (colored)

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

	sys/arch/xen/x86/hypervisor_machdep.c: revision 1.46 (patch)

xen/x86: Need kpreempt_disable/enable around curcpu() access.

This is called with `hardware' interrupts enabled (between sti and
cli), so presumably preemption is possible here.

Revision 1.36.2.1 / (download) - annotate - [select for diffs], Mon Jul 31 15:39:23 2023 UTC (8 months, 2 weeks ago) by martin
Branch: netbsd-9
Changes since 1.36: +6 -2 lines
Diff to previous 1.36 (colored) next main 1.37 (colored) to selected 1.11.8.6 (colored)

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

	sys/arch/xen/x86/hypervisor_machdep.c: revision 1.46 (patch)

xen/x86: Need kpreempt_disable/enable around curcpu() access.

This is called with `hardware' interrupts enabled (between sti and
cli), so presumably preemption is possible here.

Revision 1.45.4.1 / (download) - annotate - [select for diffs], Mon Jul 31 15:36:10 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.45: +6 -2 lines
Diff to previous 1.45 (colored) next main 1.46 (colored) to selected 1.11.8.6 (colored)

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

	sys/arch/xen/x86/hypervisor_machdep.c: revision 1.46

xen/x86: Need kpreempt_disable/enable around curcpu() access.

This is called with `hardware' interrupts enabled (between sti and
cli), so presumably preemption is possible here.

Revision 1.46 / (download) - annotate - [select for diffs], Wed Mar 1 08:13:44 2023 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, HEAD
Changes since 1.45: +6 -2 lines
Diff to previous 1.45 (colored) to selected 1.11.8.6 (colored)

xen/x86: Need kpreempt_disable/enable around curcpu() access.

This is called with `hardware' interrupts enabled (between sti and
cli), so presumably preemption is possible here.

XXX pullup-8
XXX pullup-9
XXX pullup-10

Revision 1.45 / (download) - annotate - [select for diffs], Wed Sep 7 00:40:19 2022 UTC (19 months, 1 week ago) by knakahara
Branch: MAIN
CVS Tags: netbsd-10-base, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Branch point for: netbsd-10
Changes since 1.44: +6 -6 lines
Diff to previous 1.44 (colored) to selected 1.11.8.6 (colored)

NetBSD/x86: Raise the number of interrupt sources per CPU from 32 to 56.

There has been no objection for three years.
    https://mail-index.netbsd.org/port-amd64/2019/09/22/msg003012.html
Implemented by nonaka@n.o, updated by me.

Revision 1.44 / (download) - annotate - [select for diffs], Sat Aug 20 23:48:51 2022 UTC (19 months, 4 weeks ago) by riastradh
Branch: MAIN
Changes since 1.43: +3 -2 lines
Diff to previous 1.43 (colored) to selected 1.11.8.6 (colored)

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

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

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

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

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

3. more CPU-specific inlines for pmap_pte_* operations

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

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

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

VM_MAXUSER_ADDRESS
VM_MAX_ADDRESS
VM_MAX_KERNEL_ADDRESS
VM_MIN_KERNEL_ADDRESS

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

Revision 1.43 / (download) - annotate - [select for diffs], Tue May 31 18:01:22 2022 UTC (22 months, 2 weeks ago) by bouyer
Branch: MAIN
Changes since 1.42: +9 -2 lines
Diff to previous 1.42 (colored) to selected 1.11.8.6 (colored)

When we have pending events in stipending(), evt_set_pending() has to set
the ih_pending flag for each handler too. Xen/i386 should be stable again.

Revision 1.42 / (download) - annotate - [select for diffs], Tue May 31 14:21:44 2022 UTC (22 months, 2 weeks ago) by bouyer
Branch: MAIN
Changes since 1.41: +2 -3 lines
Diff to previous 1.41 (colored) to selected 1.11.8.6 (colored)

Revert previous; evt_set_pending() will set ret to 1 if needed to this was
not our bug.

Revision 1.41 / (download) - annotate - [select for diffs], Tue May 31 12:52:59 2022 UTC (22 months, 2 weeks ago) by bouyer
Branch: MAIN
Changes since 1.40: +3 -2 lines
Diff to previous 1.40 (colored) to selected 1.11.8.6 (colored)

stipending(): if we're going to process some interrupts don't return 0.
Hopefully fixes random hang seen in i386 Xen PV.

The bug has been there ~forever but was masked by the fact that spllower()
did call event handlers much more often.

Revision 1.40 / (download) - annotate - [select for diffs], Thu May 19 09:54:27 2022 UTC (23 months ago) by bouyer
Branch: MAIN
Changes since 1.39: +5 -2 lines
Diff to previous 1.39 (colored) to selected 1.11.8.6 (colored)

Restore de EOI mechanism for pirq, using the newer hypervisor interface.
It is needed.
Hopefully fixes kern/56291, kern/56793, kern/55667

Revision 1.39 / (download) - annotate - [select for diffs], Sat May 2 16:44:36 2020 UTC (3 years, 11 months ago) by bouyer
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.38: +34 -2 lines
Diff to previous 1.38 (colored) to selected 1.11.8.6 (colored)

Introduce Xen PVH support in GENERIC.
This is compiled in with
options XENPVHVM
x86 changes:
- add Xen section and xen pvh entry points to locore.S. Set vm_guest
  to VM_GUEST_XENPVH in this entry point.
  Most of the boot procedure (especially page table setup and switch to
  paged mode) is shared with native.
- change some x86_delay() to delay_func(), which points to x86_delay() for
  native/HVM, and xen_delay() for PVH

Xen changes:
- remove Xen bits from init_x86_64_ksyms() and init386_ksyms()
  and move to xen_init_ksyms(), used for both PV and PVH
- set ISA no-legacy-devices property for PVH
- factor out code from Xen's cpu_bootconf() to xen_bootconf()
  in xen_machdep.c
- set up a specific pvh_consinit() which starts with printk()
  (which uses a simple hypercall that is available early) and switch to
  xencons when we can use pmap_kenter_pa().

Revision 1.38 / (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.37: +63 -32 lines
Diff to previous 1.37 (colored) to selected 1.11.8.6 (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.36.8.7 / (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.36.8.6: +3 -3 lines
Diff to previous 1.36.8.6 (colored) to branchpoint 1.36 (colored) next main 1.37 (colored) to selected 1.11.8.6 (colored)

sync with bouyer-xenpvh-base2 (HEAD)

Revision 1.36.8.6 / (download) - annotate - [select for diffs], Sat Apr 25 11:23:57 2020 UTC (3 years, 11 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.36.8.5: +2 -5 lines
Diff to previous 1.36.8.5 (colored) to branchpoint 1.36 (colored) to selected 1.11.8.6 (colored)

Sync with bouyer-xenpvh-base2 (HEAD)

Revision 1.37 / (download) - annotate - [select for diffs], Tue Apr 21 20:13:40 2020 UTC (3 years, 11 months ago) by jdolecek
Branch: MAIN
CVS Tags: bouyer-xenpvh-base2
Changes since 1.36: +2 -5 lines
Diff to previous 1.36 (colored) to selected 1.11.8.6 (colored)

convert to newer HYPERVISOR_physdev_op() interface, now command and the
arg are separate arguments - this is needed for newer physdev_op commands

remove code for PHYSDEVOP_IRQ_UNMASK_NOTIFY, it is obsolete since
interface version 0x00030202 and is unsupported by newer versions of Xen

confirmed working on amd64 Dom0, i386 compile-tested only

Revision 1.36.8.5 / (download) - annotate - [select for diffs], Sun Apr 19 20:29:30 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.36.8.4: +7 -2 lines
Diff to previous 1.36.8.4 (colored) to branchpoint 1.36 (colored) to selected 1.11.8.6 (colored)

Move xen_ipi.c to XENPV only.
Make sure we don't need to send events to remote CPUs (outside of IPIs)

Revision 1.36.8.4 / (download) - annotate - [select for diffs], Sat Apr 18 15:06:18 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.36.8.3: +38 -6 lines
Diff to previous 1.36.8.3 (colored) to branchpoint 1.36 (colored) to selected 1.11.8.6 (colored)

Add PVHVM multiprocessor support:
We need the hypervisor to be set up before cpus attaches.
Move hypervisor setup to a new function xen_hvm_init(), called at the
beggining of mainbus_attach(). This function searches the cfdata[] array
to see if the hypervisor device is enabled (so you can disable PV
support with
disable hypervisor
from userconf).
For HVM, ci_cpuid doens't match the virtual CPU index needed by Xen.
Introduce ci_vcpuid to cpu_info. Introduce xen_hvm_init_cpu(), to be
called for each CPU in in its context, which initialize ci_vcpuid and
ci_vcpu, and setup the event callback.
Change Xen code to use ci_vcpuid.

Do not call lapic_calibrate_timer() for VM_GUEST_XENPVHVM, we will use
Xen timers.

Don't call lapic_initclocks() from cpu_hatch(); instead set
x86_cpu_initclock_func to lapic_initclocks() in lapic_calibrate_timer(),
and call *(x86_cpu_initclock_func)() from cpu_hatch().
Also call x86_cpu_initclock_func from cpu_attach() for the boot CPU.
As x86_cpu_initclock_func is called for all CPUs, x86_initclock_func can
be a NOP for lapic timer.

Reorganize Xen code for x86_initclock_func/x86_cpu_initclock_func.
Move x86_cpu_idle_xen() to hypervisor_machdep.c

Revision 1.36.8.3 / (download) - annotate - [select for diffs], Thu Apr 16 17:50:52 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.36.8.2: +7 -6 lines
Diff to previous 1.36.8.2 (colored) to branchpoint 1.36 (colored) to selected 1.11.8.6 (colored)

amd64: Xhypervisor_pvhvm_callback has to be in text.user for SVS.
Thanks to maxv@ for helping me with this.
Enable SVS again.
While there, increase ci_idepth before calling do_hypervisor_callback,
and don't touch ci_idepth while looping over pending events.

Revision 1.36.8.2 / (download) - annotate - [select for diffs], Thu Apr 16 08:46:35 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.36.8.1: +3 -2 lines
Diff to previous 1.36.8.1 (colored) to branchpoint 1.36 (colored) to selected 1.11.8.6 (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.36.8.1 / (download) - annotate - [select for diffs], Sun Apr 12 17:25:52 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.36: +16 -24 lines
Diff to previous 1.36 (colored) to selected 1.11.8.6 (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.28.20.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.28: +42 -48 lines
Diff to previous 1.28 (colored) next main 1.29 (colored) to selected 1.11.8.6 (colored)

Sync with HEAD

Revision 1.36 / (download) - annotate - [select for diffs], Thu May 9 17:09:51 2019 UTC (4 years, 11 months ago) by bouyer
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, is-mlppp-base, is-mlppp, bouyer-xenpvh-base1, bouyer-xenpvh-base, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Branch point for: netbsd-9, bouyer-xenpvh
Changes since 1.35: +4 -4 lines
Diff to previous 1.35 (colored) to selected 1.11.8.6 (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.35 / (download) - annotate - [select for diffs], Tue Feb 12 07:58:26 2019 UTC (5 years, 2 months ago) by cherry
Branch: MAIN
CVS Tags: isaki-audio2-base, isaki-audio2
Changes since 1.34: +11 -2 lines
Diff to previous 1.34 (colored) to selected 1.11.8.6 (colored)

conditionally include XENPV specific code.

This explicitly excludes PV only functionality that would be wrong to
attempt to use in other modes, for eg: p2m table management.

Revision 1.28.18.2 / (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.28.18.1: +11 -11 lines
Diff to previous 1.28.18.1 (colored) to branchpoint 1.28 (colored) next main 1.29 (colored) to selected 1.11.8.6 (colored)

Sync with HEAD, resolve a few conflicts

Revision 1.34 / (download) - annotate - [select for diffs], Tue Dec 25 06:50:12 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.33: +11 -11 lines
Diff to previous 1.33 (colored) to selected 1.11.8.6 (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.28.18.1 / (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.28: +22 -37 lines
Diff to previous 1.28 (colored) to selected 1.11.8.6 (colored)

Sync with HEAD, resolve a couple of conflicts

Revision 1.33 / (download) - annotate - [select for diffs], Mon Nov 19 10:05:09 2018 UTC (5 years, 5 months ago) by kre
Branch: MAIN
CVS Tags: pgoyette-compat-1126
Changes since 1.32: +4 -4 lines
Diff to previous 1.32 (colored) to selected 1.11.8.6 (colored)


Hide differences between i386 and amd64 interrupt frames so XEN does
not need to know there is one.   Hopefully unbreak i386 build.

Revision 1.32 / (download) - annotate - [select for diffs], Sun Nov 18 23:50:48 2018 UTC (5 years, 5 months ago) by cherry
Branch: MAIN
Changes since 1.31: +4 -3 lines
Diff to previous 1.31 (colored) to selected 1.11.8.6 (colored)

On Xen, copy just the bits we need from the trapframe for hardclock(9)
and statclock(9).

Current, the macros that use the trapframe are:
CLKF_USERMODE()
CLKF_PC()
CLKF_INTR()

Of these, CLKF_INTR() already ignores the frame and uses the ci_idepth
variable to do its job.

Convert the two remaining ones to do this, but only for XEN.

Revision 1.31 / (download) - annotate - [select for diffs], Sun Nov 18 10:24:09 2018 UTC (5 years, 5 months ago) by cherry
Branch: MAIN
Changes since 1.30: +6 -2 lines
Diff to previous 1.30 (colored) to selected 1.11.8.6 (colored)

Save the interrupt trap/clockframe to a per-cpu copy.

We can use this copy to pass on the trapframe to hardclock(9) from
within the xen timer handler. This delinks the current dependency
between MD code and the handler, which is specially prototyped to take
the clockframe unlike any other handler.

This change has performance implications, as each interrupt entry will
copy the entire trapframe over to the per-cpu cached copy. This can be
mitigated by selectively copying just the parts of the clockframe that
are used by hardclock() et. al.

Tested on amd64 XEN domU

Revision 1.30 / (download) - annotate - [select for diffs], Sat Nov 17 05:26:46 2018 UTC (5 years, 5 months ago) by cherry
Branch: MAIN
Changes since 1.29: +11 -36 lines
Diff to previous 1.29 (colored) to selected 1.11.8.6 (colored)

Use hypervisor provided interface to unmask specific ports.

Although at first glance this looks suboptimal, the unmask operation
fast path does not use hypervisor_unmask_event(). Instead, it directly
operates on the mask and pending bit arrays to provide what would
effectively be an "auto mask/eoi" semantic.

This change is thus not in the fast path, and has the advantage of
performance improvements since cross CPU state updates etc. is handled
within the hypervisor instead of domU IPIs.

Revision 1.29 / (download) - annotate - [select for diffs], Fri Oct 26 05:33:21 2018 UTC (5 years, 5 months ago) by cherry
Branch: MAIN
Changes since 1.28: +8 -3 lines
Diff to previous 1.28 (colored) to selected 1.11.8.6 (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.21.6.3 / (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.21.6.2: +3 -3 lines
Diff to previous 1.21.6.2 (colored) to branchpoint 1.21 (colored) next main 1.22 (colored) to selected 1.11.8.6 (colored)

update from HEAD

Revision 1.27.12.1 / (download) - annotate - [select for diffs], Mon Sep 22 11:15:57 2014 UTC (9 years, 6 months ago) by martin
Branch: netbsd-7
CVS Tags: netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, 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
Changes since 1.27: +3 -3 lines
Diff to previous 1.27 (colored) next main 1.28 (colored) to selected 1.11.8.6 (colored)

Pull up following revision(s) (requested by bouyer in ticket #115):
	sys/arch/xen/x86/hypervisor_machdep.c: revision 1.28
	sys/arch/xen/xenbus/xenbus_client.c: revision 1.13
	sys/arch/xen/xen/xbdback_xenbus.c: revision 1.60
	sys/arch/xen/xen/clock.c: revision 1.63
Make Xen kernels compile without DIAGNOSTIC

Revision 1.28 / (download) - annotate - [select for diffs], Sun Sep 21 12:46:15 2014 UTC (9 years, 6 months ago) by bouyer
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, pgoyette-localcount-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-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, 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, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: phil-wifi, pgoyette-compat, netbsd-8
Changes since 1.27: +3 -3 lines
Diff to previous 1.27 (colored) to selected 1.11.8.6 (colored)

Make Xen kernels compile without DIAGNOSTIC

Revision 1.21.6.2 / (download) - annotate - [select for diffs], Mon Feb 25 00:29:06 2013 UTC (11 years, 1 month ago) by tls
Branch: tls-maxphys
Changes since 1.21.6.1: +24 -22 lines
Diff to previous 1.21.6.1 (colored) to branchpoint 1.21 (colored) to selected 1.11.8.6 (colored)

resync with head

Revision 1.16.2.2 / (download) - annotate - [select for diffs], Wed Jan 16 05:33:11 2013 UTC (11 years, 3 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.16.2.1: +32 -25 lines
Diff to previous 1.16.2.1 (colored) to branchpoint 1.16 (colored) next main 1.17 (colored) to selected 1.11.8.6 (colored)

sync with (a bit old) head

Revision 1.27 / (download) - annotate - [select for diffs], Sun Jan 13 21:01:05 2013 UTC (11 years, 3 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-pagecache-base9, yamt-pagecache-base8, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, rmind-smpnet, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, netbsd-7-base, khorben-n900, agc-symver-base, agc-symver
Branch point for: netbsd-7
Changes since 1.26: +24 -22 lines
Diff to previous 1.26 (colored) to selected 1.11.8.6 (colored)

Re-apply
http://mail-index.netbsd.org/source-changes/2012/11/25/msg039125.html
http://mail-index.netbsd.org/source-changes/2012/11/25/msg039126.html
they're not involved in i386 domU hang shown by ATF.

Revision 1.26 / (download) - annotate - [select for diffs], Sat Jan 12 21:09:10 2013 UTC (11 years, 3 months ago) by bouyer
Branch: MAIN
Changes since 1.25: +22 -24 lines
Diff to previous 1.25 (colored) to selected 1.11.8.6 (colored)

Revert these commits from november 2012:
http://mail-index.netbsd.org/source-changes/2012/11/25/msg039125.html
http://mail-index.netbsd.org/source-changes/2012/11/25/msg039126.html
http://mail-index.netbsd.org/source-changes/2012/11/25/msg039142.html

they cause a i386PAE domU to hang while running ATF tests, as shown in
http://www-soc.lip6.fr/~bouyer/NetBSD-tests/xen/HEAD/

(we should pay more attention to test results, myself first).

Revision 1.25 / (download) - annotate - [select for diffs], Sat Jan 12 17:39:46 2013 UTC (11 years, 3 months ago) by bouyer
Branch: MAIN
Changes since 1.24: +9 -78 lines
Diff to previous 1.24 (colored) to selected 1.11.8.6 (colored)

Back out this commit:
http://mail-index.netbsd.org/source-changes/2012/12/28/msg039950.html
which cause a panic when running tests on amd64, as shown on:
http://www-soc.lip6.fr/~bouyer/NetBSD-tests/xen/HEAD/
(i386 hangs for unrelated reasons).

Revision 1.24 / (download) - annotate - [select for diffs], Fri Dec 28 06:29:56 2012 UTC (11 years, 3 months ago) by cherry
Branch: MAIN
Changes since 1.23: +80 -11 lines
Diff to previous 1.23 (colored) to selected 1.11.8.6 (colored)

Simplify the xen event handler callback by:
 - moving the interrupt handler callback traversal into a separate
   function.
 - using evt_iterate_bits() to scan through the pending bitfield
 - removing cross-cpu pending actions - events recieved on the wrong
   vcpu are re-routed via hypervisor_send_event().
 - simplifying nested while() loops by encapsulating them in
   equivalent functions.

Many thanks for multiple reviews by bouyer@ and jym@

Revision 1.23 / (download) - annotate - [select for diffs], Sun Nov 25 08:39:36 2012 UTC (11 years, 4 months ago) by cherry
Branch: MAIN
CVS Tags: yamt-pagecache-base7
Changes since 1.22: +24 -22 lines
Diff to previous 1.22 (colored) to selected 1.11.8.6 (colored)

Make hypervisor_set_ipending() and its consumers cpu unaware. This syncs syntax with semantics

Revision 1.21.6.1 / (download) - annotate - [select for diffs], Tue Nov 20 03:01:52 2012 UTC (11 years, 5 months ago) by tls
Branch: tls-maxphys
Changes since 1.21: +10 -5 lines
Diff to previous 1.21 (colored) to selected 1.11.8.6 (colored)

Resync to 2012-11-19 00:00:00 UTC

Revision 1.22 / (download) - annotate - [select for diffs], Sat Nov 10 16:28:06 2012 UTC (11 years, 5 months ago) by cherry
Branch: MAIN
Changes since 1.21: +10 -5 lines
Diff to previous 1.21 (colored) to selected 1.11.8.6 (colored)

Remove e a redundant layer of function calling in the event handling path

Revision 1.16.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:07:11 2012 UTC (12 years ago) by yamt
Branch: yamt-pagecache
Changes since 1.16: +72 -10 lines
Diff to previous 1.16 (colored) to selected 1.11.8.6 (colored)

sync with head

Revision 1.18.2.1 / (download) - annotate - [select for diffs], Sat Feb 18 07:33:45 2012 UTC (12 years, 2 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.18: +12 -8 lines
Diff to previous 1.18 (colored) next main 1.19 (colored) to selected 1.11.8.6 (colored)

merge to -current.

Revision 1.21 / (download) - annotate - [select for diffs], Tue Dec 27 07:47:00 2011 UTC (12 years, 3 months ago) by cherry
Branch: MAIN
CVS Tags: yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, 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, 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
Branch point for: tls-maxphys
Changes since 1.20: +3 -3 lines
Diff to previous 1.20 (colored) to selected 1.11.8.6 (colored)

Optimise branch predict hint for the intended use-case (cross cpu event notification)

Revision 1.20 / (download) - annotate - [select for diffs], Tue Dec 27 07:45:41 2011 UTC (12 years, 3 months ago) by cherry
Branch: MAIN
Changes since 1.19: +7 -5 lines
Diff to previous 1.19 (colored) to selected 1.11.8.6 (colored)

Do not touch pending flags across vcpus

Revision 1.19 / (download) - annotate - [select for diffs], Mon Dec 26 18:27:11 2011 UTC (12 years, 3 months ago) by cherry
Branch: MAIN
Changes since 1.18: +7 -5 lines
Diff to previous 1.18 (colored) to selected 1.11.8.6 (colored)

Do not fiddle with the event masks of non-local vcpus when unmasking events across vcpus

Revision 1.18 / (download) - annotate - [select for diffs], Sat Dec 3 22:41:40 2011 UTC (12 years, 4 months ago) by bouyer
Branch: MAIN
CVS Tags: jmcneill-usbmp-pre-base2, jmcneill-usbmp-base
Branch point for: jmcneill-usbmp
Changes since 1.17: +30 -10 lines
Diff to previous 1.17 (colored) to selected 1.11.8.6 (colored)

hypervisor_unmask_event(): don't check/update evtchn_pending_sel for the
  current CPU, but for any CPU which may accept this event.
xen/xenevt.c: more use of atomic ops and locks where appropriate, and some
  other SMP fixes. Handle all events on the primary CPU (may be revisited
  later). Set/clear ci_evtmask[] for watched events.

This should fix the problems on dom0 kernels reported by jym@

Revision 1.17 / (download) - annotate - [select for diffs], Sat Nov 19 17:13:39 2011 UTC (12 years, 5 months ago) by cherry
Branch: MAIN
CVS Tags: jmcneill-audiomp3-base, jmcneill-audiomp3
Changes since 1.16: +42 -4 lines
Diff to previous 1.16 (colored) to selected 1.11.8.6 (colored)

[merging from cherry-xenmp] bring in bouyer@'s changes via:
http://mail-index.netbsd.org/source-changes/2011/10/22/msg028271.html
From the Log:
Log Message:
Various interrupt fixes, mainly:
keep a per-cpu mask of enabled events, and use it to get pending events.
A cpu-specific event (all of them at this time) should not be ever masked
by another CPU, because it may prevent the target CPU from seeing it
(the clock events all fires at once for example).

Revision 1.14.2.6 / (download) - annotate - [select for diffs], Sat Oct 22 19:21:57 2011 UTC (12 years, 5 months ago) by bouyer
Branch: cherry-xenmp
Changes since 1.14.2.5: +10 -2 lines
Diff to previous 1.14.2.5 (colored) to branchpoint 1.14 (colored) next main 1.15 (colored) to selected 1.11.8.6 (colored)

Various interrupt fixes, mainly:
keep a per-cpu mask of enabled events, and use it to get pending events.
A cpu-specific event (all of them at this time) should not be ever masked
by another CPU, because it may prevent the target CPU from seeing it
(the clock events all fires at once for example).

Revision 1.16 / (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
Branch point for: yamt-pagecache
Changes since 1.15: +12 -3 lines
Diff to previous 1.15 (colored) to selected 1.11.8.6 (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.14.2.5 / (download) - annotate - [select for diffs], Sun Sep 18 18:46:40 2011 UTC (12 years, 7 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.14.2.4: +32 -2 lines
Diff to previous 1.14.2.4 (colored) to branchpoint 1.14 (colored) to selected 1.11.8.6 (colored)

Use an IPI to re-route events to the cpu where the handler has been registered

Revision 1.11.8.10 / (download) - annotate - [select for diffs], Sat Aug 27 15:56:48 2011 UTC (12 years, 7 months ago) by jym
Branch: jym-xensuspend
Changes since 1.11.8.9: +3 -3 lines
Diff to previous 1.11.8.9 (colored) to branchpoint 1.11 (colored) next main 1.12 (colored) to selected 1.11.8.6 (colored)

Rename the functions for suspend to reflect that Xen does not hijack
the ACPI "sleepstate" sysctl(7) node anymore.

Add a boolean value to mark that the save/suspend operation has been
notified by dom0, so as to avoid possible errors where admin would like
to schedule the domain for sleep without dom0 being prepared for that. Fail
with EAGAIN in this case.

Sprinkle some KNF.

Revision 1.11.8.9 / (download) - annotate - [select for diffs], Sat Aug 27 15:44:09 2011 UTC (12 years, 7 months ago) by jym
Branch: jym-xensuspend
Changes since 1.11.8.8: +129 -108 lines
Diff to previous 1.11.8.8 (colored) to branchpoint 1.11 (colored) to selected 1.11.8.6 (colored)

Further sync with HEAD.

Revision 1.14.2.4 / (download) - annotate - [select for diffs], Mon Aug 22 16:48:03 2011 UTC (12 years, 7 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.14.2.3: +4 -4 lines
Diff to previous 1.14.2.3 (colored) to branchpoint 1.14 (colored) to selected 1.11.8.6 (colored)

Do not trust the hypervisor to route events to the right cpu. Enforce this in stipending()

Revision 1.14.2.3 / (download) - annotate - [select for diffs], Wed Aug 17 09:40:39 2011 UTC (12 years, 8 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.14.2.2: +26 -65 lines
Diff to previous 1.14.2.2 (colored) to branchpoint 1.14 (colored) to selected 1.11.8.6 (colored)

Pullup relevant changes from -current

Revision 1.15 / (download) - annotate - [select for diffs], Wed Aug 10 21:46:02 2011 UTC (12 years, 8 months ago) by cherry
Branch: MAIN
CVS Tags: jym-xensuspend-nbase, jym-xensuspend-base
Changes since 1.14: +129 -108 lines
Diff to previous 1.14 (colored) to selected 1.11.8.6 (colored)

refactor the bitstring/mask operations to be behind an API. Make pending interrupt marking cpu aware.

Revision 1.14.2.2 / (download) - annotate - [select for diffs], Thu Aug 4 09:07:47 2011 UTC (12 years, 8 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.14.2.1: +166 -108 lines
Diff to previous 1.14.2.1 (colored) to branchpoint 1.14 (colored) to selected 1.11.8.6 (colored)

first cut at per-cpu event handling

Revision 1.13.6.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:07:11 2011 UTC (12 years, 10 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.13: +9 -6 lines
Diff to previous 1.13 (colored) next main 1.14 (colored) to selected 1.11.8.6 (colored)

Sync with HEAD.

Revision 1.14.2.1 / (download) - annotate - [select for diffs], Fri Jun 3 13:27:41 2011 UTC (12 years, 10 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.14: +4 -2 lines
Diff to previous 1.14 (colored) to selected 1.11.8.6 (colored)

Initial import of xen MP sources, with kernel and userspace tests.
 - this is a source priview.
 - boots to single user.
 - spurious interrupt and pmap related panics are normal

Revision 1.11.8.8 / (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.11.8.7: +4 -4 lines
Diff to previous 1.11.8.7 (colored) to branchpoint 1.11 (colored) to selected 1.11.8.6 (colored)

KNF.

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

Sync with head.

Revision 1.13.4.1 / (download) - annotate - [select for diffs], Thu Apr 21 01:41:34 2011 UTC (13 years ago) by rmind
Branch: rmind-uvmplock
Changes since 1.13: +9 -6 lines
Diff to previous 1.13 (colored) next main 1.14 (colored) to selected 1.11.8.6 (colored)

sync with head

Revision 1.11.8.6 / (download) - annotate - [selected], Wed Mar 30 23:15:05 2011 UTC (13 years ago) by jym
Branch: jym-xensuspend
Changes since 1.11.8.5: +5 -5 lines
Diff to previous 1.11.8.5 (colored) to branchpoint 1.11 (colored)

Sync with my commits in HEAD.

Revision 1.14 / (download) - annotate - [select for diffs], Wed Mar 30 21:53:58 2011 UTC (13 years ago) by jym
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base
Branch point for: cherry-xenmp
Changes since 1.13: +9 -6 lines
Diff to previous 1.13 (colored) to selected 1.11.8.6 (colored)

Fix a year old bug that was only fixed in jym-xensuspend branch, but
not in HEAD:
- use uvm_km_alloc() instead of kmem_alloc() to enforce alignement when
allocating p2m_frame pages (xentools can only deal with page-aligned
addresses)
- do not use paddr_t for p2m_frame_list_list with PAE, xentools expect
32 bits PFNs even with 64 bits PTE.

Required to make ``xm dump-core'' work as expected.

Revision 1.11.8.5 / (download) - annotate - [select for diffs], Tue Mar 29 20:43:01 2011 UTC (13 years ago) by jym
Branch: jym-xensuspend
Changes since 1.11.8.4: +66 -66 lines
Diff to previous 1.11.8.4 (colored) to branchpoint 1.11 (colored) to selected 1.11.8.6 (colored)

More sync fixes. And add the mbr_gpt files.

Revision 1.8.2.3 / (download) - annotate - [select for diffs], Thu Mar 11 15:03:10 2010 UTC (14 years, 1 month ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.8.2.2: +2 -7 lines
Diff to previous 1.8.2.2 (colored) to branchpoint 1.8 (colored) next main 1.9 (colored) to selected 1.11.8.6 (colored)

sync with head

Revision 1.11.8.4 / (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.11.8.3: +75 -63 lines
Diff to previous 1.11.8.3 (colored) to branchpoint 1.11 (colored) to selected 1.11.8.6 (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.11.8.3 / (download) - annotate - [select for diffs], Sun Nov 1 13:58:46 2009 UTC (14 years, 5 months ago) by jym
Branch: jym-xensuspend
Changes since 1.11.8.2: +14 -56 lines
Diff to previous 1.11.8.2 (colored) to branchpoint 1.11 (colored) to selected 1.11.8.6 (colored)

Sync with HEAD.

Revision 1.13 / (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.12: +2 -7 lines
Diff to previous 1.12 (colored) to selected 1.11.8.6 (colored)

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

Revision 1.8.2.2 / (download) - annotate - [select for diffs], Wed Aug 19 18:46:54 2009 UTC (14 years, 8 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.8.2.1: +8 -31 lines
Diff to previous 1.8.2.1 (colored) to branchpoint 1.8 (colored) to selected 1.11.8.6 (colored)

sync with head.

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

remove Xen2 support.
ok bouyer@

Revision 1.11.8.2 / (download) - annotate - [select for diffs], Fri May 29 17:30:51 2009 UTC (14 years, 10 months ago) by jym
Branch: jym-xensuspend
Changes since 1.11.8.1: +10 -8 lines
Diff to previous 1.11.8.1 (colored) to branchpoint 1.11 (colored) to selected 1.11.8.6 (colored)

- use uvm_km_alloc() instead of kmem_alloc() to enforce alignement when
allocating p2m_frame pages (xentools can only deal with page-aligned addresses)
- *sigh* do not use paddr_t for p2m_frame_list_list with PAE, xentools expect
32 bits addresses even with 64 bits PTE...

Revision 1.8.2.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.8: +118 -3 lines
Diff to previous 1.8 (colored) to selected 1.11.8.6 (colored)

sync with head.

Revision 1.11.8.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.11: +14 -2 lines
Diff to previous 1.11 (colored) to selected 1.11.8.6 (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.6.6.4 / (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.6.6.3: +1 -1 lines
Diff to previous 1.6.6.3 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored) to selected 1.11.8.6 (colored)

Sync with HEAD.

Revision 1.9.2.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.9.2.1: +3 -3 lines
Diff to previous 1.9.2.1 (colored) to branchpoint 1.9 (colored) next main 1.10 (colored) to selected 1.11.8.6 (colored)

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

Revision 1.11 / (download) - annotate - [select for diffs], Tue Oct 21 15:46:32 2008 UTC (15 years, 6 months ago) by cegger
Branch: MAIN
CVS Tags: yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, nick-hppapmap, 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, mjf-devfs2-base, 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, jymxensuspend-base, haad-nbase2, haad-dm-base2, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Branch point for: jym-xensuspend
Changes since 1.10: +3 -3 lines
Diff to previous 1.10 (colored) to selected 1.11.8.6 (colored)

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

Revision 1.9.2.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.9: +117 -2 lines
Diff to previous 1.9 (colored) to selected 1.11.8.6 (colored)

Sync with HEAD.

Revision 1.6.6.3 / (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.6.6.2: +115 -0 lines
Diff to previous 1.6.6.2 (colored) to branchpoint 1.6 (colored) to selected 1.11.8.6 (colored)

Sync with HEAD.

Revision 1.8.4.2 / (download) - annotate - [select for diffs], Wed Sep 24 16:38:50 2008 UTC (15 years, 6 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.8.4.1: +117 -2 lines
Diff to previous 1.8.4.1 (colored) to branchpoint 1.8 (colored) next main 1.9 (colored) to selected 1.11.8.6 (colored)

Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.

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

Sync with wrstuden-revivesa-base-2.

Revision 1.10 / (download) - annotate - [select for diffs], Tue Sep 16 19:55:32 2008 UTC (15 years, 7 months ago) by bouyer
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, haad-dm-base1
Changes since 1.9: +117 -2 lines
Diff to previous 1.9 (colored) to selected 1.11.8.6 (colored)

Implement the arch-dependent p2m frame lists list.  This adds support for
'xm dump-core' for NetBSD domUs.
From Jean-Yves Migeon (jean-yves dot migeon at espci dot fr)

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

Sync with head.

Revision 1.6.6.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.6.6.1: +1 -1 lines
Diff to previous 1.6.6.1 (colored) to branchpoint 1.6 (colored) to selected 1.11.8.6 (colored)

Sync with HEAD.

Revision 1.9 / (download) - annotate - [select for diffs], Tue Jul 1 18:49:21 2008 UTC (15 years, 9 months ago) by bouyer
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-2, simonb-wapbl-nbase, simonb-wapbl-base
Branch point for: haad-dm
Changes since 1.8: +3 -3 lines
Diff to previous 1.8 (colored) to selected 1.11.8.6 (colored)

Raise ci_idepth (and switch to interrupt stack on i386) becore calling
xenevt_event().

Revision 1.6.6.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.6: +22 -16 lines
Diff to previous 1.6 (colored) to selected 1.11.8.6 (colored)

Sync with HEAD.

Revision 1.7.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.7: +20 -14 lines
Diff to previous 1.7 (colored) next main 1.8 (colored) to selected 1.11.8.6 (colored)

sync with head.

Revision 1.8 / (download) - annotate - [select for diffs], Mon Apr 21 15:15:34 2008 UTC (16 years ago) by cegger
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base2, yamt-nfs-mp-base, wrstuden-revivesa-base-1, wrstuden-revivesa-base, hpcarm-cleanup-nbase
Branch point for: yamt-nfs-mp, wrstuden-revivesa, simonb-wapbl
Changes since 1.7: +20 -14 lines
Diff to previous 1.7 (colored) to selected 1.11.8.6 (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.7 / (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.6: +4 -4 lines
Diff to previous 1.6 (colored) to selected 1.11.8.6 (colored)

- use POSIX integer types
- ansify functions

Revision 1.4.2.3 / (download) - annotate - [select for diffs], Sun Mar 23 02:04:30 2008 UTC (16 years, 1 month ago) by matt
Branch: matt-armv6
Changes since 1.4.2.2: +40 -28 lines
Diff to previous 1.4.2.2 (colored) to branchpoint 1.4 (colored) next main 1.5 (colored) to selected 1.11.8.6 (colored)

sync with HEAD

Revision 1.2.8.4 / (download) - annotate - [select for diffs], Wed Feb 27 08:36:29 2008 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.2.8.3: +40 -28 lines
Diff to previous 1.2.8.3 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored) to selected 1.11.8.6 (colored)

sync with head.

Revision 1.6 / (download) - annotate - [select for diffs], Tue Feb 19 19:50:53 2008 UTC (16 years, 2 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-lazymbuf-base15, yamt-lazymbuf-base14, nick-net80211-sync-base, nick-net80211-sync, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base, ad-socklock-base1
Branch point for: mjf-devfs2
Changes since 1.5: +24 -24 lines
Diff to previous 1.5 (colored) to selected 1.11.8.6 (colored)

The event bitmasks provided by the hypervisor are unsigned long (so 64bits
on amd64). Make sure to use the right type to store and manipulate them.
This fixes amd64, where basically any event channel > 31 was not working
(and you get there after starting/stopping a domU a few times). Things
would occasionally unwedge though the spllower() callbacks.

Revision 1.5 / (download) - annotate - [select for diffs], Tue Feb 19 13:25:53 2008 UTC (16 years, 2 months ago) by bouyer
Branch: MAIN
Changes since 1.4: +18 -6 lines
Diff to previous 1.4 (colored) to selected 1.11.8.6 (colored)

Fix xenevt to not call softint_schedule() above IPL_HIGH:
Register a ipl callback for IPL_HIGH.
if the current ipl level is too high, just record the event in a bitmap,
and record IPL_HIGH as pending. The callback will process the pending events.

Revision 1.2.8.3 / (download) - annotate - [select for diffs], Mon Jan 21 09:40:32 2008 UTC (16 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.2.8.2: +2 -8 lines
Diff to previous 1.2.8.2 (colored) to branchpoint 1.2 (colored) to selected 1.11.8.6 (colored)

sync with head

Revision 1.4.2.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:50:14 2008 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.4.2.1: +342 -0 lines
Diff to previous 1.4.2.1 (colored) to branchpoint 1.4 (colored) to selected 1.11.8.6 (colored)

sync with HEAD

Revision 1.2.12.2 / (download) - annotate - [select for diffs], Wed Jan 2 21:51:33 2008 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.2.12.1: +2 -3 lines
Diff to previous 1.2.12.1 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored) to selected 1.11.8.6 (colored)

Sync with HEAD

Revision 1.1.4.2 / (download) - annotate - [select for diffs], Thu Dec 27 00:43:30 2007 UTC (16 years, 3 months ago) by mjf
Branch: mjf-devfs
Changes since 1.1.4.1: +2 -8 lines
Diff to previous 1.1.4.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored) to selected 1.11.8.6 (colored)

Sync with HEAD.

Revision 1.2.6.1 / (download) - annotate - [select for diffs], Wed Dec 26 19:43:02 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking2
Changes since 1.2: +2 -8 lines
Diff to previous 1.2 (colored) next main 1.3 (colored) to selected 1.11.8.6 (colored)

Sync with head.

Revision 1.4.2.1, Thu Dec 20 23:46:11 2007 UTC (16 years, 4 months ago) by matt
Branch: matt-armv6
Changes since 1.4: +0 -342 lines
FILE REMOVED

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

Revision 1.4 / (download) - annotate - [select for diffs], Thu Dec 20 23:46:11 2007 UTC (16 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: vmlocking2-base3, mjf-devfs-base, matt-armv6-base, bouyer-xeni386-nbase, bouyer-xeni386-base
Branch point for: matt-armv6
Changes since 1.3: +2 -3 lines
Diff to previous 1.3 (colored) to selected 1.11.8.6 (colored)

- Make __cpu_simple_lock and similar real functions and patch at runtime.
- Remove old x86 atomic ops.
- Drop text alignment back to 16 on i386 (really, this time).
- Minor cleanup.

Revision 1.2.12.1 / (download) - annotate - [select for diffs], Thu Dec 13 19:36:00 2007 UTC (16 years, 4 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.2: +2 -7 lines
Diff to previous 1.2 (colored) to selected 1.11.8.6 (colored)

cleanup the way debug event is handled: make it bypass the IPL system
completely, it's called by shortcuts in the normal path because we want it to
be always called, even if the IPL is high.
Fix debug even recursion on XEN2

Revision 1.2.10.1 / (download) - annotate - [select for diffs], Thu Dec 13 05:05:24 2007 UTC (16 years, 4 months ago) by yamt
Branch: yamt-kmem
Changes since 1.2: +2 -7 lines
Diff to previous 1.2 (colored) next main 1.3 (colored) to selected 1.11.8.6 (colored)

sync with head.

Revision 1.3 / (download) - annotate - [select for diffs], Wed Dec 12 22:16:32 2007 UTC (16 years, 4 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-kmem-base3
Changes since 1.2: +2 -7 lines
Diff to previous 1.2 (colored) to selected 1.11.8.6 (colored)

cleanup the debug event handler to not use the IPL system at all. Fix
debug event storm on XEN2.

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

Sync with HEAD.

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

sync with head

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

Sync with HEAD.

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

Sync with HEAD. amd64 Xen support needs testing.

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

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

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

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

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

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

Revision 1.2 / (download) - annotate - [select for diffs], Thu Nov 22 16:17:03 2007 UTC (16 years, 5 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-kmem-base2, yamt-kmem-base, vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, cube-autoconf-base, cube-autoconf
Branch point for: yamt-lazymbuf, yamt-kmem, vmlocking2, vmlocking, jmcneill-pm, bouyer-xeni386
Changes since 1.1: +348 -0 lines
Diff to previous 1.1 (colored) to selected 1.11.8.6 (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:20 2007 UTC (16 years, 6 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.1: +348 -0 lines
Diff to previous 1.1 (colored) next main 1.2 (colored) to selected 1.11.8.6 (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:20 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 hypervisor_machdep.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>