Up to [cvs.NetBSD.org] / src / sys / arch / xen / x86
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.29 / (download) - annotate - [select for diffs], Sat Aug 20 23:48:51 2022 UTC (9 months, 1 week ago) by riastradh
Branch: MAIN
CVS Tags: netbsd-10-base,
netbsd-10,
bouyer-sunxi-drm-base,
bouyer-sunxi-drm,
HEAD
Changes since 1.28: +3 -2
lines
Diff to previous 1.28 (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.28 / (download) - annotate - [select for diffs], Wed May 6 19:47:05 2020 UTC (3 years 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.27: +4 -4
lines
Diff to previous 1.27 (colored)
xpq_queue_* use per-cpu queue; splvm() is enough to protect them. remove the XXX SMP comments.
Revision 1.27 / (download) - annotate - [select for diffs], Sat Apr 25 15:26:17 2020 UTC (3 years, 1 month ago) by bouyer
Branch: MAIN
Changes since 1.26: +12 -2
lines
Diff to previous 1.26 (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.26.8.2 / (download) - annotate - [select for diffs], Sun Apr 12 17:16:58 2020 UTC (3 years, 1 month ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.26.8.1: +5 -3
lines
Diff to previous 1.26.8.1 (colored) to branchpoint 1.26 (colored) next main 1.27 (colored)
kpreempt_disable() only for x86_64 (which calls pmap_changeprot_local)). On i386 curcpu() is not valid yet and we don't need preemption disabled.
Revision 1.26.8.1 / (download) - annotate - [select for diffs], Sat Apr 11 18:26:07 2020 UTC (3 years, 1 month ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.26: +10 -2
lines
Diff to previous 1.26 (colored)
Move softint and preemtion-related functions out of x86/x86/intr.c to its own file, x86/x86/x86_softintr.c Add x86/x86/x86_softintr.c for native and XenPV Make sure XenPV also check ci_ioending, which is used for softints. Switch XenPV to fast softints and allow kernel preemption. kpreempt_disable() before calling pmap_changeprot_local() run xen_wallclock_time() and xen_global_systime_ns() at splshed() to avoid being interrupted. XXX amd64 lock stubs are racy for XPENDING
Revision 1.18.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:06:56 2019 UTC (3 years, 11 months ago) by christos
Branch: phil-wifi
Changes since 1.18: +52 -13
lines
Diff to previous 1.18 (colored) next main 1.19 (colored)
Sync with HEAD
Revision 1.26 / (download) - annotate - [select for diffs], Sat May 4 11:15:49 2019 UTC (4 years ago) by kre
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,
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.25: +3 -3
lines
Diff to previous 1.25 (colored)
More of maxv's "switch to proper types" - hopefully unbreak i386 build.
Revision 1.25 / (download) - annotate - [select for diffs], Sat May 4 07:20:22 2019 UTC (4 years ago) by maxv
Branch: MAIN
Changes since 1.24: +5 -5
lines
Diff to previous 1.24 (colored)
More inlined ASM. While here switch to proper types.
Revision 1.17.2.6 / (download) - annotate - [select for diffs], Fri Jan 18 08:50:25 2019 UTC (4 years, 4 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.17.2.5: +26 -92
lines
Diff to previous 1.17.2.5 (colored) to branchpoint 1.17 (colored) next main 1.18 (colored)
Synch with HEAD
Revision 1.24 / (download) - annotate - [select for diffs], Sun Jan 6 14:35:31 2019 UTC (4 years, 4 months ago) by cherry
Branch: MAIN
CVS Tags: pgoyette-compat-20190127,
pgoyette-compat-20190118,
isaki-audio2-base,
isaki-audio2
Changes since 1.23: +24 -90
lines
Diff to previous 1.23 (colored)
Rollback http://mail-index.netbsd.org/source-changes/2018/12/22/msg101629.html This change breaks module loading due to weak alias being unsupported in the kernel module linker. Requested by maxv@ and others as it affects their work. No immediate decision on a replacement method is available, but other options suggested include pre-processing, conditional compilation (#ifdef etc) and other source level methods to avoid linktime decision making.
Revision 1.17.2.5 / (download) - annotate - [select for diffs], Wed Dec 26 14:01:46 2018 UTC (4 years, 5 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.17.2.4: +92 -26
lines
Diff to previous 1.17.2.4 (colored) to branchpoint 1.17 (colored)
Sync with HEAD, resolve a few conflicts
Revision 1.23 / (download) - annotate - [select for diffs], Sat Dec 22 21:27:22 2018 UTC (4 years, 5 months ago) by cherry
Branch: MAIN
CVS Tags: pgoyette-compat-1226
Changes since 1.22: +92 -26
lines
Diff to previous 1.22 (colored)
Introduce a weak alias method of exporting different implementations of the same API. For eg: the amd64 native implementation of invlpg() now becomes amd64_invlpg() with a weak symbol export of invlpg(), while the XEN implementation becomes xen_invlpg(), also weakly exported as invlpg() Note that linking in both together without having an override function named invlpg() would be a mistake, as we have limited control over which of the two options would emerge as the finally exported invlpg() resulting in a potential situation where the wrong function is finally exported. This change avoids this situation. We should however include an override function invlpg() in that case, such that it is able to then pass on the call to the appropriate backing function (amd64_invlpg() in the case of native, and xen_invlpg() in the case of under XEN virtualisation) at runtime. This change does not introduce such a function and therefore does not alter builds to include native as well as XEN implementations in the same binary. This will be done later, with the introduction of XEN PVHVM mode, where precisely such a runtime switch is required. There are no operational changes introduced by this change.
Revision 1.17.2.4 / (download) - annotate - [select for diffs], Sat Oct 20 06:58:30 2018 UTC (4 years, 7 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.17.2.3: +8 -5
lines
Diff to previous 1.17.2.3 (colored) to branchpoint 1.17 (colored)
Sync with head
Revision 1.22 / (download) - annotate - [select for diffs], Thu Oct 18 04:17:18 2018 UTC (4 years, 7 months ago) by cherry
Branch: MAIN
CVS Tags: pgoyette-compat-1126,
pgoyette-compat-1020
Changes since 1.21: +8 -5
lines
Diff to previous 1.21 (colored)
Zero out page table memory for IDT before use. To copy the IDT entry before registration, de-reference the indexed value, not the first entry. Add a MAX_XEN_IDT value for max entries we expect and KASSERT() for this as a sanity check.
Revision 1.17.2.3 / (download) - annotate - [select for diffs], Sun Sep 30 01:45:48 2018 UTC (4 years, 7 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.17.2.2: +46 -2
lines
Diff to previous 1.17.2.2 (colored) to branchpoint 1.17 (colored)
Ssync with HEAD
Revision 1.21 / (download) - annotate - [select for diffs], Sun Sep 23 15:28:49 2018 UTC (4 years, 8 months ago) by cherry
Branch: MAIN
CVS Tags: pgoyette-compat-0930
Changes since 1.20: +6 -2
lines
Diff to previous 1.20 (colored)
Fix for i386, functionality intended in: http://mail-index.netbsd.org/source-changes/2018/09/23/msg099357.html This should fix the build for both GENERIC and XEN3PAE_DOM0 This has not been boot tested on native or xen3pae Notes: pmap_changeprot_local() seems to be x86_64 only. I was a bit surprised by this initially, but I suspect that the table protections are enforced via ring0/ring1 fencing rather than page protections the gdt registration code in i386 is still messy. I will leave it as is for now - to avoid a rabbit hole.
Revision 1.20 / (download) - annotate - [select for diffs], Sun Sep 23 00:59:59 2018 UTC (4 years, 8 months ago) by cherry
Branch: MAIN
Changes since 1.19: +42 -2
lines
Diff to previous 1.19 (colored)
Make XEN use the same api as native, for idt vector allocation and registration. lidt() placed in xenfunc() on maxv@ suggestion. There should be no functional change due to this commit. Tested on amd64 native and XEN.
Revision 1.17.2.2 / (download) - annotate - [select for diffs], Sat Jul 28 04:37:43 2018 UTC (4 years, 10 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.17.2.1: +2 -10
lines
Diff to previous 1.17.2.1 (colored) to branchpoint 1.17 (colored)
Sync with HEAD
Revision 1.19 / (download) - annotate - [select for diffs], Thu Jul 26 15:06:14 2018 UTC (4 years, 10 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-0906,
pgoyette-compat-0728
Changes since 1.18: +2 -10
lines
Diff to previous 1.18 (colored)
Remove dead code.
Revision 1.17.2.1 / (download) - annotate - [select for diffs], Mon Jun 25 07:25:47 2018 UTC (4 years, 11 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.17: +5 -5
lines
Diff to previous 1.17 (colored)
Sync with HEAD
Revision 1.18 / (download) - annotate - [select for diffs], Sun Jun 24 20:28:57 2018 UTC (4 years, 11 months ago) by jdolecek
Branch: MAIN
CVS Tags: phil-wifi-base,
pgoyette-compat-0625
Branch point for: phil-wifi
Changes since 1.17: +5 -5
lines
Diff to previous 1.17 (colored)
mark with XXXSMP all remaining spl*() and tsleep() calls
Revision 1.13.10.1 / (download) - annotate - [select for diffs], Sun Dec 3 11:36:51 2017 UTC (5 years, 5 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.13: +83 -8
lines
Diff to previous 1.13 (colored) next main 1.14 (colored)
update from HEAD
Revision 1.17 / (download) - annotate - [select for diffs], Sun Oct 15 10:58:32 2017 UTC (5 years, 7 months ago) by maxv
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202,
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
Branch point for: pgoyette-compat
Changes since 1.16: +8 -0
lines
Diff to previous 1.16 (colored)
Add setusergs on Xen, and simplify.
Revision 1.13.28.3 / (download) - annotate - [select for diffs], Mon Aug 28 17:51:57 2017 UTC (5 years, 9 months ago) by skrll
Branch: nick-nhusb
Changes since 1.13.28.2: +3 -3
lines
Diff to previous 1.13.28.2 (colored) to branchpoint 1.13 (colored) next main 1.14 (colored)
Sync with HEAD
Revision 1.15.2.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:53:39 2017 UTC (6 years, 1 month ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.15: +3 -3
lines
Diff to previous 1.15 (colored) next main 1.16 (colored)
Sync with HEAD
Revision 1.13.32.2 / (download) - annotate - [select for diffs], Mon Mar 20 06:57:23 2017 UTC (6 years, 2 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.13.32.1: +3 -3
lines
Diff to previous 1.13.32.1 (colored) to branchpoint 1.13 (colored) next main 1.14 (colored)
Sync with HEAD
Revision 1.13.28.2 / (download) - annotate - [select for diffs], Sun Feb 5 13:40:23 2017 UTC (6 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.13.28.1: +14 -14
lines
Diff to previous 1.13.28.1 (colored) to branchpoint 1.13 (colored)
Sync with HEAD
Revision 1.16 / (download) - annotate - [select for diffs], Sun Feb 5 10:42:21 2017 UTC (6 years, 3 months ago) by maxv
Branch: MAIN
CVS Tags: prg-localcount2-base3,
prg-localcount2-base2,
prg-localcount2-base1,
prg-localcount2-base,
prg-localcount2,
pgoyette-localcount-20170426,
pgoyette-localcount-20170320,
perseant-stdc-iso10646-base,
perseant-stdc-iso10646,
nick-nhusb-base-20170825,
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,
jdolecek-ncq-base,
jdolecek-ncq,
bouyer-socketcan-base1
Changes since 1.15: +3 -3
lines
Diff to previous 1.15 (colored)
Rename ldt->ldtstore and gdt->gdtstore on i386. It reduces the diff with amd64, and makes it easier to track down these variables on nxr - 'ldt' and 'gdt' being common keywords.
Revision 1.13.32.1 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:29 2017 UTC (6 years, 4 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.13: +74 -7
lines
Diff to previous 1.13 (colored)
Sync with HEAD. (Note that most of these changes are simply $NetBSD$ tag issues.)
Revision 1.15 / (download) - annotate - [select for diffs], Tue Dec 13 10:21:33 2016 UTC (6 years, 5 months ago) by kamil
Branch: MAIN
CVS Tags: pgoyette-localcount-20170107,
nick-nhusb-base-20170204,
bouyer-socketcan-base
Branch point for: bouyer-socketcan
Changes since 1.14: +14 -14
lines
Diff to previous 1.14 (colored)
Switch x86 CPU Debug Register types from vaddr_t to register_t This is more opaque and appropriate type, as vaddr_t is meant to be used for vitual address value. Not all DR on x86 are used to represent virtual address (DR6 and DR7 are definitely not). No functional change intended. Change suggested by <christos> Sponsored by <The NetBSD Foundation>
Revision 1.13.28.1 / (download) - annotate - [select for diffs], Mon Dec 5 10:54:59 2016 UTC (6 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.13: +72 -5
lines
Diff to previous 1.13 (colored)
Sync with HEAD
Revision 1.14 / (download) - annotate - [select for diffs], Sun Nov 27 14:49:21 2016 UTC (6 years, 6 months ago) by kamil
Branch: MAIN
CVS Tags: nick-nhusb-base-20161204
Changes since 1.13: +72 -5
lines
Diff to previous 1.13 (colored)
Add accessors for available x86 Debug Registers There are 8 Debug Registers on i386 (available at least since 80386) and 16 on AMD64. Currently DR4 and DR5 are reserved on both cpu-families and DR9-DR15 are still reserved on AMD64. Therefore add accessors for DR0-DR3, DR6-DR7 for all ports. Debug Registers x86: * DR0-DR3 Debug Address Registers * DR4-DR5 Reserved * DR6 Debug Status Register * DR7 Debug Control Register * DR8-DR15 Reserved Access the registers is available only from a kernel (ring 0) as there is needed top protected access. For this reason there is need to use special XEN functions to get and set the registers in the XEN3 kernels. XEN specific functions as defined in NetBSD: - HYPERVISOR_get_debugreg() - HYPERVISOR_set_debugreg() This code extends the existing rdr6() and ldr6() accessor for additional: - rdr0() & ldr0() - rdr1() & ldr1() - rdr2() & ldr2() - rdr3() & ldr3() - rdr7() & ldr7() Traditionally accessors for DR6 were passing vaddr_t argument, while it's appropriate type for DR0-DR3, DR6-DR7 should be using u_long, however it's not a big deal. The resulting functionality should be equivalent so stick to this convention and use the vaddr_t type for all DR accessors. There was already a function defined for rdr6() in XEN, but it had a nit on AMD64 as it was casting HYPERVISOR_get_debugreg() to u_int (32-bit on AMD64), truncating result. It still works for DR6, but for the sake of simplicity always return full 64-bit value. New accessors duplicate functionality of the dr0() function available on i386 within the KSTACK_CHECK_DR0 option. dr0() is a specialized layer with logic to set appropriate types of interrupts, now accessors are designed to pass verbatim values from user-land (with simple sanity checks in the kernel). At the moment there are no plans to make possible to coexist KSTACK_CHECK_DR0 with debug registers for user applications (debuggers). options KSTACK_CHECK_DR0 Detect kernel stack overflow using DR0 register. This option uses DR0 register exclusively so you can't use DR0 register for other purpose (e.g., hardware breakpoint) if you turn this on. The KSTACK_CHECK_DR0 functionality was designed for i386 and never ported to amd64. Code tested on i386 and amd64 with kernels: GENERIC, XEN3_DOMU, XEN3_DOM0. Sponsored by <The NetBSD Foundation>
Revision 1.12.2.1 / (download) - annotate - [select for diffs], Thu Nov 10 14:31:45 2011 UTC (11 years, 6 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.12: +2 -8
lines
Diff to previous 1.12 (colored) next main 1.13 (colored)
sync with head
Revision 1.13 / (download) - annotate - [select for diffs], Sun Nov 6 11:40:47 2011 UTC (11 years, 6 months ago) by cherry
Branch: MAIN
CVS Tags: yamt-pagecache-base9,
yamt-pagecache-base8,
yamt-pagecache-base7,
yamt-pagecache-base6,
yamt-pagecache-base5,
yamt-pagecache-base4,
yamt-pagecache-base3,
yamt-pagecache-base2,
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,
pgoyette-localcount-base,
pgoyette-localcount-20161104,
pgoyette-localcount-20160806,
pgoyette-localcount-20160726,
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,
netbsd-7-nhusb-base-20170116,
netbsd-7-nhusb-base,
netbsd-7-nhusb,
netbsd-7-base,
netbsd-7-2-RELEASE,
netbsd-7-1-RELEASE,
netbsd-7-1-RC2,
netbsd-7-1-RC1,
netbsd-7-1-2-RELEASE,
netbsd-7-1-1-RELEASE,
netbsd-7-1,
netbsd-7-0-RELEASE,
netbsd-7-0-RC3,
netbsd-7-0-RC2,
netbsd-7-0-RC1,
netbsd-7-0-2-RELEASE,
netbsd-7-0-1-RELEASE,
netbsd-7-0,
netbsd-7,
netbsd-6-base,
netbsd-6-1-RELEASE,
netbsd-6-1-RC4,
netbsd-6-1-RC3,
netbsd-6-1-RC2,
netbsd-6-1-RC1,
netbsd-6-1-5-RELEASE,
netbsd-6-1-4-RELEASE,
netbsd-6-1-3-RELEASE,
netbsd-6-1-2-RELEASE,
netbsd-6-1-1-RELEASE,
netbsd-6-1,
netbsd-6-0-RELEASE,
netbsd-6-0-RC2,
netbsd-6-0-RC1,
netbsd-6-0-6-RELEASE,
netbsd-6-0-5-RELEASE,
netbsd-6-0-4-RELEASE,
netbsd-6-0-3-RELEASE,
netbsd-6-0-2-RELEASE,
netbsd-6-0-1-RELEASE,
netbsd-6-0,
netbsd-6,
matt-nb6-plus-nbase,
matt-nb6-plus-base,
matt-nb6-plus,
localcount-20160914,
khorben-n900,
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,
agc-symver-base,
agc-symver
Branch point for: tls-maxphys,
pgoyette-localcount,
nick-nhusb
Changes since 1.12: +2 -8
lines
Diff to previous 1.12 (colored)
[merging from cherry-xenmp] Make the xen MMU op queue locking api private. Implement per-cpu queues.
Revision 1.11.6.3 / (download) - annotate - [select for diffs], Tue Sep 20 18:57:53 2011 UTC (11 years, 8 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.11.6.2: +2 -8
lines
Diff to previous 1.11.6.2 (colored) to branchpoint 1.11 (colored) next main 1.12 (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.7.12.3 / (download) - annotate - [select for diffs], Sat Aug 27 15:37:32 2011 UTC (11 years, 9 months ago) by jym
Branch: jym-xensuspend
Changes since 1.7.12.2: +11 -5
lines
Diff to previous 1.7.12.2 (colored) to branchpoint 1.7 (colored) next main 1.8 (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.12 / (download) - annotate - [select for diffs], Sat Aug 13 12:09:38 2011 UTC (11 years, 9 months ago) by cherry
Branch: MAIN
CVS Tags: yamt-pagecache-base,
jym-xensuspend-nbase,
jym-xensuspend-base
Branch point for: yamt-pagecache
Changes since 1.11: +11 -5
lines
Diff to previous 1.11 (colored)
Add locking around ops to the hypervisor MMU "queue".
Revision 1.11.6.2 / (download) - annotate - [select for diffs], Sun Jul 31 20:49:12 2011 UTC (11 years, 10 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.11.6.1: +4 -5
lines
Diff to previous 1.11.6.1 (colored) to branchpoint 1.11 (colored)
grow MP support for i386. boots to single user
Revision 1.11.6.1 / (download) - annotate - [select for diffs], Fri Jun 3 13:27:42 2011 UTC (11 years, 11 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.11: +9 -2
lines
Diff to previous 1.11 (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.10.2.1 / (download) - annotate - [select for diffs], Sat Mar 5 20:52:34 2011 UTC (12 years, 2 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.10: +4 -4
lines
Diff to previous 1.10 (colored) next main 1.11 (colored)
sync with head
Revision 1.7.12.2 / (download) - annotate - [select for diffs], Sun Oct 24 22:48:22 2010 UTC (12 years, 7 months ago) by jym
Branch: jym-xensuspend
Changes since 1.7.12.1: +4 -7
lines
Diff to previous 1.7.12.1 (colored) to branchpoint 1.7 (colored)
Sync with HEAD
Revision 1.9.2.2 / (download) - annotate - [select for diffs], Tue Aug 17 06:45:36 2010 UTC (12 years, 9 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.9.2.1: +2 -2
lines
Diff to previous 1.9.2.1 (colored) to branchpoint 1.9 (colored) next main 1.10 (colored)
Sync with HEAD.
Revision 1.5.2.4 / (download) - annotate - [select for diffs], Wed Aug 11 22:52:59 2010 UTC (12 years, 9 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.5.2.3: +4 -4
lines
Diff to previous 1.5.2.3 (colored) to branchpoint 1.5 (colored) next main 1.6 (colored)
sync with head.
Revision 1.11 / (download) - annotate - [select for diffs], Sat Jul 24 00:45:56 2010 UTC (12 years, 10 months ago) by jym
Branch: MAIN
CVS Tags: 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,
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.10: +4 -4
lines
Diff to previous 1.10 (colored)
Welcome PAE inside i386 current. This patch is inspired by work previously done by Jeremy Morse, ported by me to -current, merged with the work previously done for port-xen, together with additionals fixes and improvements. PAE option is disabled by default in GENERIC (but will be enabled in ALL in the next few days). In quick, PAE switches the CPU to a mode where physical addresses become 36 bits (64 GiB). Virtual address space remains at 32 bits (4 GiB). To cope with the increased size of the physical address, they are manipulated as 64 bits variables by kernel and MMU. When supported by the CPU, it also allows the use of the NX/XD bit that provides no-execution right enforcement on a per physical page basis. Notes: - reworked locore.S - introduce cpu_load_pmap(), used to switch pmap for the curcpu. Due to the different handling of pmap mappings with PAE vs !PAE, Xen vs native, details are hidden within this function. This helps calling it from assembly, as some features, like BIOS calls, switch to pmap_kernel before mapping trampoline code in low memory. - some changes in bioscall and kvm86_call, to reflect the above. - the L3 is "pinned" per-CPU, and is only manipulated by a reduced set of functions within pmap. To track the L3, I added two elements to struct cpu_info, namely ci_l3_pdirpa (PA of the L3), and ci_l3_pdir (the L3 VA). Rest of the code considers that it runs "just like" a normal i386, except that the L2 is 4 pages long (PTP_LEVELS is still 2). - similar to the ci_pae_l3_pdir{,pa} variables, amd64's xen_current_user_pgd becomes an element of cpu_info (slowly paving the way for MP world). - bootinfo_source struct declaration is modified, to cope with paddr_t size change with PAE (it is not correct to assume that bs_addr is a paddr_t when compiled with PAE - it should remain 32 bits). bs_addrs is now a void * array (in bootloader's code under i386/stand/, the bs_addrs is a physaddr_t, which is an unsigned long). - fixes in multiboot code (same reason as bootinfo): paddr_t size change. I used Elf32_* types, use RELOC() where necessary, and move the memcpy() functions out of the if/else if (I do not expect sym and str tables to overlap with ELF). - 64 bits atomic functions for pmap - all pmap_pdirpa access are now done through the pmap_pdirpa macro. It hides the L3/L2 stuff from PAE, as well as the pm_pdirpa change in struct pmap (it now becomes a PDP_SIZE array, with or without PAE). - manipulation of recursive mappings ( PDIR_SLOT_{,A}PTEs ) is done via loops on PDP_SIZE. See also http://mail-index.netbsd.org/port-i386/2010/07/17/msg002062.html No objection raised on port-i386@ and port-xen@R for about a week. XXX kvm(3) will be fixed in another patch to properly handle both PAE and !PAE kernel dumps (VA => PA macros are slightly different, and need proper 64 bits PA support in kvm_i386). XXX Mixing PAE and !PAE modules may lead to unwanted/unexpected results. This cannot be solved easily, and needs lots of thinking before being declared safe (paddr_t/bus_addr_t size handling, PD/PT macros abstractions).
Revision 1.9.2.1 / (download) - annotate - [select for diffs], Fri Apr 30 14:40:00 2010 UTC (13 years, 1 month ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.9: +2 -5
lines
Diff to previous 1.9 (colored)
Sync with HEAD.
Revision 1.5.2.3 / (download) - annotate - [select for diffs], Thu Mar 11 15:03:10 2010 UTC (13 years, 2 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.5.2.2: +2 -10
lines
Diff to previous 1.5.2.2 (colored) to branchpoint 1.5 (colored)
sync with head
Revision 1.10 / (download) - annotate - [select for diffs], Fri Feb 12 01:55:46 2010 UTC (13 years, 3 months ago) by jym
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9,
uebayasi-xip-base1
Branch point for: rmind-uvmplock
Changes since 1.9: +2 -5
lines
Diff to previous 1.9 (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.7.12.1 / (download) - annotate - [select for diffs], Sun Nov 1 13:58:46 2009 UTC (13 years, 6 months ago) by jym
Branch: jym-xensuspend
Changes since 1.7: +2 -11
lines
Diff to previous 1.7 (colored)
Sync with HEAD.
Revision 1.9 / (download) - annotate - [select for diffs], Fri Oct 23 02:32:34 2009 UTC (13 years, 7 months ago) by snj
Branch: MAIN
CVS Tags: uebayasi-xip-base,
matt-premerge-20091211
Branch point for: uebayasi-xip
Changes since 1.8: +2 -7
lines
Diff to previous 1.8 (colored)
Remove 3rd and 4th clauses. OK cl@ (copyright holder).
Revision 1.5.2.2 / (download) - annotate - [select for diffs], Wed Aug 19 18:46:55 2009 UTC (13 years, 9 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.5.2.1: +2 -6
lines
Diff to previous 1.5.2.1 (colored) to branchpoint 1.5 (colored)
sync with head.
Revision 1.8 / (download) - annotate - [select for diffs], Wed Jul 29 12:02:08 2009 UTC (13 years, 10 months ago) by cegger
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8,
yamt-nfs-mp-base7
Changes since 1.7: +2 -6
lines
Diff to previous 1.7 (colored)
remove Xen2 support. ok bouyer@
Revision 1.6.2.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:30:51 2008 UTC (14 years, 11 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.6: +10 -4
lines
Diff to previous 1.6 (colored) next main 1.7 (colored)
Sync w/ -current. 34 merge conflicts to follow.
Revision 1.4.6.1 / (download) - annotate - [select for diffs], Mon Jun 2 13:22:54 2008 UTC (14 years, 11 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.4: +13 -7
lines
Diff to previous 1.4 (colored) next main 1.5 (colored)
Sync with HEAD.
Revision 1.4.8.1 / (download) - annotate - [select for diffs], Sun May 18 12:33:08 2008 UTC (15 years ago) by yamt
Branch: yamt-pf42
Changes since 1.4: +13 -7
lines
Diff to previous 1.4 (colored) next main 1.5 (colored)
sync with head.
Revision 1.5.2.1 / (download) - annotate - [select for diffs], Fri May 16 02:23:30 2008 UTC (15 years ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.5: +12 -6
lines
Diff to previous 1.5 (colored)
sync with head.
Revision 1.7 / (download) - annotate - [select for diffs], Sun May 11 16:23:05 2008 UTC (15 years ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4,
yamt-pf42-base3,
yamt-pf42-base2,
yamt-nfs-mp-base6,
yamt-nfs-mp-base5,
yamt-nfs-mp-base4,
yamt-nfs-mp-base3,
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,
nick-hppapmap-base4,
nick-hppapmap-base3,
nick-hppapmap-base2,
nick-hppapmap-base,
nick-hppapmap,
netbsd-5-base,
netbsd-5-2-RELEASE,
netbsd-5-2-RC1,
netbsd-5-2-3-RELEASE,
netbsd-5-2-2-RELEASE,
netbsd-5-2-1-RELEASE,
netbsd-5-2,
netbsd-5-1-RELEASE,
netbsd-5-1-RC4,
netbsd-5-1-RC3,
netbsd-5-1-RC2,
netbsd-5-1-RC1,
netbsd-5-1-5-RELEASE,
netbsd-5-1-4-RELEASE,
netbsd-5-1-3-RELEASE,
netbsd-5-1-2-RELEASE,
netbsd-5-1-1-RELEASE,
netbsd-5-1,
netbsd-5-0-RELEASE,
netbsd-5-0-RC4,
netbsd-5-0-RC3,
netbsd-5-0-RC2,
netbsd-5-0-RC1,
netbsd-5-0-2-RELEASE,
netbsd-5-0-1-RELEASE,
netbsd-5-0,
netbsd-5,
mjf-devfs2-base,
matt-nb5-pq3-base,
matt-nb5-pq3,
matt-nb5-mips64-u2-k2-k4-k7-k8-k9,
matt-nb5-mips64-u1-k1-k5,
matt-nb5-mips64-premerge-20101231,
matt-nb5-mips64-premerge-20091211,
matt-nb5-mips64-k15,
matt-nb5-mips64,
matt-nb4-mips64-k7-u2a-k9b,
matt-mips64-base2,
jymxensuspend-base,
hpcarm-cleanup-nbase,
haad-nbase2,
haad-dm-base2,
haad-dm-base1,
haad-dm-base,
haad-dm,
ad-audiomp2-base,
ad-audiomp2
Branch point for: jym-xensuspend
Changes since 1.6: +10 -4
lines
Diff to previous 1.6 (colored)
Don't reload LDTR unless a new value, which only happens for USER_LDT.
Revision 1.6 / (download) - annotate - [select for diffs], Wed Apr 30 00:16:30 2008 UTC (15 years, 1 month ago) by cegger
Branch: MAIN
Branch point for: wrstuden-revivesa
Changes since 1.5: +4 -4
lines
Diff to previous 1.5 (colored)
AMD's APM Volume 2 says 'All control registers are 64bit in long mode'. Fix the CR0 prototype to match this (the asm implementation is correct though). OK ad
Revision 1.5 / (download) - annotate - [select for diffs], Mon Apr 21 15:15:34 2008 UTC (15 years, 1 month ago) by cegger
Branch: MAIN
CVS Tags: yamt-nfs-mp-base
Branch point for: yamt-nfs-mp
Changes since 1.4: +3 -3
lines
Diff to previous 1.4 (colored)
Access Xen's vcpu info structure per-CPU. Tested on i386 and amd64 (both dom0 and domU) by me. Xen2 tested (both dom0 and domU) by bouyer. OK bouyer
Revision 1.2.16.3 / (download) - annotate - [select for diffs], Sun Mar 23 02:04:30 2008 UTC (15 years, 2 months ago) by matt
Branch: matt-armv6
Changes since 1.2.16.2: +4 -2
lines
Diff to previous 1.2.16.2 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)
sync with HEAD
Revision 1.2.8.4 / (download) - annotate - [select for diffs], Wed Feb 27 08:36:29 2008 UTC (15 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.2.8.3: +4 -1
lines
Diff to previous 1.2.8.3 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)
sync with head.
Revision 1.1.4.2 / (download) - annotate - [select for diffs], Mon Feb 18 21:05:20 2008 UTC (15 years, 3 months ago) by mjf
Branch: mjf-devfs
Changes since 1.1.4.1: +4 -2
lines
Diff to previous 1.1.4.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)
Sync with HEAD.
Revision 1.4 / (download) - annotate - [select for diffs], Sun Feb 17 14:03:16 2008 UTC (15 years, 3 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-pf42-baseX,
yamt-pf42-base,
yamt-lazymbuf-base15,
yamt-lazymbuf-base14,
nick-net80211-sync-base,
nick-net80211-sync,
mjf-devfs-base,
matt-armv6-nbase,
keiichi-mipv6-nbase,
keiichi-mipv6-base,
keiichi-mipv6,
hpcarm-cleanup-base,
ad-socklock-base1
Branch point for: yamt-pf42,
mjf-devfs2
Changes since 1.3: +4 -1
lines
Diff to previous 1.3 (colored)
Add missing __KERNEL_RCSID()
Revision 1.2.8.3 / (download) - annotate - [select for diffs], Mon Jan 21 09:40:33 2008 UTC (15 years, 4 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.2.8.2: +1 -2
lines
Diff to previous 1.2.8.2 (colored) to branchpoint 1.2 (colored)
sync with head
Revision 1.3 / (download) - annotate - [select for diffs], Fri Jan 11 20:00:53 2008 UTC (15 years, 4 months ago) by bouyer
Branch: MAIN
CVS Tags: bouyer-xeni386-nbase,
bouyer-xeni386-base
Changes since 1.2: +0 -1
lines
Diff to previous 1.2 (colored)
Merge the bouyer-xeni386 branch to head, at tag bouyer-xeni386-merge1 (the branch is still active and will see i386PAE support developement). Sumary of changes: - switch xeni386 to the x86/x86/pmap.c, and the xen/x86/x86_xpmap.c pmap bootstrap. - merge back most of xen/i386/ to i386/i386 - change the build to reduce diffs between i386 and amd64 in file locations - remove include files that were identical to the i386/amd64 counterparts, the build will find them via the xen-ma/machine link.
Revision 1.2.12.1 / (download) - annotate - [select for diffs], Wed Jan 9 19:25:08 2008 UTC (15 years, 4 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.2: +1 -2
lines
Diff to previous 1.2 (colored) next main 1.3 (colored)
Merge xen bits to i386/i386/gdt.c. Convert remaining uses of PTE_* macros to pmap_pte_* macros/inlines. Fix think-o in pmap.c for native i386.
Revision 1.2.16.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:50:17 2008 UTC (15 years, 4 months ago) by matt
Branch: matt-armv6
Changes since 1.2.16.1: +155 -0
lines
Diff to previous 1.2.16.1 (colored) to branchpoint 1.2 (colored)
sync with HEAD
Revision 1.1.4.1 / (download) - annotate - [select for diffs], Sat Dec 8 18:18:25 2007 UTC (15 years, 5 months ago) by mjf
Branch: mjf-devfs
Changes since 1.1: +155 -0
lines
Diff to previous 1.1 (colored)
Sync with HEAD.
Revision 1.2.8.2 / (download) - annotate - [select for diffs], Fri Dec 7 17:27:19 2007 UTC (15 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.2.8.1: +155 -0
lines
Diff to previous 1.2.8.1 (colored) to branchpoint 1.2 (colored)
sync with head
Revision 1.2.4.2 / (download) - annotate - [select for diffs], Mon Dec 3 19:04:46 2007 UTC (15 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.2.4.1: +310 -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:24 2007 UTC (15 years, 6 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.2.2.1: +155 -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:06 2007 UTC (15 years, 6 months ago) by matt
Branch: matt-armv6
Changes since 1.2: +0 -155
lines
FILE REMOVED
file xenfunc.c was added on branch matt-armv6 on 2008-01-09 01:50:17 +0000
Revision 1.2.8.1, Thu Nov 22 16:17:06 2007 UTC (15 years, 6 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.2: +0 -155
lines
FILE REMOVED
file xenfunc.c was added on branch yamt-lazymbuf on 2007-12-07 17:27:19 +0000
Revision 1.2.4.1, Thu Nov 22 16:17:06 2007 UTC (15 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.2: +0 -155
lines
FILE REMOVED
file xenfunc.c was added on branch vmlocking on 2007-12-03 19:04:45 +0000
Revision 1.2.2.1, Thu Nov 22 16:17:06 2007 UTC (15 years, 6 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.2: +0 -155
lines
FILE REMOVED
file xenfunc.c was added on branch jmcneill-pm on 2007-11-27 19:36:24 +0000
Revision 1.2 / (download) - annotate - [select for diffs], Thu Nov 22 16:17:06 2007 UTC (15 years, 6 months ago) by bouyer
Branch: MAIN
CVS Tags: 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,
matt-armv6-base,
jmcneill-pm-base,
cube-autoconf-base,
cube-autoconf
Branch point for: yamt-lazymbuf,
vmlocking,
matt-armv6,
jmcneill-pm,
bouyer-xeni386
Changes since 1.1: +155 -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.2 / (download) - annotate - [select for diffs], Sun Oct 21 15:41:04 2007 UTC (15 years, 7 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.1.2.1: +2 -2
lines
Diff to previous 1.1.2.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)
Factorise some Xen pmap code in x86_xpmap.c. More xpmap_{ptom,mtop} -> xpmap_{ptom,mtop}_masked The xenamd64 kernel is now good enough to complete a sysinst install from xennet to xbd.
Revision 1.1.2.1 / (download) - annotate - [select for diffs], Wed Oct 17 21:08:22 2007 UTC (15 years, 7 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.1: +155 -0
lines
Diff to previous 1.1 (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:22 2007 UTC (15 years, 7 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 xenfunc.c was initially added on branch bouyer-xenamd64.