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
Current tag: MAIN


Revision 1.46 / (download) - annotate - [select for diffs], Wed Mar 1 08:13:44 2023 UTC (12 months, 2 weeks ago) by riastradh
Branch: MAIN
CVS Tags: triaxx-drm, 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)

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 (18 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)

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 (18 months, 4 weeks ago) by riastradh
Branch: MAIN
Changes since 1.43: +3 -2 lines
Diff to previous 1.43 (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 (21 months, 2 weeks ago) by bouyer
Branch: MAIN
Changes since 1.42: +9 -2 lines
Diff to previous 1.42 (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 (21 months, 2 weeks ago) by bouyer
Branch: MAIN
Changes since 1.41: +2 -3 lines
Diff to previous 1.41 (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 (21 months, 2 weeks ago) by bouyer
Branch: MAIN
Changes since 1.40: +3 -2 lines
Diff to previous 1.40 (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 (22 months ago) by bouyer
Branch: MAIN
Changes since 1.39: +5 -2 lines
Diff to previous 1.39 (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, 10 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)

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, 10 months ago) by bouyer
Branch: MAIN
Changes since 1.37: +63 -32 lines
Diff to previous 1.37 (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.37 / (download) - annotate - [select for diffs], Tue Apr 21 20:13:40 2020 UTC (3 years, 10 months ago) by jdolecek
Branch: MAIN
CVS Tags: bouyer-xenpvh-base2
Changes since 1.36: +2 -5 lines
Diff to previous 1.36 (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 / (download) - annotate - [select for diffs], Thu May 9 17:09:51 2019 UTC (4 years, 10 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)

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, 1 month 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)

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.34 / (download) - annotate - [select for diffs], Tue Dec 25 06:50:12 2018 UTC (5 years, 2 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)

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.33 / (download) - annotate - [select for diffs], Mon Nov 19 10:05:09 2018 UTC (5 years, 4 months ago) by kre
Branch: MAIN
CVS Tags: pgoyette-compat-1126
Changes since 1.32: +4 -4 lines
Diff to previous 1.32 (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, 4 months ago) by cherry
Branch: MAIN
Changes since 1.31: +4 -3 lines
Diff to previous 1.31 (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, 4 months ago) by cherry
Branch: MAIN
Changes since 1.30: +6 -2 lines
Diff to previous 1.30 (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, 4 months ago) by cherry
Branch: MAIN
Changes since 1.29: +11 -36 lines
Diff to previous 1.29 (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, 4 months ago) by cherry
Branch: MAIN
Changes since 1.28: +8 -3 lines
Diff to previous 1.28 (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.28 / (download) - annotate - [select for diffs], Sun Sep 21 12:46:15 2014 UTC (9 years, 5 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)

Make Xen kernels compile without DIAGNOSTIC

Revision 1.27 / (download) - annotate - [select for diffs], Sun Jan 13 21:01:05 2013 UTC (11 years, 2 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)

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, 2 months ago) by bouyer
Branch: MAIN
Changes since 1.25: +22 -24 lines
Diff to previous 1.25 (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, 2 months ago) by bouyer
Branch: MAIN
Changes since 1.24: +9 -78 lines
Diff to previous 1.24 (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, 2 months ago) by cherry
Branch: MAIN
Changes since 1.23: +80 -11 lines
Diff to previous 1.23 (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, 3 months ago) by cherry
Branch: MAIN
CVS Tags: yamt-pagecache-base7
Changes since 1.22: +24 -22 lines
Diff to previous 1.22 (colored)

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

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

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

Revision 1.21 / (download) - annotate - [select for diffs], Tue Dec 27 07:47:00 2011 UTC (12 years, 2 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)

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, 2 months ago) by cherry
Branch: MAIN
Changes since 1.19: +7 -5 lines
Diff to previous 1.19 (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, 2 months ago) by cherry
Branch: MAIN
Changes since 1.18: +7 -5 lines
Diff to previous 1.18 (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, 3 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)

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, 4 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)

[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.16 / (download) - annotate - [select for diffs], Tue Sep 20 00:12:24 2011 UTC (12 years, 6 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)

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.15 / (download) - annotate - [select for diffs], Wed Aug 10 21:46:02 2011 UTC (12 years, 7 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)

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

Revision 1.14 / (download) - annotate - [select for diffs], Wed Mar 30 21:53:58 2011 UTC (12 years, 11 months 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)

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.13 / (download) - annotate - [select for diffs], Fri Oct 23 02:32:34 2009 UTC (14 years, 4 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)

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

Revision 1.12 / (download) - annotate - [select for diffs], Wed Jul 29 12:02:08 2009 UTC (14 years, 7 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)

remove Xen2 support.
ok bouyer@

Revision 1.11 / (download) - annotate - [select for diffs], Tue Oct 21 15:46:32 2008 UTC (15 years, 5 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)

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

Revision 1.10 / (download) - annotate - [select for diffs], Tue Sep 16 19:55:32 2008 UTC (15 years, 6 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)

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.9 / (download) - annotate - [select for diffs], Tue Jul 1 18:49:21 2008 UTC (15 years, 8 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)

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

Revision 1.8 / (download) - annotate - [select for diffs], Mon Apr 21 15:15:34 2008 UTC (15 years, 11 months 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)

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 (15 years, 11 months 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)

- use POSIX integer types
- ansify functions

Revision 1.6 / (download) - annotate - [select for diffs], Tue Feb 19 19:50:53 2008 UTC (16 years, 1 month 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)

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, 1 month ago) by bouyer
Branch: MAIN
Changes since 1.4: +18 -6 lines
Diff to previous 1.4 (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.4 / (download) - annotate - [select for diffs], Thu Dec 20 23:46:11 2007 UTC (16 years, 3 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)

- 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.3 / (download) - annotate - [select for diffs], Wed Dec 12 22:16:32 2007 UTC (16 years, 3 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-kmem-base3
Changes since 1.2: +2 -7 lines
Diff to previous 1.2 (colored)

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

Revision 1.2 / (download) - annotate - [select for diffs], Thu Nov 22 16:17:03 2007 UTC (16 years, 3 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)

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

Revision 1.1, Wed Oct 17 21:08:20 2007 UTC (16 years, 5 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>