The NetBSD Project

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

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.33 / (download) - annotate - [select for diffs], Sat Aug 20 23:48:51 2022 UTC (19 months, 4 weeks ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, 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, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.32: +4 -3 lines
Diff to previous 1.32 (colored) to selected 1.5.2.1 (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.32 / (download) - annotate - [select for diffs], Wed May 6 19:50:26 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.31: +11 -8 lines
Diff to previous 1.31 (colored) to selected 1.5.2.1 (colored)

Make MP-safe: make sure the xpq_queue* are flushed before making the
pages visible to UVM.

Revision 1.31 / (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.30: +8 -3 lines
Diff to previous 1.30 (colored) to selected 1.5.2.1 (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.28.10.2 / (download) - annotate - [select for diffs], Mon Apr 20 19:40:23 2020 UTC (3 years, 11 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.28.10.1: +8 -3 lines
Diff to previous 1.28.10.1 (colored) to branchpoint 1.28 (colored) next main 1.29 (colored) to selected 1.5.2.1 (colored)

We need xenbus_bus_dma_tag for PVHVM too, but without phys->machine translation

Revision 1.28.10.1 / (download) - annotate - [select for diffs], Mon Apr 20 11:29:01 2020 UTC (3 years, 11 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.28: +16 -7 lines
Diff to previous 1.28 (colored) to selected 1.5.2.1 (colored)

Sync with HEAD

Revision 1.27.2.2 / (download) - annotate - [select for diffs], Mon Apr 13 08:04:12 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.27.2.1: +16 -7 lines
Diff to previous 1.27.2.1 (colored) to branchpoint 1.27 (colored) next main 1.28 (colored) to selected 1.5.2.1 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.30 / (download) - annotate - [select for diffs], Fri Apr 10 14:54:33 2020 UTC (4 years ago) by jdolecek
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, bouyer-xenpvh-base2, bouyer-xenpvh-base1
Changes since 1.29: +11 -2 lines
Diff to previous 1.29 (colored) to selected 1.5.2.1 (colored)

add and pass dma tag to PV drivers attached to xenbus, so thay can
use bus_dmamap_load_mbuf() et.al.

due to XENPV override, _BUS_BUS_TO_PHYS() dmamap segment ds_addr
gets filled with ma, so value can be directly used for e.g. grant calls

Revision 1.29 / (download) - annotate - [select for diffs], Thu Apr 9 19:26:37 2020 UTC (4 years ago) by jdolecek
Branch: MAIN
Changes since 1.28: +7 -7 lines
Diff to previous 1.28 (colored) to selected 1.5.2.1 (colored)

update to __XEN_INTERFACE_VERSION__ 0x0003020a aka Xen 3.2.10

this brings grant memory v2 support:
- status separated from flags - revoking access needs just memory barrier,
  no need for expensive cmpxchg16 any more
- sub-page hypervisor copy-only grants, to be used by xennet(4)
- 64-bit frame, i.e. support for DomU RAM >16TB

the grant table is now always allocated on boot to maximum size, it's now
never grown in runtime; switch back to regular kmem_alloc()/kmem_free()

code now requires v2 support, no compatibility for grant version 1 retained -
Xen v2 support predates all currently supported Xen versions

also interface for baloon changed slightly, code updated

Revision 1.27.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.27: +3 -3 lines
Diff to previous 1.27 (colored) to selected 1.5.2.1 (colored)

Sync with HEAD

Revision 1.26.38.2 / (download) - annotate - [select for diffs], Thu Sep 6 06:55:44 2018 UTC (5 years, 7 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.26.38.1: +3 -3 lines
Diff to previous 1.26.38.1 (colored) to branchpoint 1.26 (colored) next main 1.27 (colored) to selected 1.5.2.1 (colored)

Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)

Revision 1.28 / (download) - annotate - [select for diffs], Mon Sep 3 16:29:29 2018 UTC (5 years, 7 months ago) by riastradh
Branch: MAIN
CVS Tags: phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, 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-base, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Branch point for: bouyer-xenpvh
Changes since 1.27: +3 -3 lines
Diff to previous 1.27 (colored) to selected 1.5.2.1 (colored)

Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int.  The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER!  Some subsystems have

	#define min(a, b)	((a) < (b) ? (a) : (b))
	#define max(a, b)	((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX.  Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate.  But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all.  (Who knows, maybe in some cases integer
truncation is actually intended!)

Revision 1.26.38.1 / (download) - annotate - [select for diffs], Mon Jun 25 07:25:47 2018 UTC (5 years, 9 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.26: +4 -4 lines
Diff to previous 1.26 (colored) to selected 1.5.2.1 (colored)

Sync with HEAD

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

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

Revision 1.23.2.1 / (download) - annotate - [select for diffs], Tue Oct 30 17:20:36 2012 UTC (11 years, 5 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.23: +9 -13 lines
Diff to previous 1.23 (colored) next main 1.24 (colored) to selected 1.5.2.1 (colored)

sync with head

Revision 1.26 / (download) - annotate - [select for diffs], Sat Jun 30 23:36:20 2012 UTC (11 years, 9 months ago) by jym
Branch: MAIN
CVS Tags: yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, tls-maxphys-base-20171202, tls-maxphys-base, tls-maxphys, 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, 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, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, nick-nhusb-base, nick-nhusb, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, khorben-n900, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, agc-symver-base, agc-symver
Branch point for: pgoyette-compat
Changes since 1.25: +5 -5 lines
Diff to previous 1.25 (colored) to selected 1.5.2.1 (colored)

Use setter to set xenguest_handles.

Revision 1.25 / (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.24: +6 -7 lines
Diff to previous 1.24 (colored) to selected 1.5.2.1 (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.24 / (download) - annotate - [select for diffs], Wed Jun 27 00:37:10 2012 UTC (11 years, 9 months ago) by jym
Branch: MAIN
Changes since 1.23: +6 -9 lines
Diff to previous 1.23 (colored) to selected 1.5.2.1 (colored)

Retire XEN_COMPAT_030001 as detailed on port-xen@:

http://mail-index.netbsd.org/port-xen/2012/06/25/msg007431.html

The xen_p2m API comes next.

ok bouyer@.
Tested on i386 PAE and amd64 (Xen 3.3 on private test bed, and
Xen 3.4 for Amazon EC2).

FWIW, Amazon always reported:

hypervisor0 at mainbus0: Xen version 3.4.3-kaos_t1micro

multiple times for Europe and US West-1, so I guess they are now at
3.4 (32 and 64 bits).

Revision 1.22.6.2 / (download) - annotate - [select for diffs], Tue Sep 20 18:57:53 2011 UTC (12 years, 7 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.22.6.1: +2 -4 lines
Diff to previous 1.22.6.1 (colored) to branchpoint 1.22 (colored) next main 1.23 (colored) to selected 1.5.2.1 (colored)

Remove the "xpq lock", since we have per-cpu mmu queues now. This may need further testing. Also add some preliminary locking around queue-ops in the network backend driver

Revision 1.14.2.6 / (download) - annotate - [select for diffs], Sat Aug 27 15:37:32 2011 UTC (12 years, 7 months ago) by jym
Branch: jym-xensuspend
Changes since 1.14.2.5: +3 -3 lines
Diff to previous 1.14.2.5 (colored) to branchpoint 1.14 (colored) next main 1.15 (colored) to selected 1.5.2.1 (colored)

Sync with HEAD. Most notably: uvm/pmap work done by rmind@, and MP Xen
work of cherry@.

No regression observed on suspend/restore.

Revision 1.23 / (download) - annotate - [select for diffs], Fri Jul 1 18:37:08 2011 UTC (12 years, 9 months ago) by dyoung
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, 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, jym-xensuspend-nbase, jym-xensuspend-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10, jmcneill-usbmp-base, jmcneill-usbmp, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache
Changes since 1.22: +3 -3 lines
Diff to previous 1.22 (colored) to selected 1.5.2.1 (colored)

#include <sys/bus.h> instead of <machine/bus.h>.

Revision 1.22.6.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.22: +4 -2 lines
Diff to previous 1.22 (colored) to selected 1.5.2.1 (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.20.2.2 / (download) - annotate - [select for diffs], Sat Mar 5 20:52:34 2011 UTC (13 years, 1 month ago) by rmind
Branch: rmind-uvmplock
Changes since 1.20.2.1: +3 -3 lines
Diff to previous 1.20.2.1 (colored) to branchpoint 1.20 (colored) next main 1.21 (colored) to selected 1.5.2.1 (colored)

sync with head

Revision 1.14.2.5 / (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.14.2.4: +3 -3 lines
Diff to previous 1.14.2.4 (colored) to branchpoint 1.14 (colored) to selected 1.5.2.1 (colored)

Sync with HEAD

Revision 1.11.8.3 / (download) - annotate - [select for diffs], Fri Nov 19 23:19:12 2010 UTC (13 years, 5 months ago) by riz
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, matt-nb5-pq3-base, matt-nb5-pq3
Changes since 1.11.8.2: +30 -15 lines
Diff to previous 1.11.8.2 (colored) to branchpoint 1.11 (colored) next main 1.12 (colored) to selected 1.5.2.1 (colored)

Pull up following revision(s) (requested by bouyer in ticket #1348):
	sys/arch/x86/x86/bus_dma.c: revision 1.54
	sys/arch/xen/x86/xen_bus_dma.c: revision 1.21
bus_dmamem_alloc() may not get a boundary smaller than size, but
it's perfectly valid for bus_dmamap_create() to do so (a contigous
transfers will then split in multiple segment).
Fix _xen_bus_dmamem_alloc_range() and _bus_dmamem_alloc_range() to
allow a boundary limit smaller than size:
- compute appropriate boundary for uvm_pglistalloc(), wich doesn't
  accept boundary < size
- also take care of boundary when deciding to start a new segment.
While there, remove useless boundary argument to _xen_alloc_contig().
Fix the boundary-related issue of PR port-amd64/42980

Revision 1.22 / (download) - annotate - [select for diffs], Fri Nov 12 10:51:14 2010 UTC (13 years, 5 months ago) by njoly
Branch: MAIN
CVS Tags: uebayasi-xip-base7, uebayasi-xip-base6, rmind-uvmplock-nbase, rmind-uvmplock-base, matt-mips64-premerge-20101231, jruoho-x86intr-base, jruoho-x86intr, cherry-xenmp-base, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: cherry-xenmp
Changes since 1.21: +3 -3 lines
Diff to previous 1.21 (colored) to selected 1.5.2.1 (colored)

Include uvm.h not uvm_extern.h following recent changes.

Revision 1.14.2.4 / (download) - annotate - [select for diffs], Sun Oct 24 22:48:22 2010 UTC (13 years, 5 months ago) by jym
Branch: jym-xensuspend
Changes since 1.14.2.3: +40 -25 lines
Diff to previous 1.14.2.3 (colored) to branchpoint 1.14 (colored) to selected 1.5.2.1 (colored)

Sync with HEAD

Revision 1.9.46.5 / (download) - annotate - [select for diffs], Wed Aug 11 22:52:59 2010 UTC (13 years, 8 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.9.46.4: +30 -15 lines
Diff to previous 1.9.46.4 (colored) to branchpoint 1.9 (colored) next main 1.10 (colored) to selected 1.5.2.1 (colored)

sync with head.

Revision 1.8.6.1 / (download) - annotate - [select for diffs], Sun Jun 13 05:48:58 2010 UTC (13 years, 10 months ago) by riz
Branch: netbsd-4
Changes since 1.8: +3 -2 lines
Diff to previous 1.8 (colored) next main 1.9 (colored) to selected 1.5.2.1 (colored)

Pull up following revision(s) (requested by jym in ticket #1388):
	sys/arch/xen/x86/xen_bus_dma.c: revision 1.20
Although Xen's documentation states that the address_bits field is not used
by XENMEM_decrease_reservation, it is checked by the hypervisor. In certain
circumstances (stack leak), the field could have an improper value, leading
to a fail of the hypercall.
Set it to 0 ("no addressing restriction") to avoid that.
Patch tested by Sam Fourman and haad@.
This should fix the rare "failed allocating DMA memory" encountered
under NetBSD dom0. Will ask for a pull-up.

Revision 1.20.2.1 / (download) - annotate - [select for diffs], Sun May 30 05:17:14 2010 UTC (13 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.20: +30 -15 lines
Diff to previous 1.20 (colored) to selected 1.5.2.1 (colored)

sync with head

Revision 1.16.2.1 / (download) - annotate - [select for diffs], Fri Apr 30 14:40:00 2010 UTC (13 years, 11 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.16: +36 -21 lines
Diff to previous 1.16 (colored) next main 1.17 (colored) to selected 1.5.2.1 (colored)

Sync with HEAD.

Revision 1.11.12.1 / (download) - annotate - [select for diffs], Wed Apr 21 00:33:45 2010 UTC (14 years ago) by matt
Branch: matt-nb5-mips64
CVS Tags: matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-k15
Changes since 1.11: +7 -6 lines
Diff to previous 1.11 (colored) next main 1.12 (colored) to selected 1.5.2.1 (colored)

sync to netbsd-5

Revision 1.11.8.2 / (download) - annotate - [select for diffs], Mon Mar 29 00:23:12 2010 UTC (14 years ago) by snj
Branch: netbsd-5
CVS Tags: 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
Changes since 1.11.8.1: +3 -2 lines
Diff to previous 1.11.8.1 (colored) to branchpoint 1.11 (colored) to selected 1.5.2.1 (colored)

Pull up following revision(s) (requested by jym in ticket #1334):
	sys/arch/xen/x86/xen_bus_dma.c: revision 1.20
Although Xen's documentation states that the address_bits field is not used
by XENMEM_decrease_reservation, it is checked by the hypervisor. In certain
circumstances (stack leak), the field could have an improper value, leading
to a fail of the hypercall.
Set it to 0 ("no addressing restriction") to avoid that.
Patch tested by Sam Fourman and haad@.
This should fix the rare "failed allocating DMA memory" encountered
under NetBSD dom0.

Revision 1.21 / (download) - annotate - [select for diffs], Mon Mar 22 22:03:30 2010 UTC (14 years, 1 month ago) by bouyer
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base5, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1
Changes since 1.20: +30 -15 lines
Diff to previous 1.20 (colored) to selected 1.5.2.1 (colored)

bus_dmamem_alloc() may not get a boundary smaller than size, but
it's perfectly valid for bus_dmamap_create() to do so (a contigous
transfers will then split in multiple segment).
Fix _xen_bus_dmamem_alloc_range() and _bus_dmamem_alloc_range() to
allow a boundary limit smaller than size:
- compute appropriate boundary for uvm_pglistalloc(), wich doesn't
  accept boundary < size
- also take care of boundary when deciding to start a new segment.
While there, remove useless boundary argument to _xen_alloc_contig().
Fix the boundary-related issue of PR port-amd64/42980

Revision 1.9.46.4 / (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.9.46.3: +12 -12 lines
Diff to previous 1.9.46.3 (colored) to branchpoint 1.9 (colored) to selected 1.5.2.1 (colored)

sync with head

Revision 1.20 / (download) - annotate - [select for diffs], Tue Mar 9 23:12:06 2010 UTC (14 years, 1 month ago) by jym
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9
Branch point for: rmind-uvmplock
Changes since 1.19: +3 -2 lines
Diff to previous 1.19 (colored) to selected 1.5.2.1 (colored)

Although Xen's documentation states that the address_bits field is not used
by XENMEM_decrease_reservation, it is checked by the hypervisor. In certain
circumstances (stack leak), the field could have an improper value, leading
to a fail of the hypercall.

Set it to 0 ("no addressing restriction") to avoid that.

Patch tested by Sam Fourman and haad@.

This should fix the rare "failed allocating DMA memory" encountered
under NetBSD dom0. Will ask for a pull-up.

Revision 1.19 / (download) - annotate - [select for diffs], Tue Mar 2 00:13:50 2010 UTC (14 years, 1 month ago) by jym
Branch: MAIN
Changes since 1.18: +5 -5 lines
Diff to previous 1.18 (colored) to selected 1.5.2.1 (colored)

Catch the return value from the XENMEM_decrease_reservation hypercall,
and not some error value stored earlier.

While here, fix a typo in a comment.

Revision 1.18 / (download) - annotate - [select for diffs], Sat Feb 27 09:22:40 2010 UTC (14 years, 1 month ago) by jym
Branch: MAIN
Changes since 1.17: +4 -3 lines
Diff to previous 1.17 (colored) to selected 1.5.2.1 (colored)

Make a XENMEM_decrease_reservation DEBUG printf() more meaningful.

Revision 1.17 / (download) - annotate - [select for diffs], Fri Feb 12 01:55:46 2010 UTC (14 years, 2 months ago) by jym
Branch: MAIN
Changes since 1.16: +2 -4 lines
Diff to previous 1.16 (colored) to selected 1.5.2.1 (colored)

Starting with Xen 3 API, MMU_EXTENDED_COMMAND (tlb flush, cache flush, page
pinning/unpinning, set_ldt, invlpg) operations cannot be queued in the
xpq_queue[] any more, as they use their own specific hypercall, mmuext_op().

Their associated xpq_queue_*() functions already call xpq_flush_queue()
before issuing the mmuext_op() hypercall, which makes these xpq_flush_queue()
calls not necessary.

Rapidly discussed with bouyer@ in private mail. XEN3_DOM0/XEN3PAE_DOM0 tested
through a build.sh release, amd64 was only compile tested. No regression
expected.

Revision 1.11.8.1 / (download) - annotate - [select for diffs], Sat Jan 30 19:14:20 2010 UTC (14 years, 2 months ago) by snj
Branch: netbsd-5
Changes since 1.11: +6 -6 lines
Diff to previous 1.11 (colored) to selected 1.5.2.1 (colored)

Pull up following revision(s) (requested by bouyer in ticket #1271):
	sys/arch/xen/x86/xen_bus_dma.c: revision 1.16
	sys/arch/xen/xen/xengnt.c: revision 1.17 via patch
	sys/arch/xen/xen/xennetback_xenbus.c: revision 1.33
fix address overflow with 32bit PAE.
Reported and tested by Mark Davies on port-xen@.

Revision 1.16 / (download) - annotate - [select for diffs], Sat Jan 23 22:32:42 2010 UTC (14 years, 2 months ago) by cegger
Branch: MAIN
CVS Tags: uebayasi-xip-base
Branch point for: uebayasi-xip
Changes since 1.15: +6 -6 lines
Diff to previous 1.15 (colored) to selected 1.5.2.1 (colored)

fix address overflow with 32bit PAE.
Reported and tested by Mark Davies on port-xen@.

Revision 1.14.2.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.14.2.2: +3 -67 lines
Diff to previous 1.14.2.2 (colored) to branchpoint 1.14 (colored) to selected 1.5.2.1 (colored)

Sync with HEAD.

Revision 1.9.46.3 / (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.9.46.2: +2 -53 lines
Diff to previous 1.9.46.2 (colored) to branchpoint 1.9 (colored) to selected 1.5.2.1 (colored)

sync with head.

Revision 1.15 / (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, matt-premerge-20091211
Changes since 1.14: +2 -53 lines
Diff to previous 1.14 (colored) to selected 1.5.2.1 (colored)

remove Xen2 support.
ok bouyer@

Revision 1.14.2.2 / (download) - annotate - [select for diffs], Sun May 31 20:15:37 2009 UTC (14 years, 10 months ago) by jym
Branch: jym-xensuspend
Changes since 1.14.2.1: +7 -2 lines
Diff to previous 1.14.2.1 (colored) to branchpoint 1.14 (colored) to selected 1.5.2.1 (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.9.46.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.9.46.1: +21 -20 lines
Diff to previous 1.9.46.1 (colored) to branchpoint 1.9 (colored) to selected 1.5.2.1 (colored)

sync with head.

Revision 1.11.6.2 / (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.11.6.1: +9 -7 lines
Diff to previous 1.11.6.1 (colored) to branchpoint 1.11 (colored) next main 1.12 (colored) to selected 1.5.2.1 (colored)

Sync with HEAD.

Revision 1.14.2.1 / (download) - annotate - [select for diffs], Mon Feb 9 00:03:55 2009 UTC (15 years, 2 months ago) by jym
Branch: jym-xensuspend
Changes since 1.14: +11 -3 lines
Diff to previous 1.14 (colored) to selected 1.5.2.1 (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.14 / (download) - annotate - [select for diffs], Sat Jan 24 19:03:12 2009 UTC (15 years, 2 months ago) by bouyer
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, jymxensuspend-base
Branch point for: jym-xensuspend
Changes since 1.13: +9 -7 lines
Diff to previous 1.13 (colored) to selected 1.5.2.1 (colored)

Properly check the return value of HYPERVISOR_memory_op(): it returns
the number of successfull operations, so a return value of 0 is also
a failure.

Revision 1.11.6.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:17:12 2009 UTC (15 years, 3 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.11: +5 -6 lines
Diff to previous 1.11 (colored) to selected 1.5.2.1 (colored)

Sync with HEAD.

Revision 1.9.42.3 / (download) - annotate - [select for diffs], Sat Jan 17 13:28:39 2009 UTC (15 years, 3 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.9.42.2: +3 -4 lines
Diff to previous 1.9.42.2 (colored) to branchpoint 1.9 (colored) next main 1.10 (colored) to selected 1.5.2.1 (colored)

Sync with HEAD.

Revision 1.13 / (download) - annotate - [select for diffs], Thu Dec 18 12:19:02 2008 UTC (15 years, 4 months ago) by cegger
Branch: MAIN
CVS Tags: mjf-devfs2-base
Changes since 1.12: +2 -3 lines
Diff to previous 1.12 (colored) to selected 1.5.2.1 (colored)

remove unused malloc.h

Revision 1.11.4.1 / (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.11: +5 -5 lines
Diff to previous 1.11 (colored) next main 1.12 (colored) to selected 1.5.2.1 (colored)

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

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

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

Revision 1.10.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.10: +11 -11 lines
Diff to previous 1.10 (colored) next main 1.11 (colored) to selected 1.5.2.1 (colored)

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

Revision 1.9.44.2 / (download) - annotate - [select for diffs], Tue Jun 17 09:14:24 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-pf42
Changes since 1.9.44.1: +11 -11 lines
Diff to previous 1.9.44.1 (colored) to branchpoint 1.9 (colored) next main 1.10 (colored) to selected 1.5.2.1 (colored)

sync with head.

Revision 1.9.42.2 / (download) - annotate - [select for diffs], Thu Jun 5 19:14:35 2008 UTC (15 years, 10 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.9.42.1: +9 -9 lines
Diff to previous 1.9.42.1 (colored) to branchpoint 1.9 (colored) to selected 1.5.2.1 (colored)

Sync with HEAD.

Also fix build.

Revision 1.11 / (download) - annotate - [select for diffs], Wed Jun 4 12:41:42 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, 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, 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, haad-dm-base1
Branch point for: nick-hppapmap, netbsd-5, matt-nb5-mips64, haad-dm
Changes since 1.10: +11 -11 lines
Diff to previous 1.10 (colored) to selected 1.5.2.1 (colored)

vm_page: put TAILQ_ENTRY into a union with LIST_ENTRY, so we can use both.

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

Sync with HEAD.

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

sync with head.

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

sync with head.

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

Remove clause 3 and 4 from TNF licenses

Revision 1.8.8.1 / (download) - annotate - [select for diffs], Tue Feb 27 16:53:29 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-idlelwp
Changes since 1.8: +62 -45 lines
Diff to previous 1.8 (colored) next main 1.9 (colored) to selected 1.5.2.1 (colored)

- sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.

Revision 1.6.16.4 / (download) - annotate - [select for diffs], Mon Feb 26 09:08:56 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.6.16.3: +62 -45 lines
Diff to previous 1.6.16.3 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored) to selected 1.5.2.1 (colored)

sync with head.

Revision 1.9 / (download) - annotate - [select for diffs], Sat Feb 24 21:19:25 2007 UTC (17 years, 1 month ago) by bouyer
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, 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, yamt-idlelwp-base8, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking2, vmlocking-nbase, vmlocking-base, vmlocking, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, reinoud-bufcleanup, ppcoea-renovation-base, ppcoea-renovation, nick-net80211-sync-base, nick-net80211-sync, nick-csl-alignment-base5, nick-csl-alignment-base, nick-csl-alignment, mjf-ufs-trans-base, mjf-ufs-trans, mjf-devfs-base, mjf-devfs, matt-mips64-base, matt-mips64, matt-armv6-prevmlocking, matt-armv6-nbase, matt-armv6-base, matt-armv6, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, jmcneill-pm-base, jmcneill-pm, jmcneill-base, hpcarm-cleanup-base, hpcarm-cleanup, cube-autoconf-base, cube-autoconf, bouyer-xeni386-nbase, bouyer-xeni386-merge1, bouyer-xeni386-base, bouyer-xeni386, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64, ad-socklock-base1, ad-audiomp-base, ad-audiomp
Branch point for: yamt-pf42, yamt-nfs-mp, mjf-devfs2
Changes since 1.8: +62 -45 lines
Diff to previous 1.8 (colored) to selected 1.5.2.1 (colored)

Properly honnor bus_dma bus address range restriction for Xen3 (the Xen2
interface doesn't allow it), so that .e.g bus_dma_subregion() has a chance
to work. Unfortunably a stock Xen hypervisor won't allow a upper bound less
than 2^31 (2GB) so devices like bce(4) will need a hacked hypervisor to
work properly.

Revision 1.6.16.3 / (download) - annotate - [select for diffs], Sat Dec 30 20:47:25 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.6.16.2: +88 -24 lines
Diff to previous 1.6.16.2 (colored) to branchpoint 1.6 (colored) to selected 1.5.2.1 (colored)

sync with head.

Revision 1.3.2.5 / (download) - annotate - [select for diffs], Sat Sep 16 11:18:59 2006 UTC (17 years, 7 months ago) by ghen
Branch: netbsd-3
CVS Tags: netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-1-RELEASE, netbsd-3-1
Changes since 1.3.2.4: +62 -22 lines
Diff to previous 1.3.2.4 (colored) to branchpoint 1.3 (colored) next main 1.4 (colored) to selected 1.5.2.1 (colored)

Pull up following revision(s) (requested by bouyer in ticket #1510):
	sys/arch/xen/x86/xen_bus_dma.c: revision 1.7
	sys/arch/xen/x86/xen_bus_dma.c: revision 1.8
	sys/arch/x86/include/bus_private.h: revision 1.6
	sys/arch/x86/x86/bus_dma.c: revision 1.30
	sys/arch/xen/include/bus_private.h: revision 1.7
Some bus_dma(9) fixes for Xen:
- Attempt to gracefully recover from a failed decrease_reservation or
  increase_reservation, by avoiding physical memory loss.
- always store a machine address in ds_addr; this avoids some mistakes
  where machine address would in some case be freed at physical address, or
  mapped as physical address.
Wrap some printfs in #ifdef DEBUG, as we should not leak memory any more when
bus_dma memory allocation fails.

Revision 1.6.6.2 / (download) - annotate - [select for diffs], Thu Sep 14 12:31:22 2006 UTC (17 years, 7 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.6.6.1: +10 -2 lines
Diff to previous 1.6.6.1 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored) to selected 1.5.2.1 (colored)

sync with head.

Revision 1.6.18.1 / (download) - annotate - [select for diffs], Thu Sep 14 04:43:08 2006 UTC (17 years, 7 months ago) by riz
Branch: abandoned-netbsd-4
Changes since 1.6: +88 -24 lines
Diff to previous 1.6 (colored) next main 1.7 (colored) to selected 1.5.2.1 (colored)

Pull up following revision(s) (requested by bouyer in ticket #150):
	sys/arch/xen/x86/xen_bus_dma.c: revision 1.7
	sys/arch/xen/x86/xen_bus_dma.c: revision 1.8
	sys/arch/x86/include/bus_private.h: revision 1.6
	sys/arch/x86/x86/bus_dma.c: revision 1.30
	sys/arch/xen/include/bus_private.h: revision 1.7
Some bus_dma(9) fixes for Xen:
- Attempt to gracefully recover from a failed decrease_reservation or
  increase_reservation, by avoiding physical memory loss.
- always store a machine address in ds_addr; this avoids some mistakes
  where machine address would in some case be freed at physical address, or
  mapped as physical address.
Wrap some printfs in #ifdef DEBUG, as we should not leak memory any more when
bus_dma memory allocation fails.

Revision 1.6.2.1 / (download) - annotate - [select for diffs], Sat Sep 9 02:45:05 2006 UTC (17 years, 7 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.6: +88 -24 lines
Diff to previous 1.6 (colored) next main 1.7 (colored) to selected 1.5.2.1 (colored)

sync with head

Revision 1.8 / (download) - annotate - [select for diffs], Sun Sep 3 19:04:20 2006 UTC (17 years, 7 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-splraiseipl-base2, yamt-splraiseipl-base, yamt-splraiseipl, yamt-pdpolicy-base9, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, rpaulo-netinet-merge-pcb-base, post-newlock2-merge, newlock2-nbase, newlock2-base, newlock2, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, matt-nb4-arm-base, matt-nb4-arm
Branch point for: yamt-idlelwp, netbsd-4
Changes since 1.7: +10 -2 lines
Diff to previous 1.7 (colored) to selected 1.5.2.1 (colored)

Wrap some printfs in #ifdef DEBUG, as we should not leak memory any more when
bus_dma memory allocation fails.

Revision 1.6.6.1 / (download) - annotate - [select for diffs], Sun Sep 3 15:23:37 2006 UTC (17 years, 7 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.6: +80 -24 lines
Diff to previous 1.6 (colored) to selected 1.5.2.1 (colored)

sync with head.

Revision 1.7 / (download) - annotate - [select for diffs], Mon Aug 28 19:58:57 2006 UTC (17 years, 7 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-pdpolicy-base8
Changes since 1.6: +80 -24 lines
Diff to previous 1.6 (colored) to selected 1.5.2.1 (colored)

Some bus_dma(9) fixes for Xen:
- Attempt to gracefully recover from a failed decrease_reservation or
  increase_reservation, by avoiding physical memory loss.
- always store a machine address in ds_addr; this avoids some mistakes
  where machine address would in some case be freed at physical address, or
  mapped as physical address.

Revision 1.6.16.2 / (download) - annotate - [select for diffs], Wed Jun 21 14:58:23 2006 UTC (17 years, 10 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.6.16.1: +276 -0 lines
Diff to previous 1.6.16.1 (colored) to branchpoint 1.6 (colored) to selected 1.5.2.1 (colored)

sync with head.

Revision 1.5.2.1 / (download) - annotate - [selected], Wed Feb 1 14:51:48 2006 UTC (18 years, 2 months ago) by yamt
Branch: yamt-uio_vmspace
Changes since 1.5: +31 -2 lines
Diff to previous 1.5 (colored) next main 1.6 (colored)

sync with head.

Revision 1.6.16.1, Sun Jan 15 22:09:52 2006 UTC (18 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.6: +0 -276 lines
FILE REMOVED

file xen_bus_dma.c was added on branch yamt-lazymbuf on 2006-06-21 14:58:23 +0000

Revision 1.6 / (download) - annotate - [select for diffs], Sun Jan 15 22:09:52 2006 UTC (18 years, 3 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, simonb-timecounters-base, simonb-timecounters, simonb-timcounters-final, peter-altq-base, peter-altq, gdamore-uart-base, gdamore-uart, elad-kernelauth-base, elad-kernelauth, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base
Branch point for: yamt-pdpolicy, yamt-lazymbuf, rpaulo-netinet-merge-pcb, abandoned-netbsd-4
Changes since 1.5: +31 -2 lines
Diff to previous 1.5 (colored) to selected 1.5.2.1 (colored)

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

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

Revision 1.5 / (download) - annotate - [select for diffs], Sat Dec 24 23:24:07 2005 UTC (18 years, 3 months ago) by perry
Branch: MAIN
Branch point for: yamt-uio_vmspace
Changes since 1.4: +3 -3 lines
Diff to previous 1.4 (colored) to selected 1.5.2.1 (colored)

__asm__ -> __asm
__const__ -> const
__inline__ -> inline
__volatile__ -> volatile

Revision 1.4 / (download) - annotate - [select for diffs], Sun Dec 11 12:19:50 2005 UTC (18 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.3: +2 -2 lines
Diff to previous 1.3 (colored) to selected 1.5.2.1 (colored)

merge ktrace-lwp.

Revision 1.3.8.2 / (download) - annotate - [select for diffs], Thu Nov 10 14:00:34 2005 UTC (18 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.3.8.1: +247 -0 lines
Diff to previous 1.3.8.1 (colored) to branchpoint 1.3 (colored) next main 1.4 (colored) to selected 1.5.2.1 (colored)

Sync with HEAD. Here we go again...

Revision 1.3.2.4 / (download) - annotate - [select for diffs], Thu Aug 25 20:52:46 2005 UTC (18 years, 7 months ago) by tron
Branch: netbsd-3
CVS Tags: netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0
Changes since 1.3.2.3: +3 -2 lines
Diff to previous 1.3.2.3 (colored) to branchpoint 1.3 (colored) to selected 1.5.2.1 (colored)

Pull up following revision(s) (requested by bouyer in ticket #696):
	sys/arch/xen/x86/xen_bus_dma.c: revision 1.3
Fix a memory leak. Thanks to YAMAMOTO Takashi for the notice.

Revision 1.3.2.3 / (download) - annotate - [select for diffs], Thu Aug 25 20:52:17 2005 UTC (18 years, 7 months ago) by tron
Branch: netbsd-3
Changes since 1.3.2.2: +19 -4 lines
Diff to previous 1.3.2.2 (colored) to branchpoint 1.3 (colored) to selected 1.5.2.1 (colored)

Pull up following revision(s) (requested by bouyer in ticket #696):
	sys/arch/xen/x86/xen_bus_dma.c: revision 1.2
Also properly check the alignement and boundary constraints.

Revision 1.3.2.2 / (download) - annotate - [select for diffs], Thu Aug 25 20:49:54 2005 UTC (18 years, 7 months ago) by tron
Branch: netbsd-3
Changes since 1.3.2.1: +231 -0 lines
Diff to previous 1.3.2.1 (colored) to branchpoint 1.3 (colored) to selected 1.5.2.1 (colored)

Pull up following revision(s) (requested by bouyer in ticket #696):
	sys/arch/xen/x86/xen_bus_dma.c: revision 1.1
	sys/arch/xen/include/bus_private.h: revision 1.2
	sys/arch/xen/conf/files.xen: revision 1.28
Deal with the machine address space being non-contigous in bus_dmamem_alloc():
- Define _BUS_AVAIL_END to 0xffffffff, as we don't have an easy way to
  find the upper bound for our machine address space (and this can change
  when we swap pages with the hypervisor).
- implement _xen_bus_dmamem_alloc_range(), which will request a contigous
  set of pages to the hypervisor if the pages returned by uvm_pglistalloc()
  don't fit the constraints.
We can't deal with the low/high constraints yet, because Xen doesn't offer a
way to get pages in a specific ranges of addresses.
Based on patches from Dave Thompson (in private mail), with heavy hacking
by me.

Revision 1.3.8.1, Mon Aug 22 11:04:10 2005 UTC (18 years, 8 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.3: +0 -247 lines
FILE REMOVED

file xen_bus_dma.c was added on branch ktrace-lwp on 2005-11-10 14:00:34 +0000

Revision 1.3.2.1, Mon Aug 22 11:04:10 2005 UTC (18 years, 8 months ago) by tron
Branch: netbsd-3
Changes since 1.3: +0 -247 lines
FILE REMOVED

file xen_bus_dma.c was added on branch netbsd-3 on 2005-08-25 20:49:54 +0000

Revision 1.3 / (download) - annotate - [select for diffs], Mon Aug 22 11:04:10 2005 UTC (18 years, 8 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, thorpej-vnode-attr-base, thorpej-vnode-attr, ktrace-lwp-base
Branch point for: netbsd-3, ktrace-lwp
Changes since 1.2: +3 -2 lines
Diff to previous 1.2 (colored) to selected 1.5.2.1 (colored)

Fix a memory leak. Thanks to YAMAMOTO Takashi for the notice.

Revision 1.2 / (download) - annotate - [select for diffs], Sat Aug 20 20:06:24 2005 UTC (18 years, 8 months ago) by bouyer
Branch: MAIN
Changes since 1.1: +19 -4 lines
Diff to previous 1.1 (colored) to selected 1.5.2.1 (colored)

Also properly check the alignement and boundary constraints.

Revision 1.1 / (download) - annotate - [select for diffs], Sat Aug 20 19:30:38 2005 UTC (18 years, 8 months ago) by bouyer
Branch: MAIN
Diff to selected 1.5.2.1 (colored)

Deal with the machine address space being non-contigous in bus_dmamem_alloc():
- Define _BUS_AVAIL_END to 0xffffffff, as we don't have an easy way to
  find the upper bound for our machine address space (and this can change
  when we swap pages with the hypervisor).
- implement _xen_bus_dmamem_alloc_range(), which will request a contigous
  set of pages to the hypervisor if the pages returned by uvm_pglistalloc()
  don't fit the constraints.
We can't deal with the low/high constraints yet, because Xen doesn't offer a
way to get pages in a specific ranges of addresses.

Based on patches from Dave Thompson (in private mail), with heavy hacking
by me.

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>