Up to [cvs.NetBSD.org] / src / sys / arch / xen / xen
Request diff between arbitrary revisions
Default branch: MAIN
Current tag: MAIN
Revision 1.21, Sat Nov 4 15:24:42 2017 UTC (11 months, 2 weeks ago) by cherry
CVS Tags: pgoyette-compat-base, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, HEAD
Changes since 1.20: +2 -2 lines
Remove bitrotted xen specific versions of pci, pciide machdep related code. Use the common x86/ code instead.
Revision 1.20 / (download) - annotate - [select for diffs], Sat Nov 4 14:56:48 2017 UTC (11 months, 2 weeks ago) by cherry
Changes since 1.19: +3 -3 lines
Diff to previous 1.19 (colored)
Retire xen/x86/intr.c and use the new xen specific glue in x86/x86/intr.c The purpose of this change is to expose the x86/include/intr.h API to drivers. Specifically the following functions: void *intr_establish_xname(...); void *intr_establish(...); void intr_disestablish(...); while maintaining the old API from xen/include/evtchn.h, specifically the following functions: int event_set_handler(...); int event_remove_handler(...); This is so that if things break, we can keep using the old API until everything stabilises. This is a stepping stone towards getting the actual XEN event callback path rework code in place - which can be done opaquely behind the intr.h API - NetBSD/XEN specific drivers that have been ported to the intr.h API should then work without significant further modifications.
Revision 1.19 / (download) - annotate - [select for diffs], Sun Jul 16 06:14:24 2017 UTC (15 months, 1 week ago) by cherry
CVS Tags: perseant-stdc-iso10646-base, nick-nhusb-base-20170825
Branch point for: perseant-stdc-iso10646
Changes since 1.18: +12 -12 lines
Diff to previous 1.18 (colored)
Remove the xen specific interrupt type for the x86 intr_handle_t For this to work, we use the evtchn.c:get_pirq_to_evtchn() glue function to make things easier.
Revision 1.18 / (download) - annotate - [select for diffs], Mon Apr 4 20:37:55 2011 UTC (7 years, 6 months ago) by dyoung
CVS Tags: yamt-pagecache-tag8, yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, yamt-pagecache, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-uvmplock-nbase, rmind-uvmplock-base, 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, 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, netbsd-8-base, 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, 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-nb8-mediatek-base, matt-nb8-mediatek, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, localcount-20160914, khorben-n900, 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, jdolecek-ncq-base, jdolecek-ncq, cherry-xenmp-base, cherry-xenmp, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, agc-symver-base, agc-symver
Branch point for: tls-maxphys, nick-nhusb
Changes since 1.17: +3 -3 lines
Diff to previous 1.17 (colored)
Neither pci_dma64_available(), pci_probe_device(), pci_mapreg_map(9), pci_find_rom(), pci_intr_map(9), pci_enumerate_bus(), nor the match predicate passed to pciide_compat_intr_establish() should ever modify their pci_attach_args argument, so make their pci_attach_args arguments const and deal with the fallout throughout the kernel. For the most part, these changes add a 'const' where there was no 'const' before, however, some drivers and MD code used to modify pci_attach_args. Now those drivers either copy their pci_attach_args and modify the copy, or refrain from modifying pci_attach_args: Xen: according to Manuel Bouyer, writing to pci_attach_args in pci_intr_map() was a leftover from Xen 2. Probably a bug. I stopped writing it. I have not tested this change. siside(4): sis_hostbr_match() needlessly wrote to pci_attach_args. Probably a bug. I use a temporary variable. I have not tested this change. slide(4): sl82c105_chip_map() overwrote the caller's pci_attach_args. Probably a bug. Use a local pci_attach_args. I have not tested this change. viaide(4): via_sata_chip_map() and via_sata_chip_map_new() overwrote the caller's pci_attach_args. Probably a bug. Make a local copy of the caller's pci_attach_args and modify the copy. I have not tested this change. While I'm here, make pci_mapreg_submap() static. With these changes in place, I have tested the compilation of these kernels: alpha GENERIC amd64 GENERIC XEN3_DOM0 arc GENERIC atari HADES MILAN-PCIIDE bebox GENERIC cats GENERIC cobalt GENERIC evbarm-eb NSLU2 evbarm-el ADI_BRH ARMADILLO9 CP3100 GEMINI GEMINI_MASTER GEMINI_SLAVE GUMSTIX HDL_G IMX31LITE INTEGRATOR IQ31244 IQ80310 IQ80321 IXDP425 IXM1200 KUROBOX_PRO LUBBOCK MARVELL_NAS NAPPI SHEEVAPLUG SMDK2800 TEAMASA_NPWR TEAMASA_NPWR_FC TS7200 TWINTAIL ZAO425 evbmips-el AP30 DBAU1500 DBAU1550 MALTA MERAKI MTX-1 OMSAL400 RB153 WGT624V3 evbmips64-el XLSATX evbppc EV64260 MPC8536DS MPC8548CDS OPENBLOCKS200 OPENBLOCKS266 OPENBLOCKS266_OPT P2020RDB PMPPC RB800 WALNUT hp700 GENERIC i386 ALL XEN3_DOM0 XEN3_DOMU ibmnws GENERIC macppc GENERIC mvmeppc GENERIC netwinder GENERIC ofppc GENERIC prep GENERIC sandpoint GENERIC sgimips GENERIC32_IP2x sparc GENERIC_SUN4U KRUPS sparc64 GENERIC As of Sun Apr 3 15:26:26 CDT 2011, I could not compile these kernels with or without my patches in place: ### evbmips-el GDIUM nbmake: nbmake: don't know how to make /home/dyoung/pristine-nbsd/src/sys/arch/mips/mips/softintr.c. Stop ### evbarm-el MPCSA_GENERIC src/sys/arch/evbarm/conf/MPCSA_GENERIC:318: ds1672rtc*: unknown device `ds1672rtc' ### ia64 GENERIC /tmp/genassym.28085/assym.c: In function 'f111': /tmp/genassym.28085/assym.c:67: error: invalid application of 'sizeof' to incomplete type 'struct pcb' /tmp/genassym.28085/assym.c:76: error: dereferencing pointer to incomplete type ### sgimips GENERIC32_IP3x crmfb.o: In function `crmfb_attach': crmfb.c:(.text+0x2304): undefined reference to `ddc_read_edid' crmfb.c:(.text+0x2304): relocation truncated to fit: R_MIPS_26 against `ddc_read_edid' crmfb.c:(.text+0x234c): undefined reference to `edid_parse' crmfb.c:(.text+0x234c): relocation truncated to fit: R_MIPS_26 against `edid_parse' crmfb.c:(.text+0x2354): undefined reference to `edid_print' crmfb.c:(.text+0x2354): relocation truncated to fit: R_MIPS_26 against `edid_print'
Revision 1.17 / (download) - annotate - [select for diffs], Sat Feb 6 17:48:54 2010 UTC (8 years, 8 months ago) by bouyer
CVS Tags: yamt-nfs-mp-base9, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base7, uebayasi-xip-base6, uebayasi-xip-base5, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, uebayasi-xip, matt-mips64-premerge-20101231, jruoho-x86intr-base, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: rmind-uvmplock, jruoho-x86intr
Changes since 1.16: +3 -3 lines
Diff to previous 1.16 (colored)
Enlarge temporary buffer, so that event counter's name is not truncated for ioapic interrupts.
Revision 1.16 / (download) - annotate - [select for diffs], Wed Jul 29 12:02:09 2009 UTC (9 years, 2 months ago) by cegger
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, matt-premerge-20091211
Changes since 1.15: +3 -14 lines
Diff to previous 1.15 (colored)
remove Xen2 support. ok bouyer@
Revision 1.15 / (download) - annotate - [select for diffs], Fri May 1 09:43:11 2009 UTC (9 years, 5 months ago) by cegger
CVS Tags: yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, jymxensuspend-base
Changes since 1.14: +3 -3 lines
Diff to previous 1.14 (colored)
struct device * -> device_t
Revision 1.14 / (download) - annotate - [select for diffs], Mon Mar 16 06:18:32 2009 UTC (9 years, 7 months ago) by cegger
CVS Tags: nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base
Changes since 1.13: +5 -8 lines
Diff to previous 1.13 (colored)
ansify function definitions
Revision 1.13 / (download) - annotate - [select for diffs], Sat Mar 14 14:46:08 2009 UTC (9 years, 7 months ago) by dsl
Changes since 1.12: +3 -3 lines
Diff to previous 1.12 (colored)
Remove all the __P() from sys (excluding sys/dist) Diff checked with grep and MK1 eyeball. i386 and amd64 GENERIC and sys still build.
Revision 1.12 / (download) - annotate - [select for diffs], Tue Mar 10 17:21:57 2009 UTC (9 years, 7 months ago) by bouyer
Changes since 1.11: +7 -5 lines
Diff to previous 1.11 (colored)
When ioapic is used, for ISA interrupts, reuse the legacy ISA interrupt number instead of allocating a new one. Force allocating a new interrupt number for PCI devices, as the number stored in the PCI interrupt register may be wrong. This should help using a pciide controller in compat mode or ISA devices in a non-0 domain.
Revision 1.11 / (download) - annotate - [select for diffs], Thu Jul 3 15:44:19 2008 UTC (10 years, 3 months ago) by drochner
CVS Tags: wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, simonb-wapbl-nbase, simonb-wapbl-base, nick-hppapmap-base2, netbsd-5-base, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, mjf-devfs2-base, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20091211, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, netbsd-5, matt-nb5-mips64, jym-xensuspend
Changes since 1.10: +4 -4 lines
Diff to previous 1.10 (colored)
split device/softc for ioapic
Revision 1.10 / (download) - annotate - [select for diffs], Thu Jul 3 14:02:25 2008 UTC (10 years, 3 months ago) by drochner
Changes since 1.9: +7 -7 lines
Diff to previous 1.9 (colored)
Remove "struct device" from "struct pic", where it was only real for ioapics and faked up for others. Add it to "struct ioapic_softc" for now, until device/softc get split. This required all typecasts between "struct pic" and "struct ioapic_softc" to be replaced, I hope I got them all. functionally tested on i386, compile-tested on xen, untested on amd64
Revision 1.9 / (download) - annotate - [select for diffs], Sun Apr 6 07:24:20 2008 UTC (10 years, 6 months ago) by cegger
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, hpcarm-cleanup-nbase
Branch point for: yamt-nfs-mp, wrstuden-revivesa, simonb-wapbl
Changes since 1.8: +3 -3 lines
Diff to previous 1.8 (colored)
use aprint_*_dev and device_xname
Revision 1.8 / (download) - annotate - [select for diffs], Thu Nov 22 16:17:08 2007 UTC (10 years, 11 months ago) by bouyer
CVS Tags: yamt-lazymbuf-base15, yamt-lazymbuf-base14, yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking2, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, jmcneill-pm-base, hpcarm-cleanup-base, cube-autoconf-base, cube-autoconf, bouyer-xeni386-nbase, bouyer-xeni386-merge1, bouyer-xeni386-base, bouyer-xeni386, ad-socklock-base1
Branch point for: mjf-devfs2
Changes since 1.7: +3 -3 lines
Diff to previous 1.7 (colored)
Pull up the bouyer-xenamd64 branch to HEAD. This brings in amd64 support to NetBSD/Xen, both Dom0 and DomU.
Revision 1.7 / (download) - annotate - [select for diffs], Sun Nov 18 18:44:17 2007 UTC (10 years, 11 months ago) by bouyer
CVS Tags: bouyer-xenamd64-base2, bouyer-xenamd64-base
Changes since 1.6: +58 -7 lines
Diff to previous 1.6 (colored)
Properly setup the IO APIC for ISA and pciide compat interrupts too. Makes ACPI kernels works again with pciide controllers in compat mode.
Revision 1.6 / (download) - annotate - [select for diffs], Thu Sep 28 18:53:16 2006 UTC (12 years ago) by bouyer
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-splraiseipl-base2, yamt-idlelwp-base8, yamt-idlelwp, wrstuden-fixsa-base-1, vmlocking-base, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup, ppcoea-renovation-base, ppcoea-renovation, post-newlock2-merge, nick-csl-alignment-base5, nick-csl-alignment-base, nick-csl-alignment, newlock2-nbase, newlock2-base, 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, mjf-ufs-trans-base, mjf-ufs-trans, matt-nb4-arm-base, matt-nb4-arm, matt-mips64-base, matt-mips64, matt-armv6-prevmlocking, jmcneill-base, hpcarm-cleanup, ad-audiomp-base, ad-audiomp
Branch point for: wrstuden-fixsa, vmlocking, netbsd-4, mjf-devfs, matt-armv6, jmcneill-pm, bouyer-xenamd64
Changes since 1.5: +6 -3 lines
Diff to previous 1.5 (colored)
Add Xen3 support for ACPI and/or MPBIOS + IOAPIC. To help with this, physical CPUs are now configured on mainbus only in dom0, and only to know about their APIC id. virtual CPUs are attached to hypervisor as: vcpu* at hypervisor? and this is what's used as curcpu(). The kernel config files needs to be updated for this, see XEN3_DOM0 or XEN3_DOMU for examples. XEN3_DOM0 now has acpi, MPBIOS and ioapic by default. Note that a Xen dom0 kernel doens't have access to the lapic.
Revision 1.5 / (download) - annotate - [select for diffs], Sun Jan 15 22:09:52 2006 UTC (12 years, 9 months ago) by bouyer
CVS Tags: yamt-uio_vmspace-base5, yamt-splraiseipl-base, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, yamt-pdpolicy, simonb-timecounters-base, simonb-timecounters, simonb-timcounters-final, rpaulo-netinet-merge-pcb-base, rpaulo-netinet-merge-pcb, 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, abandoned-netbsd-4
Branch point for: yamt-splraiseipl, newlock2
Changes since 1.4: +5 -3 lines
Diff to previous 1.4 (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.4 / (download) - annotate - [select for diffs], Sun Dec 11 12:19:50 2005 UTC (12 years, 10 months ago) by christos
Branch point for: yamt-uio_vmspace
Changes since 1.3: +2 -2 lines
Diff to previous 1.3 (colored)
Revision 1.3 / (download) - annotate - [select for diffs], Sat Apr 16 22:49:38 2005 UTC (13 years, 6 months ago) by bouyer
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, kent-audio2-base
Branch point for: yamt-lazymbuf, kent-audio2
Changes since 1.2: +5 -5 lines
Diff to previous 1.2 (colored)
Get rid of the event to pseudo-irq mapping. We are limited to 32 pseudo-irq, including soft interrupt, and this is way too low in some use (lots of domains, or domains with lots of xennet, or even hardware with lots of devices at different interrupts). Based on idea from YAMAMOTO Takashi, keep one list of handler per-event and one per-IPL (so the same handler is now in 2 lists). In the common case were an event is received at low IPL, we can call the handlers quickly (there is usually only one handler per event, unless the event is mapped to a physical interrupt and this interrupt is shared by different devices). Deffered events and software interrupts are handled by a bitmask (as before) with one bit per IPL. When one IPL has an event pending all handlers for this IPL will be called. With this change, it is now possible to have all the 1024 events active. While here, handle debug event in a special way: the handler is always called, regardless of the current IPL. Make the handler print usefull informations about events and IPL states. Also remove code not used on Xen in files inherited from the x86 port.
Revision 1.2 / (download) - annotate - [select for diffs], Wed Mar 9 22:39:21 2005 UTC (13 years, 7 months ago) by bouyer
CVS Tags: yamt-km-base4, yamt-km-base3, netbsd-3-base
Branch point for: netbsd-3, ktrace-lwp
Changes since 1.1: +83 -0 lines
Diff to previous 1.1 (colored)
Merge the bouyer-xen2 branch. This add supports for the Xen 2.0 virtual machine kernel (both privileged and non-privileged domains), and remove support for the old xen 1.2.
Revision 1.1, Tue Jan 18 15:09:04 2005 UTC (13 years, 9 months ago) by bouyer
CVS Tags: yamt-km-base2, yamt-km-base
Branch point for: yamt-km, bouyer-xen2
file pciide_machdep.c was initially added on branch bouyer-xen2.
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.