The NetBSD Project

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

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.27.4.1 / (download) - annotate - [select for diffs], Wed Oct 18 16:53:03 2023 UTC (5 months, 3 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.27: +39 -2 lines
Diff to previous 1.27 (colored) next main 1.28 (colored)

Pull up following revision(s) (requested by bouyer in ticket #428):

	sys/arch/xen/xen/xen_machdep.c: revision 1.28
	sys/arch/x86/pci/pci_machdep.c: revision 1.97
	sys/arch/xen/xen/genfb_xen.c: revision 1.1
	sys/arch/xen/xen/genfb_xen.c: revision 1.2
	sys/arch/xen/include/hypervisor.h: revision 1.59
	sys/arch/i386/conf/XEN3PAE_DOM0: revision 1.41 (patch)
	sys/arch/x86/x86/genfb_machdep.c: revision 1.22
	sys/arch/xen/x86/consinit.c: revision 1.18
	sys/arch/xen/x86/autoconf.c: revision 1.26
	sys/external/mit/xen-include-public/dist/xen/include/public/platform.h: revision 1.2
	sys/arch/xen/conf/files.xen: revision 1.188
	sys/arch/x86/x86/consinit.c: revision 1.37
	sys/arch/xen/conf/files.xen: revision 1.189
	sys/arch/x86/x86/consinit.c: revision 1.38
	sys/external/mit/xen-include-public/dist/xen/include/public/xen.h: revision 1.2
	sys/arch/x86/include/genfb_machdep.h: revision 1.7
	sys/arch/xen/x86/pvh_consinit.c: revision 1.5
	sys/arch/xen/x86/pvh_consinit.c: revision 1.6
	sys/arch/amd64/conf/XEN3_DOM0: revision 1.201

Move the pvh_xencons so xen_machdep.c as early_xencons, so it can be
used in the future as early ouput for plain PV guests too.

Support non-VGA framebuffers for Xen dom0. This is mandatory for graphic
console on EFI-only hardware.

Add a xen_genfb_getbtinfo() function which will return a btinfo_framebuffer
    structure, filled in with parameters provided by Xen

when runing as a Xen dom0, call xen_genfb_getbtinfo() instead of
    lookup_bootinfo(BTINFO_FRAMEBUFFER) when adding properties to the
    PCI graphic device (when genfb is attached) and in x86_genfb_init()
    when genfb is used as console.

x86/x86/consinit.c: If running as a Xen dom0, use xen_genfb_getbtinfo()
    to check if we have a genfb console

xen/x86/consinit.c: support genfb as possible console

xen/x86/consinit.c: use the hypervior IO as console until a better one
    is found. If the hypervisor is using a serial port for boot messages,
    we'll get NetBSD's boot message on the serial port too until
    the real console takes over.

xen/x86/autoconf.c: rework device_register() to be closer to the x86 version.
    Especially make sure that device_pci_register() is called.

Make sure to always fall back to xen_early_console, even for dom0

Enable genfb in DOM0 kernels

Add ext_lfb_base to dom0_vga_console_info, from recent Xen. We know if it's
present or not by checking dom0.info_size

Add XENPF_get_dom0_console, which gets a dom0_vga_console_info stucture
from the hypervisor. To be used by PVH dom0 kernels.

XENPVH option is not used. Fix consinit.c to use XENPVHVM as intended
and XENPVH from defflag
for a dom0 PVH, the dom0_vga_console_info structure has to be retrieved
using a platform hypercall; do so in the XENPVHVM case.

Now genfb works in a PVH dom0 running on Xen 4.18 (Xen 4.15 doesn't support
this platoform op, so no way to make it work here).

Revision 1.29 / (download) - annotate - [select for diffs], Tue Oct 17 10:24:11 2023 UTC (5 months, 4 weeks ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, HEAD
Changes since 1.28: +3 -3 lines
Diff to previous 1.28 (colored)

xen_machdep.c: Nix trailing whitespace.

No functional change intended.

Revision 1.28 / (download) - annotate - [select for diffs], Mon Oct 16 17:31:18 2023 UTC (5 months, 4 weeks ago) by bouyer
Branch: MAIN
Changes since 1.27: +39 -2 lines
Diff to previous 1.27 (colored)

Move the pvh_xencons so xen_machdep.c as early_xencons, so it can be
used in the future as early ouput for plain PV guests too.

Revision 1.27 / (download) - annotate - [select for diffs], Sat Aug 20 23:48:51 2022 UTC (19 months, 3 weeks ago) by riastradh
Branch: MAIN
CVS Tags: netbsd-10-base, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Branch point for: netbsd-10
Changes since 1.26: +4 -2 lines
Diff to previous 1.26 (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.26 / (download) - annotate - [select for diffs], Thu Jun 4 08:24:44 2020 UTC (3 years, 10 months ago) by msaitoh
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.25: +2 -5 lines
Diff to previous 1.25 (colored)

 G.C. No functional change. OK'd by bouyer@.

Revision 1.25 / (download) - annotate - [select for diffs], Tue May 19 21:57:25 2020 UTC (3 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.24: +2 -9 lines
Diff to previous 1.24 (colored)

Remove duplicate def of tsc_get_timecount().

Revision 1.24 / (download) - annotate - [select for diffs], Sat May 2 16:44:36 2020 UTC (3 years, 11 months ago) by bouyer
Branch: MAIN
Changes since 1.23: +104 -10 lines
Diff to previous 1.23 (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.23 / (download) - annotate - [select for diffs], Sat Apr 25 15:26:18 2020 UTC (3 years, 11 months ago) by bouyer
Branch: MAIN
Changes since 1.22: +3 -2 lines
Diff to previous 1.22 (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.22.10.1 / (download) - annotate - [select for diffs], Thu Apr 16 08:46:36 2020 UTC (3 years, 11 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.22: +3 -2 lines
Diff to previous 1.22 (colored) next main 1.23 (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.16.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:06:56 2019 UTC (4 years, 10 months ago) by christos
Branch: phil-wifi
Changes since 1.16: +45 -6 lines
Diff to previous 1.16 (colored) next main 1.17 (colored)

Sync with HEAD

Revision 1.22 / (download) - annotate - [select for diffs], Sat Mar 9 08:42:25 2019 UTC (5 years, 1 month ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2, is-mlppp-base, is-mlppp, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Branch point for: bouyer-xenpvh
Changes since 1.21: +3 -3 lines
Diff to previous 1.21 (colored)

Start replacing the x86 PTE bits.

Revision 1.21 / (download) - annotate - [select for diffs], Wed Feb 13 06:52:43 2019 UTC (5 years, 2 months ago) by cherry
Branch: MAIN
Changes since 1.20: +4 -2 lines
Diff to previous 1.20 (colored)

Further restrict the scope of XENPV to relevant parts.

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

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

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

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

Sync with HEAD

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

Merge the content of xen_debug.c into xen_machdep.c, there is only one
function.

Revision 1.18 / (download) - annotate - [select for diffs], Sat Jun 30 20:53:30 2018 UTC (5 years, 9 months ago) by kre
Branch: MAIN
Changes since 1.17: +5 -4 lines
Diff to previous 1.17 (colored)


Build fix bandaid.

This allows the builds including XEN to complete, but XEN kernels
built from these sources (at least, DomU) do not boot successfully.

Revision 1.17 / (download) - annotate - [select for diffs], Sat Jun 30 14:55:13 2018 UTC (5 years, 9 months ago) by riastradh
Branch: MAIN
Changes since 1.16: +25 -4 lines
Diff to previous 1.16 (colored)

Use xcall to suspend/resume clocks on _all_ CPUs, not just current.

Compile-tested only -- kernel still runs but I haven't exercised this
code path.

By code inspection, this change or something like it is obviously
_necessary_ for Xen MP suspend/resume -- otherwise there's no logic
to suspend/resume the clocks on any CPU except the one that actually
triggers sysctl -w machdep.xen.suspend=1.

Whether this change is _sufficient_ for Xen MP suspend/resume to
work, I don't know.

ok cherry

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

Sync with HEAD

Revision 1.16 / (download) - annotate - [select for diffs], Sun Jun 24 20:28:58 2018 UTC (5 years, 9 months ago) by jdolecek
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-0625
Branch point for: phil-wifi
Changes since 1.15: +3 -3 lines
Diff to previous 1.15 (colored)

mark with XXXSMP all remaining spl*() and tsleep() calls

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

update from HEAD

Revision 1.13.16.1 / (download) - annotate - [select for diffs], Sat Jul 9 20:25:00 2016 UTC (7 years, 9 months ago) by skrll
Branch: nick-nhusb
Changes since 1.13: +21 -2 lines
Diff to previous 1.13 (colored) next main 1.14 (colored)

Sync with HEAD

Revision 1.15 / (download) - annotate - [select for diffs], Wed Jun 8 01:59:06 2016 UTC (7 years, 10 months ago) by jnemeth
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-base, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, 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, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: pgoyette-compat
Changes since 1.14: +3 -2 lines
Diff to previous 1.14 (colored)

Feeding uninitialised garbage to the hypervisor is likely to be a bad idea.

Revision 1.14 / (download) - annotate - [select for diffs], Sun May 29 17:06:17 2016 UTC (7 years, 10 months ago) by bouyer
Branch: MAIN
Changes since 1.13: +20 -2 lines
Diff to previous 1.13 (colored)

Switch to elf notes for amd64 instead of the old key=value list to describe the
  guest requirements and support.
Add infrastructure to query the hypervisor about features support.
For verbose boot, print the features suppoted by the hypervisor for this
  guest.

Revision 1.8.2.2 / (download) - annotate - [select for diffs], Tue Oct 30 17:20:37 2012 UTC (11 years, 5 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.8.2.1: +12 -8 lines
Diff to previous 1.8.2.1 (colored) to branchpoint 1.8 (colored) next main 1.9 (colored)

sync with head

Revision 1.13 / (download) - annotate - [select for diffs], Sat Jul 28 02:08:51 2012 UTC (11 years, 8 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, rmind-smpnet, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, nick-nhusb-base, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-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, khorben-n900, agc-symver-base, agc-symver
Branch point for: tls-maxphys, nick-nhusb
Changes since 1.12: +5 -3 lines
Diff to previous 1.12 (colored)

Fix some -fno-common fallout.

Revision 1.10.2.1 / (download) - annotate - [select for diffs], Wed Jul 25 20:52:53 2012 UTC (11 years, 8 months ago) by jdc
Branch: netbsd-6
CVS Tags: netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Changes since 1.10: +4 -5 lines
Diff to previous 1.10 (colored) next main 1.11 (colored)

Pull up revision 1.12 (requested by jym in ticket #437).

Don't leak stack content when reading the Xen suspend value.

XXX pull-up to -6.

Revision 1.12 / (download) - annotate - [select for diffs], Sun Jul 22 19:30:19 2012 UTC (11 years, 8 months ago) by jym
Branch: MAIN
Changes since 1.11: +4 -5 lines
Diff to previous 1.11 (colored)

Don't leak stack content when reading the Xen suspend value.

XXX pull-up to -6.

Revision 1.11 / (download) - annotate - [select for diffs], Sat Jun 30 22:50:37 2012 UTC (11 years, 9 months ago) by jym
Branch: MAIN
Changes since 1.10: +7 -4 lines
Diff to previous 1.10 (colored)

Extend the xpmap API, as described in [1]. This change is mechanical and
avoids exposing the MD phys_to_machine/machine_to_phys tables directly.
Added:

- xpmap_ptom handles PFN (pseudo physical) to MFN (machine frame number)
translations, and is under control of the domain.
- xpmap_mtop is its counterpart (MFN to PFN), and is under control of
hypervisor.

xpmap_ptom_map()      map a pseudo-phys address to a machine address
xpmap_ptom_unmap()    unmap a pseudo-phys address (invalidation)
xpmap_ptom_isvalid()  check for pseudo-phys address validity

The parameters are physical/machine addresses, like bus_dma/bus_space(9).
As x86 MFNs are tracked by u_long (Xen's choice) while machine addresses
can be 64 bits entities (PAE), use ptoa() to avoid truncation when bit
shifting by PAGE_SHIFT.

I kept the same namespace (xpmap_) to avoid code churn.

[1] http://mail-index.netbsd.org/port-xen/2009/05/09/msg004951.html

XXX will document ptoa/atop/trunc_page separately.

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

sync with head

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

merge to -current.

Revision 1.10 / (download) - annotate - [select for diffs], Sun Feb 12 14:38:18 2012 UTC (12 years, 2 months ago) by jym
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, netbsd-6-base, 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: netbsd-6
Changes since 1.9: +4 -4 lines
Diff to previous 1.9 (colored)

Xen clock management routines keep track of CPU (following MP merge).
Reflect this change in the suspend/resume routines so they can cope with
domU CPU suspend, instead of setting their cpu_info pointer to NULL.

Avoid copy/pasting by using the resume routines during attachement.

ok releng@.

No regression observed, and allows domU to suspend successfully again.
Restore is a different beast as PD/PT flags are marked "invalid" by Xen-4
hypervisor, and blocks resuming. Looking into it.

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

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

Turn static internal callbacks of pmap_pdp_cache.

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

Revision 1.8 / (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, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache
Changes since 1.7: +201 -2 lines
Diff to previous 1.7 (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.4.12.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.4.12.9: +24 -17 lines
Diff to previous 1.4.12.9 (colored) to branchpoint 1.4 (colored) next main 1.5 (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.4.12.9 / (download) - annotate - [select for diffs], Wed Aug 24 21:37:05 2011 UTC (12 years, 7 months ago) by jym
Branch: jym-xensuspend
Changes since 1.4.12.8: +28 -18 lines
Diff to previous 1.4.12.8 (colored) to branchpoint 1.4 (colored)

Now that Xen sysctl(7) moved under machdep, create a machdep.xen.suspend
node to command suspension.

Revision 1.4.12.8 / (download) - annotate - [select for diffs], Thu May 26 22:32:39 2011 UTC (12 years, 10 months ago) by jym
Branch: jym-xensuspend
Changes since 1.4.12.7: +4 -4 lines
Diff to previous 1.4.12.7 (colored) to branchpoint 1.4 (colored)

balloon is now supported, update comment.

Revision 1.4.12.7 / (download) - annotate - [select for diffs], Mon Jan 10 00:37:39 2011 UTC (13 years, 3 months ago) by jym
Branch: jym-xensuspend
Changes since 1.4.12.6: +3 -3 lines
Diff to previous 1.4.12.6 (colored) to branchpoint 1.4 (colored)

Sync with HEAD

Revision 1.4.16.1 / (download) - annotate - [select for diffs], Wed Apr 21 00:33:45 2010 UTC (13 years, 11 months ago) by matt
Branch: matt-nb5-mips64
CVS Tags: matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-k15
Changes since 1.4: +7 -2 lines
Diff to previous 1.4 (colored) next main 1.5 (colored)

sync to netbsd-5

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

sync with head

Revision 1.4.12.6 / (download) - annotate - [select for diffs], Sun Nov 1 21:43:28 2009 UTC (14 years, 5 months ago) by jym
Branch: jym-xensuspend
Changes since 1.4.12.5: +184 -2 lines
Diff to previous 1.4.12.5 (colored) to branchpoint 1.4 (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.4.12.5 / (download) - annotate - [select for diffs], Sun Nov 1 13:58:47 2009 UTC (14 years, 5 months ago) by jym
Branch: jym-xensuspend
Changes since 1.4.12.4: +2 -202 lines
Diff to previous 1.4.12.4 (colored) to branchpoint 1.4 (colored)

Sync with HEAD.

Revision 1.7 / (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, rmind-uvmplock-nbase, rmind-uvmplock-base, rmind-uvmplock, matt-premerge-20091211, matt-mips64-premerge-20101231, jym-xensuspend-nbase, jym-xensuspend-base, jruoho-x86intr-base, jruoho-x86intr, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Changes since 1.6: +2 -7 lines
Diff to previous 1.6 (colored)

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

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

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

Revision 1.4.8.1 / (download) - annotate - [select for diffs], Sat Oct 3 23:54:05 2009 UTC (14 years, 6 months ago) by snj
Branch: netbsd-5
CVS Tags: 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, matt-nb5-pq3-base, matt-nb5-pq3
Changes since 1.4: +7 -2 lines
Diff to previous 1.4 (colored) next main 1.5 (colored)

Pull up following revision(s) (requested by bouyer in ticket #1054):
	sys/arch/xen/conf/files.xen: revision 1.93
	sys/arch/xen/include/pci_machdep.h: revision 1.11
	sys/arch/xen/include/xen.h: revision 1.31
	sys/arch/xen/xen/hypervisor.c: revision 1.44
	sys/arch/xen/xen/pci_intr_machdep.c: revision 1.8
	sys/arch/xen/xen/pciback.c: revision 1.1
	sys/arch/xen/xen/xen_machdep.c: revision 1.5
	sys/arch/xen/xen/xpci_xenbus.c: revision 1.1
Work in progress on PCI front-end/back-end support
front-end:
- add a xpci* at xenbus? which provides pci busses from the dom0
  xpci provides support routines for PCI config space operations and
  enumeration in xpci_xenbus.c
- hypervisor.c: do dom0-style PCI attach only ifdef DOM0OPS
- pci_intr_machdep.c:  check line value only if DOM0OPS
back-end:
- add a pciback* at pci? device which takes precedences over all
  other PCI devices (match return 500) and matches all devices passed
  to pciback.hide option on boot command line.
  It exports the PCI device informations to files in /kern/xen/pci/
- hypervisor.c: create /kern/xen earlier so pciback can create its
  entries while PCI devices are probed
- xen_machdep.c: add handling for pciback.hide=
frontend is know working on Xen 3.1.x dom0 with ahc(4) and pciide(4)
devices. uhci(4) fail when trying to allocate a large contigous DMA
buffer.
backend is work in progress; support in xentools is not there yet.

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

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

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

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

TODO:

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

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

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

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

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

Modifications for the Xen suspend/migrate/resume branch:

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

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

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

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

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

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

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

TODO/XXX:

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

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

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

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

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

Revision 1.4.12.2 / (download) - annotate - [select for diffs], Wed May 13 17:18:50 2009 UTC (14 years, 11 months ago) by jym
Branch: jym-xensuspend
Changes since 1.4.12.1: +8 -2 lines
Diff to previous 1.4.12.1 (colored) to branchpoint 1.4 (colored)

Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.

Revision 1.2.26.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.2.26.1: +7 -2 lines
Diff to previous 1.2.26.1 (colored) to branchpoint 1.2 (colored)

sync with head.

Revision 1.4.6.1 / (download) - annotate - [select for diffs], Tue Mar 3 18:29:49 2009 UTC (15 years, 1 month ago) by skrll
Branch: nick-hppapmap
Changes since 1.4: +7 -2 lines
Diff to previous 1.4 (colored) next main 1.5 (colored)

Sync with HEAD.

Revision 1.5 / (download) - annotate - [select for diffs], Fri Feb 13 21:04:00 2009 UTC (15 years, 2 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, 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, jymxensuspend-base
Changes since 1.4: +7 -2 lines
Diff to previous 1.4 (colored)

Work in progress on PCI front-end/back-end support
front-end:
- add a xpci* at xenbus? which provides pci busses from the dom0
  xpci provides support routines for PCI config space operations and
  enumeration in xpci_xenbus.c
- hypervisor.c: do dom0-style PCI attach only ifdef DOM0OPS
- pci_intr_machdep.c:  check line value only if DOM0OPS

back-end:
- add a pciback* at pci? device which takes precedences over all
  other PCI devices (match return 500) and matches all devices passed
  to pciback.hide option on boot command line.
  It exports the PCI device informations to files in /kern/xen/pci/
- hypervisor.c: create /kern/xen earlier so pciback can create its
  entries while PCI devices are probed
- xen_machdep.c: add handling for pciback.hide=

frontend is know working on Xen 3.1.x dom0 with ahc(4) and pciide(4)
devices. uhci(4) fail when trying to allocate a large contigous DMA
buffer.

backend is work in progress; support in xentools is not there yet.

Revision 1.4.12.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.4: +176 -2 lines
Diff to previous 1.4 (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.3.2.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:30:51 2008 UTC (15 years, 9 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.3: +13 -2 lines
Diff to previous 1.3 (colored) next main 1.4 (colored)

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

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

Sync with HEAD.

Revision 1.2.24.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.2: +15 -2 lines
Diff to previous 1.2 (colored) next main 1.3 (colored)

sync with head.

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

sync with head.

Revision 1.4 / (download) - annotate - [select for diffs], Sat May 10 16:27:57 2008 UTC (15 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base2, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, netbsd-5-base, 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, mjf-devfs2-base, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20091211, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, hpcarm-cleanup-nbase, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, netbsd-5, matt-nb5-mips64, jym-xensuspend
Changes since 1.3: +13 -2 lines
Diff to previous 1.3 (colored)

Make xen build after tsc changes.

Revision 1.3 / (download) - annotate - [select for diffs], Mon May 5 17:47:06 2008 UTC (15 years, 11 months ago) by ad
Branch: MAIN
Branch point for: wrstuden-revivesa
Changes since 1.2: +4 -2 lines
Diff to previous 1.2 (colored)

Export tsc_freq via sysctl.

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

sync with HEAD

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

Sync with HEAD.

Revision 1.2.8.2 / (download) - annotate - [select for diffs], Fri Dec 7 17:27:24 2007 UTC (16 years, 4 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.2.8.1: +198 -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:47 2007 UTC (16 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.2.4.1: +396 -0 lines
Diff to previous 1.2.4.1 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)

Sync with HEAD.

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

Sync with HEAD. amd64 Xen support needs testing.

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

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

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

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

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

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

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

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

Revision 1.2 / (download) - annotate - [select for diffs], Thu Nov 22 16:17:09 2007 UTC (16 years, 4 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base, yamt-nfs-mp-base, 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-pf42, yamt-nfs-mp, yamt-lazymbuf, vmlocking, mjf-devfs2, matt-armv6, jmcneill-pm
Changes since 1.1: +198 -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.2.1 / (download) - annotate - [select for diffs], Wed Oct 17 21:08:26 2007 UTC (16 years, 6 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.1: +198 -0 lines
Diff to previous 1.1 (colored) next main 1.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:26 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_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>