Up to [cvs.NetBSD.org] / src / sys / arch / xen / x86
Request diff between arbitrary revisions
Default branch: MAIN
Current tag: MAIN
Revision 1.49 / (download) - annotate - [select for diffs], Sun Sep 16 22:09:34 2012 UTC (8 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-pagecache-base8,
yamt-pagecache-base7,
yamt-pagecache-base6,
tls-maxphys-nbase,
tls-maxphys-base,
khorben-n900,
agc-symver-base,
agc-symver,
HEAD
Changes since 1.48: +4 -4
lines
Diff to previous 1.48 (colored)
Rename kcpuset_copybits() to kcpuset_export_u32() and thus be more specific about the interface.
Revision 1.48 / (download) - annotate - [select for diffs], Tue Aug 21 09:06:02 2012 UTC (9 months ago) by bouyer
Branch: MAIN
Branch point for: tls-maxphys
Changes since 1.47: +21 -8
lines
Diff to previous 1.47 (colored)
Redo previous the correct way: Xen expects a u_long * for vcpumask, so use 2 uint32_t on LP64.
Revision 1.47 / (download) - annotate - [select for diffs], Tue Aug 21 01:17:46 2012 UTC (9 months ago) by rmind
Branch: MAIN
Changes since 1.46: +4 -4
lines
Diff to previous 1.46 (colored)
Fix Xen build. Make xcpumask uint32_t, fits 32 CPUs (can increase).
Revision 1.46 / (download) - annotate - [select for diffs], Sat Jun 30 22:50:37 2012 UTC (10 months, 3 weeks ago) by jym
Branch: MAIN
Changes since 1.45: +3 -3
lines
Diff to previous 1.45 (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.45 / (download) - annotate - [select for diffs], Wed Jun 27 00:37:10 2012 UTC (10 months, 3 weeks ago) by jym
Branch: MAIN
Changes since 1.44: +3 -3
lines
Diff to previous 1.44 (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.44 / (download) - annotate - [select for diffs], Wed Jun 6 22:22:41 2012 UTC (11 months, 2 weeks ago) by rmind
Branch: MAIN
Changes since 1.43: +8 -24
lines
Diff to previous 1.43 (colored)
Few fixes for Xen: - cpu_load_pmap: use atomic kcpuset(9) operations; fixes rare crashes. - Add kcpuset_copybits(9) and replace xen_kcpuset2bits(). Avoids incorrect ncpu problem in early boot. Also, micro-optimises xen_mcast_invlpg() and xen_mcast_tlbflush() routines. Tested by chs@.
Revision 1.43 / (download) - annotate - [select for diffs], Fri Apr 20 22:23:25 2012 UTC (13 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-pagecache-base5,
jmcneill-usbmp-base9,
jmcneill-usbmp-base10
Changes since 1.42: +28 -8
lines
Diff to previous 1.42 (colored)
- Convert x86 MD code, mainly pmap(9) e.g. TLB shootdown code, to use kcpuset(9) and thus replace hardcoded CPU bitmasks. This removes the limitation of maximum CPUs. - Support up to 256 CPUs on amd64 architecture by default. Bug fixes, improvements, completion of Xen part and testing on 64-core AMD Opteron(tm) Processor 6282 SE (also, as Xen HVM domU with 128 CPUs) by Manuel Bouyer.
Revision 1.42 / (download) - annotate - [select for diffs], Fri Mar 2 16:37:38 2012 UTC (14 months, 2 weeks ago) by bouyer
Branch: MAIN
CVS Tags: yamt-pagecache-base4,
jmcneill-usbmp-base8,
jmcneill-usbmp-base7,
jmcneill-usbmp-base6,
jmcneill-usbmp-base4
Changes since 1.41: +8 -12
lines
Diff to previous 1.41 (colored)
MMUEXT_INVLPG_MULTI and MMUEXT_TLB_FLUSH_MULTI use a long as cpu mask, not uint32_t, so pass a pointer of the right type. While there, cleanup includes and delete local, redundant define of PG_k.
Revision 1.41 / (download) - annotate - [select for diffs], Fri Feb 24 08:06:08 2012 UTC (14 months, 3 weeks ago) by cherry
Branch: MAIN
CVS Tags: jmcneill-usbmp-base5
Changes since 1.40: +28 -15
lines
Diff to previous 1.40 (colored)
(xen) - remove the (*xpq_cpu)() shim.We hasten the %fs/%gs setup process during boot.Although this is hacky, it lets us use the non-xen specificpmap_pte_xxx() functions in pmap code (and others).
Revision 1.40 / (download) - annotate - [select for diffs], Thu Feb 23 18:59:21 2012 UTC (14 months, 4 weeks ago) by bouyer
Branch: MAIN
CVS Tags: jmcneill-usbmp-base3
Changes since 1.39: +8 -2
lines
Diff to previous 1.39 (colored)
On Xen, there is variable-sized Xen data after the kernel's text+data+bss (this include the physical->machine table). (vaddr_t)(KERNBASE + NKL2_KIMG_ENTRIES * NBPD_L2) is after text+data+bss but, on a domU with lots of RAM (more than 4GB) (so large xpmap_phys_to_machine_mapping table) this can point to some of Xen's data setup at bootstrap (either the xpmap_phys_to_machine_mapping table, some page shared with the hypervisor, or our kernel page table). Using it for early_zerop will cause of these pages to be unmapped after bootstrap. This will cause a kernel page fault for the domU, either immediatly or eventually much later, depending on where early_zerop points to. To fix this, account for early_zerop when building the bootstrap pages, and its VA from here. May fix PR port-xen/38699
Revision 1.39 / (download) - annotate - [select for diffs], Fri Feb 17 18:40:20 2012 UTC (15 months ago) by bouyer
Branch: MAIN
CVS Tags: jmcneill-usbmp-base2
Changes since 1.38: +25 -7
lines
Diff to previous 1.38 (colored)
Apply patch proposed in PR port-xen/45975 (this does not solve the exact problem reported here but is part of the solution): xen_kpm_sync() is not working as expected, leading to races between CPUs. 1 the check (xpq_cpu != &x86_curcpu) is always false because we have different x86_curcpu symbols with different addresses in the kernel. Fortunably, all addresses dissaemble to the same code. Because of this we always use the code intended for bootstrap, which doesn't use cross-calls or lock. 2 once 1 above is fixed, xen_kpm_sync() will use xcalls to sync other CPUs, which cause it to sleep and pmap.c doesn't like that. It triggers this KASSERT() in pmap_unmap_ptes(): KASSERT(pmap->pm_ncsw == curlwp->l_ncsw); 3 pmap->pm_cpus is not safe for the purpose of xen_kpm_sync(), which needs to know on which CPU a pmap is loaded *now*: pmap->pm_cpus is cleared before cpu_load_pmap() is called to switch to a new pmap, leaving a window where a pmap is still in a CPU's ci_kpm_pdir but not in pm_cpus. As a virtual CPU may be preempted by the hypervisor at any time, it can be large enough to let another CPU free the PTP and reuse it as a normal page. To fix 2), avoid cross-calls and IPIs completely, and instead use a mutex to update all CPU's ci_kpm_pdir from the local CPU. It's safe because we just need to update the table page, a tlbflush IPI will happen later. As a side effect, we don't need a different code for bootstrap, fixing 1). The mutex added to struct cpu needs a small headers reorganisation. to fix 3), introduce a pm_xen_ptp_cpus which is updated from cpu_pmap_load(), whith the ci_kpm_mtx mutex held. Checking it with ci_kpm_mtx held will avoid overwriting the wrong pmap's ci_kpm_pdir. While there I removed the unused pmap_is_active() function; and added some more details to DIAGNOSTIC panics.
Revision 1.38 / (download) - annotate - [select for diffs], Thu Jan 12 19:49:37 2012 UTC (16 months, 1 week ago) by cherry
Branch: MAIN
CVS Tags: netbsd-6-base
Branch point for: netbsd-6
Changes since 1.37: +3 -5
lines
Diff to previous 1.37 (colored)
relocate pte_lock initialisation to the earliest points after %fs is first usable in the XEN bootpath
Revision 1.37 / (download) - annotate - [select for diffs], Mon Jan 9 13:04:13 2012 UTC (16 months, 1 week ago) by cherry
Branch: MAIN
Changes since 1.36: +5 -2
lines
Diff to previous 1.36 (colored)
Make cross-cpu pte access MP safe. XXX: review cases of use of pmap_set_pte() vs direct use of xpq_queue_pte_update()
Revision 1.36 / (download) - annotate - [select for diffs], Sun Nov 6 15:18:19 2011 UTC (18 months, 2 weeks ago) by cherry
Branch: MAIN
CVS Tags: yamt-pagecache-base3,
yamt-pagecache-base2,
jmcneill-usbmp-pre-base2,
jmcneill-usbmp-base,
jmcneill-audiomp3-base,
jmcneill-audiomp3
Branch point for: jmcneill-usbmp
Changes since 1.35: +28 -9
lines
Diff to previous 1.35 (colored)
[merging from cherry-xenmp] make pmap_kernel() shadow PMD per-cpu and MP aware.
Revision 1.35 / (download) - annotate - [select for diffs], Sun Nov 6 11:40:47 2011 UTC (18 months, 2 weeks ago) by cherry
Branch: MAIN
Changes since 1.34: +33 -59
lines
Diff to previous 1.34 (colored)
[merging from cherry-xenmp] Make the xen MMU op queue locking api private. Implement per-cpu queues.
Revision 1.34 / (download) - annotate - [select for diffs], Tue Sep 20 00:12:24 2011 UTC (20 months ago) by jym
Branch: MAIN
CVS Tags: yamt-pagecache-base
Branch point for: yamt-pagecache
Changes since 1.33: +3 -3
lines
Diff to previous 1.33 (colored)
Merge jym-xensuspend branch in -current. ok bouyer@. Goal: save/restore support in NetBSD domUs, for i386, i386 PAE and amd64. Executive summary: - split all Xen drivers (xenbus(4), grant tables, xbd(4), xennet(4)) in two parts: suspend and resume, and hook them to pmf(9). - modify pmap so that Xen hypervisor does not cry out loud in case it finds "unexpected" recursive memory mappings - provide a sysctl(7), machdep.xen.suspend, to command suspend from userland via powerd(8). Note: a suspend can only be handled correctly when dom0 requested it, so provide a mechanism that will prevent kernel to blindly validate user's commands The code is still in experimental state, use at your own risk: restore can corrupt backend communications rings; this can completely thrash dom0 as it will loop at a high interrupt level trying to honor all domU requests. XXX PAE suspend does not work in amd64 currently, due to (yet again!) page validation issues with hypervisor. Will fix. XXX secondary CPUs are not suspended, I will write the handlers in sync with cherry's Xen MP work. Tested under i386 and amd64, bear in mind ring corruption though. No build break expected, GENERICs and XEN* kernels should be fine. ./build.sh distribution still running. In any case: sorry if it does break for you, contact me directly for reports.
Revision 1.33 / (download) - annotate - [select for diffs], Sun Aug 21 10:00:13 2011 UTC (21 months ago) by jym
Branch: MAIN
CVS Tags: jym-xensuspend-nbase,
jym-xensuspend-base
Changes since 1.32: +5 -5
lines
Diff to previous 1.32 (colored)
Merge err printf with the panic(9) message.
Also fix the if () {...} statement with braces, to avoid calling panic()
every time. Hi cherry!
Revision 1.32 / (download) - annotate - [select for diffs], Sat Aug 13 20:24:19 2011 UTC (21 months, 1 week ago) by cherry
Branch: MAIN
Changes since 1.31: +3 -3
lines
Diff to previous 1.31 (colored)
Call the right function (fix for an egregious error)
Revision 1.31 / (download) - annotate - [select for diffs], Sat Aug 13 12:09:38 2011 UTC (21 months, 1 week ago) by cherry
Branch: MAIN
Changes since 1.30: +8 -3
lines
Diff to previous 1.30 (colored)
Add locking around ops to the hypervisor MMU "queue".
Revision 1.30 / (download) - annotate - [select for diffs], Sat Aug 13 11:41:57 2011 UTC (21 months, 1 week ago) by cherry
Branch: MAIN
Changes since 1.29: +28 -19
lines
Diff to previous 1.29 (colored)
remove unnecessary locking overhead for UP
Revision 1.29 / (download) - annotate - [select for diffs], Wed Aug 10 09:50:37 2011 UTC (21 months, 1 week ago) by cherry
Branch: MAIN
Changes since 1.28: +164 -5
lines
Diff to previous 1.28 (colored)
Introduce locking primitives for Xen pte operations, and xen helper calls for MP related MMU ops
Revision 1.28 / (download) - annotate - [select for diffs], Wed Jun 15 20:50:02 2011 UTC (23 months, 1 week ago) by rmind
Branch: MAIN
Changes since 1.27: +6 -5
lines
Diff to previous 1.27 (colored)
Few XEN fixes: - cpu_load_pmap: perform tlbflush() after xen_set_user_pgd(). - xen_pmap_bootstrap: perform xpq_queue_tlb_flush() in the end. - pmap_tlb_shootdown: do not check PG_G for Xen.
Revision 1.27 / (download) - annotate - [select for diffs], Wed Jun 15 19:54:16 2011 UTC (23 months, 1 week ago) by rmind
Branch: MAIN
Changes since 1.26: +3 -2
lines
Diff to previous 1.26 (colored)
- cpu_hatch: call tlbflushg(), just to make sure that TLB is clean. - xen_bootstrap_tables: call xpq_queue_tlb_flush() for safety. - Initialise cpus_attached and ci_cpumask for primary CPU.
Revision 1.26 / (download) - annotate - [select for diffs], Sun May 8 00:18:25 2011 UTC (2 years ago) by jym
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase,
rmind-uvmplock-base,
cherry-xenmp-base
Branch point for: cherry-xenmp
Changes since 1.25: +3 -3
lines
Diff to previous 1.25 (colored)
Print the PGD address in the debug message.
Revision 1.25 / (download) - annotate - [select for diffs], Tue Mar 29 23:51:32 2011 UTC (2 years, 1 month ago) by jym
Branch: MAIN
Changes since 1.24: +3 -3
lines
Diff to previous 1.24 (colored)
Typo fix.
Revision 1.24 / (download) - annotate - [select for diffs], Thu Feb 10 00:23:14 2011 UTC (2 years, 3 months ago) by jym
Branch: MAIN
CVS Tags: uebayasi-xip-base7,
bouyer-quota2-nbase,
bouyer-quota2-base
Changes since 1.23: +14 -33
lines
Diff to previous 1.23 (colored)
Use only one function to pin pages with Xen, and provide macros to call it for different levels (L1 => L4). Replace all calls to xpq_queue_pin_table(...) in MD code with these new functions, with proper #ifdef'ing depending on $MACHINE. Rationale: - only one function to modify for logging - pushes responsibility to caller for chosing the proper pin level, rather than Xen internal functions; this makes the pin level explicit rather than implicit. Boot tested for dom0 i386/amd64, PAE included. No functional change intended.
Revision 1.23 / (download) - annotate - [select for diffs], Mon Dec 20 21:18:45 2010 UTC (2 years, 5 months ago) by jym
Branch: MAIN
CVS Tags: matt-mips64-premerge-20101231,
jruoho-x86intr-base
Branch point for: jruoho-x86intr,
bouyer-quota2
Changes since 1.22: +8 -6
lines
Diff to previous 1.22 (colored)
Now, get the return error too, in case that could help with EC2 troubleshooting...
Revision 1.22 / (download) - annotate - [select for diffs], Sun Dec 19 23:23:35 2010 UTC (2 years, 5 months ago) by jym
Branch: MAIN
Changes since 1.21: +4 -3
lines
Diff to previous 1.21 (colored)
Need the successful count (for AMI debugging)
Revision 1.21 / (download) - annotate - [select for diffs], Sat Jul 24 00:45:56 2010 UTC (2 years, 9 months ago) by jym
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11,
yamt-nfs-mp-base10,
uebayasi-xip-base6,
uebayasi-xip-base5,
uebayasi-xip-base4,
uebayasi-xip-base3,
uebayasi-xip-base2
Changes since 1.20: +13 -11
lines
Diff to previous 1.20 (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.20 / (download) - annotate - [select for diffs], Thu Jul 15 23:20:34 2010 UTC (2 years, 10 months ago) by jym
Branch: MAIN
Changes since 1.19: +3 -3
lines
Diff to previous 1.19 (colored)
With Xen, PDPpaddr should contain a guest physical address (== PFN).
Revision 1.19 / (download) - annotate - [select for diffs], Fri Feb 26 19:25:07 2010 UTC (3 years, 2 months ago) by jym
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9,
uebayasi-xip-base1
Branch point for: rmind-uvmplock
Changes since 1.18: +57 -58
lines
Diff to previous 1.18 (colored)
Fixes regarding paddr_t/pd_entry_t types in MD x86 code, exposed by PAE: - NBPD_* macros are set to the types that better match their architecture (UL for i386 and amd64, ULL for i386 PAE) - will revisit when paddr_t is set to 64 bits for i386 non-PAE. - type fixes in printf/printk messages (Use PRIxPADDR when printing paddr_t values, instead of %lx - paddr_t/pd_entry_t being 64 bits with PAE) - remove casts that are no more needed now that Xen2 support has been dropped Some fixes are from jmorse@ patches for PAE. Compile + tested for i386 GENERIC and XEN3 kernels. Only compile tested for amd64. Reviewed by bouyer@. See also http://mail-index.netbsd.org/tech-kern/2010/02/22/msg007373.html
Revision 1.18 / (download) - annotate - [select for diffs], Fri Feb 12 01:55:45 2010 UTC (3 years, 3 months ago) by jym
Branch: MAIN
Changes since 1.17: +2 -3
lines
Diff to previous 1.17 (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.17 / (download) - annotate - [select for diffs], Fri Oct 23 02:32:34 2009 UTC (3 years, 6 months ago) by snj
Branch: MAIN
CVS Tags: uebayasi-xip-base,
matt-premerge-20091211
Branch point for: uebayasi-xip
Changes since 1.16: +2 -7
lines
Diff to previous 1.16 (colored)
Remove 3rd and 4th clauses. OK cl@ (copyright holder).
Revision 1.16 / (download) - annotate - [select for diffs], Mon Oct 19 18:41:11 2009 UTC (3 years, 7 months ago) by bouyer
Branch: MAIN
Changes since 1.15: +2 -7
lines
Diff to previous 1.15 (colored)
Remove closes 3 & 4 from my licence. Lots of thanks to Soren Jacobsen for the booring work !
Revision 1.15 / (download) - annotate - [select for diffs], Wed Jul 29 12:02:08 2009 UTC (3 years, 9 months ago) by cegger
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8,
yamt-nfs-mp-base7
Changes since 1.14: +2 -99
lines
Diff to previous 1.14 (colored)
remove Xen2 support. ok bouyer@
Revision 1.14 / (download) - annotate - [select for diffs], Thu Jul 23 15:26:20 2009 UTC (3 years, 9 months ago) by jym
Branch: MAIN
CVS Tags: jymxensuspend-base
Changes since 1.13: +6 -6
lines
Diff to previous 1.13 (colored)
Fix typos in comments and __PRINTKs.
Revision 1.13 / (download) - annotate - [select for diffs], Sat Jun 20 10:24:28 2009 UTC (3 years, 11 months ago) by cegger
Branch: MAIN
CVS Tags: yamt-nfs-mp-base6
Changes since 1.12: +18 -9
lines
Diff to previous 1.12 (colored)
sprintf -> snprintf. Wrap long lines.
Revision 1.12 / (download) - annotate - [select for diffs], Thu Nov 13 18:44:51 2008 UTC (4 years, 6 months ago) by cegger
Branch: MAIN
CVS Tags: yamt-nfs-mp-base5,
yamt-nfs-mp-base4,
yamt-nfs-mp-base3,
nick-hppapmap-base4,
nick-hppapmap-base3,
nick-hppapmap-base2,
nick-hppapmap-base,
mjf-devfs2-base,
haad-nbase2,
haad-dm-base2,
haad-dm-base,
ad-audiomp2-base,
ad-audiomp2
Branch point for: jym-xensuspend
Changes since 1.11: +5 -5
lines
Diff to previous 1.11 (colored)
Finish preparation to new interface. New interface not yet used by default. It needs some testing first.
Revision 1.11 / (download) - annotate - [select for diffs], Fri Oct 24 21:09:24 2008 UTC (4 years, 6 months ago) by jym
Branch: MAIN
CVS Tags: netbsd-5-base,
netbsd-5-1-RELEASE,
netbsd-5-1-RC4,
netbsd-5-1-RC3,
netbsd-5-1-RC2,
netbsd-5-1-RC1,
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,
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
Branch point for: nick-hppapmap,
netbsd-5
Changes since 1.10: +4 -3
lines
Diff to previous 1.10 (colored)
- rename init_events() to events_init(), to better reflect netbsd semantics - change unbind_[pv]irq_from_evtch() so that they now return the event channel the [PV]IRQ was bound to. It reflects the opposite behaviour of the bind_[pv]irq_to_evtch() functions. - remove xenbus_suspend() and xenbus_resume() prototypes, as they are not used anywhere else, and will conflict with the xenbus pmf(9) handlers. - make start_info aligned on a page boundary, as Xen expects it to be so. - mask event channel during xbd detach before removing its handler (can avoid spurious events). - add the "protocol" entry in xenstore during xbd initialization. Normally created during domU's boot by xentools, it is under domU's responsibility in all other cases (save/restore, hot plugging, etc.). - modifications to xs_init(), so that it can properly return an error. Reviewed by Christoph (cegger@).
Revision 1.10 / (download) - annotate - [select for diffs], Tue Oct 21 15:46:32 2008 UTC (4 years, 7 months ago) by cegger
Branch: MAIN
Changes since 1.9: +4 -4
lines
Diff to previous 1.9 (colored)
introduce two macros: xendomain_is_dom0() and xendomain_is_privileged(). Use them.
Revision 1.9 / (download) - annotate - [select for diffs], Fri Sep 5 13:37:24 2008 UTC (4 years, 8 months ago) by tron
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4,
wrstuden-revivesa-base-3,
wrstuden-revivesa-base-2,
haad-dm-base1
Changes since 1.8: +5 -3
lines
Diff to previous 1.8 (colored)
Compile NetBSD/amd64 kernels with "-Wextra". Patches contributed by Juan RP in PR port-amd64/39266.
Revision 1.8 / (download) - annotate - [select for diffs], Mon Apr 14 13:38:03 2008 UTC (5 years, 1 month ago) by cegger
Branch: MAIN
CVS Tags: yamt-pf42-baseX,
yamt-pf42-base4,
yamt-pf42-base3,
yamt-pf42-base2,
yamt-pf42-base,
yamt-pf42,
yamt-nfs-mp-base2,
yamt-nfs-mp-base,
wrstuden-revivesa-base-1,
wrstuden-revivesa-base,
simonb-wapbl-nbase,
simonb-wapbl-base,
simonb-wapbl,
hpcarm-cleanup-nbase
Branch point for: yamt-nfs-mp,
wrstuden-revivesa,
haad-dm
Changes since 1.7: +17 -17
lines
Diff to previous 1.7 (colored)
- use POSIX integer types - ansify functions
Revision 1.7 / (download) - annotate - [select for diffs], Sun Feb 17 17:39:42 2008 UTC (5 years, 3 months ago) by bouyer
Branch: MAIN
CVS Tags: 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: mjf-devfs2
Changes since 1.6: +8 -6
lines
Diff to previous 1.6 (colored)
The informations about console and store page number are long, so avoid overflow on i386PAE when converting to machine address. Fix booting XEN3PAE kernels when xen maps it above 4Gb.
Revision 1.6 / (download) - annotate - [select for diffs], Wed Jan 23 19:46:46 2008 UTC (5 years, 3 months ago) by bouyer
Branch: MAIN
Changes since 1.5: +211 -85
lines
Diff to previous 1.5 (colored)
Merge the bouyer-xeni386 branch. This brings in PAE support to NetBSD xeni386
(domU only). PAE support is enabled by 'options PAE', see the new XEN3PAE_DOMU
and INSTALL_XEN3PAE_DOMU kernel config files.
See the comments in arch/i386/include/{pte.h,pmap.h} to see how it works.
In short, we still handle it as a 2-level MMU, with the second level page
directory being 4 pages in size. pmap switching is done by switching the
L2 pages in the L3 entries, instead of loading %cr3. This is almost required
by Xen, which handle the last L2 page (the one mapping 0xc0000000 - 0xffffffff)
in a very special way. But this approach should also work for native PAE
support if ever supported (in fact, the pmap should almost suport native
PAE, what's missing is bootstrap code in locore.S).
Revision 1.5 / (download) - annotate - [select for diffs], Tue Jan 15 19:55:53 2008 UTC (5 years, 4 months ago) by bouyer
Branch: MAIN
CVS Tags: bouyer-xeni386-nbase,
bouyer-xeni386-base
Changes since 1.4: +11 -4
lines
Diff to previous 1.4 (colored)
Allocate one more L2 slot in xen_pmap_bootstrap() for i386. pmap_bootstrap()/init386() wants to map a few additionnal things after first_avail that we didn't account for, before pmap_growkernel() is used/functionnal, and if the loaded kernel is close to the end of the last L2 slot we loose. Should fix port-xen/37761 by YAMAMOTO Takashi. Fix a XENPRINTF() so that low debug builds again.
Revision 1.4 / (download) - annotate - [select for diffs], Fri Jan 11 20:00:52 2008 UTC (5 years, 4 months ago) by bouyer
Branch: MAIN
Changes since 1.3: +134 -70
lines
Diff to previous 1.3 (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.3 / (download) - annotate - [select for diffs], Fri Nov 23 09:54:33 2007 UTC (5 years, 5 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.2: +5 -4
lines
Diff to previous 1.2 (colored)
xpq_flush_queue(): cast values to u_int64_t and use PRIx64 in printf(). Fix build of i386 Xen kernels, reported by Hisashi T Fujinaka.
Revision 1.2 / (download) - annotate - [select for diffs], Thu Nov 22 16:17:05 2007 UTC (5 years, 6 months ago) by bouyer
Branch: MAIN
Changes since 1.1: +806 -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, Sun Oct 21 15:41:03 2007 UTC (5 years, 7 months ago) by bouyer
Branch: MAIN
CVS Tags: jmcneill-base,
bouyer-xenamd64-base2,
bouyer-xenamd64-base
Branch point for: mjf-devfs,
bouyer-xenamd64
FILE REMOVED
file x86_xpmap.c was initially added on branch bouyer-xenamd64.