The NetBSD Project

CVS log for src/sys/arch/x86/x86/intr.c

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.164 / (download) - annotate - [select for diffs], Wed Jan 25 15:54:53 2023 UTC (12 days, 19 hours ago) by riastradh
Branch: MAIN
CVS Tags: HEAD
Changes since 1.163: +16 -4 lines
Diff to previous 1.163 (colored)

x86/intr: Work around sleazy clockintr with a secret frame argument.

PR kern/57197

Revision 1.163 / (download) - annotate - [select for diffs], Sat Oct 29 13:59:04 2022 UTC (3 months, 1 week ago) by riastradh
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10
Changes since 1.162: +38 -2 lines
Diff to previous 1.162 (colored)

x86: Add dtrace probes for interrupt handler entry and return.

Arguments:

0: interrupt handler function
1: interrupt handler's private cookie argument
2: MD struct intrhand pointer
3: return value (true if relevant to this handler, false if not)

The MD struct intrhand pointer makes the first two arguments
redundant, but we might reuse the signature of the first two
arguments for an MI SDT probe to make it easy to write MI dtrace
scripts for monitoring interrupt handlers.  The MD intrhand can be
used for getting more information about the interrupt like ih_level,
ih_pin, ih_slot, &c., which may not make sense as an MI API.

Revision 1.162 / (download) - annotate - [select for diffs], Wed Oct 26 23:38:09 2022 UTC (3 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.161: +4 -3 lines
Diff to previous 1.161 (colored)

ddb/db_active.h: New home for extern db_active.

This can be included unconditionally, and db_active can then be
queried unconditionally; if DDB is not in the kernel, then db_active
is a constant zero.  Reduces need for #include opt_ddb.h, #ifdef DDB.

Revision 1.161 / (download) - annotate - [select for diffs], Wed Sep 7 00:40:19 2022 UTC (5 months ago) by knakahara
Branch: MAIN
CVS Tags: bouyer-sunxi-drm-base, bouyer-sunxi-drm
Changes since 1.160: +11 -8 lines
Diff to previous 1.160 (colored)

NetBSD/x86: Raise the number of interrupt sources per CPU from 32 to 56.

There has been no objection for three years.
    https://mail-index.netbsd.org/port-amd64/2019/09/22/msg003012.html
Implemented by nonaka@n.o, updated by me.

Revision 1.160 / (download) - annotate - [select for diffs], Sat Mar 12 15:50:45 2022 UTC (10 months, 3 weeks ago) by riastradh
Branch: MAIN
Changes since 1.159: +8 -2 lines
Diff to previous 1.159 (colored)

x86: Check for biglock leakage in interrupt handlers.

Revision 1.159 / (download) - annotate - [select for diffs], Thu Dec 23 02:45:43 2021 UTC (13 months, 2 weeks ago) by yamaguchi
Branch: MAIN
Changes since 1.158: +4 -3 lines
Diff to previous 1.158 (colored)

Move the variable into the section that uses it

Revision 1.158 / (download) - annotate - [select for diffs], Thu Dec 23 02:10:53 2021 UTC (13 months, 2 weeks ago) by yamaguchi
Branch: MAIN
Changes since 1.157: +3 -3 lines
Diff to previous 1.157 (colored)

delete the extra space

Revision 1.157 / (download) - annotate - [select for diffs], Thu Dec 23 02:07:21 2021 UTC (13 months, 2 weeks ago) by yamaguchi
Branch: MAIN
Changes since 1.156: +5 -5 lines
Diff to previous 1.156 (colored)

x86: improve error handling related to idt_vec_alloc()

Revision 1.156 / (download) - annotate - [select for diffs], Thu Oct 7 12:52:27 2021 UTC (16 months ago) by msaitoh
Branch: MAIN
Changes since 1.155: +8 -7 lines
Diff to previous 1.155 (colored)

KNF. No functional change.

Revision 1.155 / (download) - annotate - [select for diffs], Mon Aug 9 21:20:50 2021 UTC (17 months, 4 weeks ago) by andvar
Branch: MAIN
Changes since 1.154: +3 -3 lines
Diff to previous 1.154 (colored)

s/alway /always/

Revision 1.152.2.2 / (download) - annotate - [select for diffs], Sat Apr 3 22:28:41 2021 UTC (22 months ago) by thorpej
Branch: thorpej-futex
Changes since 1.152.2.1: +8 -5 lines
Diff to previous 1.152.2.1 (colored) next main 1.153 (colored)

Sync with HEAD.

Revision 1.101.2.8 / (download) - annotate - [select for diffs], Fri Feb 19 17:49:19 2021 UTC (23 months, 2 weeks ago) by martin
Branch: netbsd-8
Changes since 1.101.2.7: +8 -5 lines
Diff to previous 1.101.2.7 (colored) to branchpoint 1.101 (colored) next main 1.102 (colored)

Pull up following revision(s) (requested by knakahara in ticket #1657):

	sys/arch/x86/x86/intr.c: revision 1.154 (via patch)

Fix x86's pci_intr_disestablish clean up routine.  Pointed out by t-kusaba@IIJ, thanks.

Fix panic on x86 by the following code.

====================
    sc_ih = pci_intr_establish_xname(sc_pc, ...);
    pci_intr_disestablish(sc_pc, sc_ih);
    sc_ih = pci_intr_establish(sc_pc, ...);
====================

ena(4) do such processing when ifconfig down/up.

XXX pullup-8,9

Revision 1.146.2.2 / (download) - annotate - [select for diffs], Fri Feb 19 17:47:13 2021 UTC (23 months, 2 weeks ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-3-RELEASE, netbsd-9-2-RELEASE
Changes since 1.146.2.1: +8 -5 lines
Diff to previous 1.146.2.1 (colored) to branchpoint 1.146 (colored) next main 1.147 (colored)

Pull up following revision(s) (requested by knakahara in ticket #1209):

	sys/arch/x86/x86/intr.c: revision 1.154 (via patch)

Fix x86's pci_intr_disestablish clean up routine.  Pointed out by t-kusaba@IIJ, thanks.

Fix panic on x86 by the following code.

====================
    sc_ih = pci_intr_establish_xname(sc_pc, ...);
    pci_intr_disestablish(sc_pc, sc_ih);
    sc_ih = pci_intr_establish(sc_pc, ...);
====================

ena(4) do such processing when ifconfig down/up.

XXX pullup-8,9

Revision 1.154 / (download) - annotate - [select for diffs], Fri Feb 19 05:34:37 2021 UTC (23 months, 2 weeks ago) by knakahara
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-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.153: +8 -5 lines
Diff to previous 1.153 (colored)

Fix x86's pci_intr_disestablish clean up routine.  Pointed out by t-kusaba@IIJ, thanks.

Fix panic on x86 by the following code.
====================
    sc_ih = pci_intr_establish_xname(sc_pc, ...);
    pci_intr_disestablish(sc_pc, sc_ih);
    sc_ih = pci_intr_establish(sc_pc, ...);
====================
ena(4) do such processing when ifconfig down/up.

XXX pullup-8,9

Revision 1.152.2.1 / (download) - annotate - [select for diffs], Mon Dec 14 14:38:04 2020 UTC (2 years, 1 month ago) by thorpej
Branch: thorpej-futex
Changes since 1.152: +7 -3 lines
Diff to previous 1.152 (colored)

Sync w/ HEAD.

Revision 1.153 / (download) - annotate - [select for diffs], Wed Nov 18 16:36:43 2020 UTC (2 years, 2 months ago) by bouyer
Branch: MAIN
Changes since 1.152: +7 -3 lines
Diff to previous 1.152 (colored)

Preserve Xen SIR slots for VM_GUEST_XENPVH.

Revision 1.152 / (download) - annotate - [select for diffs], Tue Jul 14 00:45:53 2020 UTC (2 years, 6 months ago) by yamaguchi
Branch: MAIN
Branch point for: thorpej-futex
Changes since 1.151: +48 -17 lines
Diff to previous 1.151 (colored)

Introduce per-cpu IDTs

This is realized by following modifications:
- Add IDT pages and its allocation maps for each cpu in "struct cpu_info"
- Load per-cpu IDTs at cpu_init_idt(struct cpu_info*)
- Copy the IDT entries for cpu0 to other CPUs at attach
   - These are, for example, exceptions, db, system calls, etc.

And, added a kernel option named PCPU_IDT to enable the feature.

Revision 1.151 / (download) - annotate - [select for diffs], Sat Apr 25 15:26:18 2020 UTC (2 years, 9 months ago) by bouyer
Branch: MAIN
Changes since 1.150: +80 -185 lines
Diff to previous 1.150 (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.150.6.6 / (download) - annotate - [select for diffs], Mon Apr 20 20:19:07 2020 UTC (2 years, 9 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.150.6.5: +3 -3 lines
Diff to previous 1.150.6.5 (colored) to branchpoint 1.150 (colored) next main 1.151 (colored)

channel %d -> chan %d, for the benefit of 'systat vm'

Revision 1.150.6.5 / (download) - annotate - [select for diffs], Sun Apr 19 19:39:10 2020 UTC (2 years, 9 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.150.6.4: +65 -29 lines
Diff to previous 1.150.6.4 (colored) to branchpoint 1.150 (colored)

Add per-PIC callbacks for interrupt_get_devname(), interrupt_get_assigned()
and interrupt_get_count(). Implement Xen-specific callbacks for
PIC_XEN and use the x86 one for others.
In event_set_handler(), call intr_allocate_io_intrsource() so that
events appears in interrupt list (intrctl list).

Revision 1.150.6.4 / (download) - annotate - [select for diffs], Sun Apr 19 11:40:30 2020 UTC (2 years, 9 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.150.6.3: +5 -2 lines
Diff to previous 1.150.6.3 (colored) to branchpoint 1.150 (colored)

Add a struct pic * member to struct intrhand.
This will be used for interrupt_get_count()
For Xen remplace pic_type with a pointer to the pic, and add a pointer
to intrhand, in struct pintrhand
Make event_set_handler return the pointer to struct intrhand.
Don't allocate a fake intrhand in xen_intr_establish_xname(), use the
one returned by event_set_handler().

Revision 1.150.6.3 / (download) - annotate - [select for diffs], Thu Apr 16 09:45:57 2020 UTC (2 years, 9 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.150.6.2: +3 -3 lines
Diff to previous 1.150.6.2 (colored) to branchpoint 1.150 (colored)

More #ifndef XEN -> #ifndef XENPV

Revision 1.126.2.2 / (download) - annotate - [select for diffs], Mon Apr 13 08:04:11 2020 UTC (2 years, 9 months ago) by martin
Branch: phil-wifi
Changes since 1.126.2.1: +202 -25 lines
Diff to previous 1.126.2.1 (colored) to branchpoint 1.126 (colored) next main 1.127 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.150.6.2 / (download) - annotate - [select for diffs], Sun Apr 12 17:25:52 2020 UTC (2 years, 9 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.150.6.1: +2 -9 lines
Diff to previous 1.150.6.1 (colored) to branchpoint 1.150 (colored)

Get rid of xen-specific ci_x* interrupt handling:
- use the general SIR mechanism, reserving 3 more slots for IPL_VM, IPL_SCHED
  and IPL_HIGH
- remove specific handling from C sources, or change to ipending
- convert IPL number to SIR number in various places
- Remove XUNMASK/XPENDING in assembly or change to IUNMASK/IPENDING
- remove Xen-specific ci_xsources, ci_xmask, ci_xunmask, ci_xpending from
  struct cpu_info
- for now remove a KASSERT that there are no pending interrupts in
  idle_block(). We can get there with some software interrupts pending
  in autoconf XXX needs to be looked at.

Revision 1.150.6.1 / (download) - annotate - [select for diffs], Sat Apr 11 18:26:07 2020 UTC (2 years, 9 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.150: +12 -149 lines
Diff to previous 1.150 (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.150 / (download) - annotate - [select for diffs], Mon Dec 30 23:32:30 2019 UTC (3 years, 1 month ago) by thorpej
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, 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.149: +19 -4 lines
Diff to previous 1.149 (colored)

Fix a problem with intr_unmask() that can cause a forever-loop:
- When handling the source-is-masked case in the interrupt vector, set the
  interrupt bit in a new ci_imasked field and ensure the bit is cleared
  from ci_ipending.
- In intr_unmask(), transfer the bit from ci_imasked to ci_ipending for
  non-level-sensitive interrupts (the PIC does the work for us in the
  level-sensitive case), and only force pending interrupts to be processed
  in this case.  (In all cases, make sure the now-unmasked bit is cleared
  from ci_imasked.)

Before, the bit was left in ci_ipending so as not to use edge-triggered
interrupts while the source is masked, but Xspllower() relies on the
pending bits getting cleared.

Tested by forcing all wm(4) interrupts on my test system though an
intr_mask() / softint / intr_unmask() cycle and exercising the network
heavily.

Revision 1.149 / (download) - annotate - [select for diffs], Sun Dec 22 16:50:03 2019 UTC (3 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.148: +3 -4 lines
Diff to previous 1.148 (colored)

Fix compile on !DIAGNOSTIC.

Revision 1.148 / (download) - annotate - [select for diffs], Sun Dec 22 15:09:39 2019 UTC (3 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.147: +165 -9 lines
Diff to previous 1.147 (colored)

Add intr_mask() and corresponding intr_unmask() calls that allow specific
interrupt lines / sources to be masked as needed (rather than making a
set of sources by IPL as with spl*()).

Revision 1.101.2.7 / (download) - annotate - [select for diffs], Thu Nov 14 15:58:06 2019 UTC (3 years, 2 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE
Changes since 1.101.2.6: +6 -3 lines
Diff to previous 1.101.2.6 (colored) to branchpoint 1.101 (colored)

Pull up following revision(s) (requested by msaitoh in ticket #1437):

	sys/arch/x86/x86/intr.c: revision 1.147

Fix a bug that evcnt_detach() called twice when the idt vector is full.

OK'd by knakahara.

Revision 1.146.2.1 / (download) - annotate - [select for diffs], Mon Nov 11 17:20:00 2019 UTC (3 years, 2 months ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1
Changes since 1.146: +6 -3 lines
Diff to previous 1.146 (colored)

Pull up following revision(s) (requested by msaitoh in ticket #416):

	sys/arch/x86/x86/intr.c: revision 1.147

 Fix a bug that evcnt_detach() called twice when the idt vector is full.

OK'd by knakahara.

Revision 1.147 / (download) - annotate - [select for diffs], Fri Nov 8 04:15:02 2019 UTC (3 years, 3 months ago) by msaitoh
Branch: MAIN
CVS Tags: phil-wifi-20191119
Changes since 1.146: +6 -3 lines
Diff to previous 1.146 (colored)

 Fix a bug that evcnt_detach() called twice when the idt vector is full.
OK'd by knakahara.

Revision 1.146 / (download) - annotate - [select for diffs], Mon Jun 17 06:38:30 2019 UTC (3 years, 7 months ago) by msaitoh
Branch: MAIN
CVS Tags: netbsd-9-base
Branch point for: netbsd-9
Changes since 1.145: +21 -17 lines
Diff to previous 1.145 (colored)

 KNF. No functional change.

Revision 1.126.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:06:53 2019 UTC (3 years, 7 months ago) by christos
Branch: phil-wifi
Changes since 1.126: +66 -309 lines
Diff to previous 1.126 (colored)

Sync with HEAD

Revision 1.145 / (download) - annotate - [select for diffs], Wed Jun 5 04:31:37 2019 UTC (3 years, 8 months ago) by knakahara
Branch: MAIN
CVS Tags: phil-wifi-20190609
Changes since 1.144: +15 -2 lines
Diff to previous 1.144 (colored)

Add TODO comments to support MSI multiple vectors on x86 systems.

Revision 1.101.2.6 / (download) - annotate - [select for diffs], Sat Mar 9 17:10:19 2019 UTC (3 years, 11 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-1-RELEASE, netbsd-8-1-RC1
Changes since 1.101.2.5: +28 -2 lines
Diff to previous 1.101.2.5 (colored) to branchpoint 1.101 (colored)

Pull up following revision(s) via patch (requested by nonaka in ticket #1210):

	sys/dev/hyperv/vmbusvar.h: revision 1.1
	sys/dev/hyperv/hvs.c: revision 1.1
	sys/dev/hyperv/if_hvn.c: revision 1.1
	sys/dev/hyperv/vmbusic.c: revision 1.1
	sys/arch/x86/x86/lapic.c: revision 1.69
	sys/arch/x86/isa/clock.c: revision 1.34
	sys/arch/x86/include/intrdefs.h: revision 1.22
	sys/arch/i386/conf/GENERIC: revision 1.1201
	sys/arch/x86/x86/hyperv.c: revision 1.1
	sys/arch/x86/include/cpu.h: revision 1.105
	sys/arch/x86/x86/x86_machdep.c: revision 1.124
	sys/arch/i386/conf/GENERIC: revision 1.1203
	sys/arch/amd64/amd64/genassym.cf: revision 1.74
	sys/arch/i386/conf/GENERIC: revision 1.1204
	sys/arch/amd64/conf/GENERIC: revision 1.520
	sys/arch/x86/x86/hypervreg.h: revision 1.1
	sys/arch/amd64/amd64/vector.S: revision 1.69
	sys/dev/hyperv/hvshutdown.c: revision 1.1
	sys/dev/hyperv/hvshutdown.c: revision 1.2
	sys/dev/usb/if_urndisreg.h: file removal
	sys/arch/x86/x86/cpu.c: revision 1.167
	sys/arch/x86/conf/files.x86: revision 1.107
	sys/dev/usb/if_urndis.c: revision 1.20
	sys/dev/hyperv/vmbusicreg.h: revision 1.1
	sys/dev/hyperv/hvheartbeat.c: revision 1.1
	sys/dev/hyperv/vmbusicreg.h: revision 1.2
	sys/dev/hyperv/hvheartbeat.c: revision 1.2
	sys/dev/hyperv/files.hyperv: revision 1.1
	sys/dev/ic/rndisreg.h: revision 1.1
	sys/arch/i386/i386/genassym.cf: revision 1.111
	sys/dev/ic/rndisreg.h: revision 1.2
	sys/dev/hyperv/hyperv_common.c: revision 1.1
	sys/dev/hyperv/hvtimesync.c: revision 1.1
	sys/dev/hyperv/hypervreg.h: revision 1.1
	sys/dev/hyperv/hvtimesync.c: revision 1.2
	sys/dev/hyperv/vmbusicvar.h: revision 1.1
	sys/dev/hyperv/if_hvnreg.h: revision 1.1
	sys/arch/x86/x86/lapic.c: revision 1.70
	sys/arch/amd64/amd64/vector.S: revision 1.70
	sys/dev/ic/ndisreg.h: revision 1.1
	sys/arch/amd64/conf/GENERIC: revision 1.516
	sys/dev/hyperv/hypervvar.h: revision 1.1
	sys/arch/amd64/conf/GENERIC: revision 1.518
	sys/arch/amd64/conf/GENERIC: revision 1.519
	sys/arch/i386/conf/files.i386: revision 1.400
	sys/dev/acpi/vmbus_acpi.c: revision 1.1
	sys/dev/hyperv/vmbus.c: revision 1.1
	sys/dev/hyperv/vmbus.c: revision 1.2
	sys/arch/x86/x86/intr.c: revision 1.144
	sys/arch/i386/i386/vector.S: revision 1.83
	sys/arch/amd64/conf/files.amd64: revision 1.112

separate RNDIS definitions from urndis(4) for use with Hyper-V NetVSC.

 -

Added Microsoft Hyper-V support.  It ported from OpenBSD and FreeBSD.
graphical console is not work on Gen.2 VM yet. To use the serial console,
enter "consdev com,0x3f8,115200" on efiboot.

 -

Add __diagused.

 -

PR/53984: Partial revert of modify lapic_calibrate_timer() in lapic.c r1.69.

 -

Update Hyper-V related drivers description.

 -

Remove unused definition.

 -

Rename the MODULE_*_HOOK() macros to MODULE_HOOK_*() as briefly
discussed on irc.
NFCI intended.

 -

commented out hvkvp entry.

 -

fix typo. pointed out by pgoyette@n.o.

 -

Use IDTVEC instead of NENTRY for handle_hyperv_hypercall.

 -

Rename the MODULE_*_HOOK() macros to MODULE_HOOK_*() as briefly
discussed on irc.

Revision 1.144 / (download) - annotate - [select for diffs], Fri Feb 15 08:54:01 2019 UTC (3 years, 11 months ago) by nonaka
Branch: MAIN
CVS Tags: isaki-audio2-base, isaki-audio2
Changes since 1.143: +30 -3 lines
Diff to previous 1.143 (colored)

Added Microsoft Hyper-V support.  It ported from OpenBSD and FreeBSD.

graphical console is not work on Gen.2 VM yet. To use the serial console,
enter "consdev com,0x3f8,115200" on efiboot.

Revision 1.143 / (download) - annotate - [select for diffs], Thu Feb 14 08:18:25 2019 UTC (3 years, 11 months ago) by cherry
Branch: MAIN
Changes since 1.142: +9 -2 lines
Diff to previous 1.142 (colored)

Welcome XENPVHVM mode.

It is UP only, has xbd(4) and xennet(4) as PV drivers.

The console is com0 at isa and the native portion is very
rudimentary AT architecture, so is probably suboptimal to
run without PV support.

Revision 1.142 / (download) - annotate - [select for diffs], Tue Feb 12 03:13:50 2019 UTC (3 years, 11 months ago) by cherry
Branch: MAIN
Changes since 1.141: +3 -3 lines
Diff to previous 1.141 (colored)

Fix typo: Parameters are seperated by ','.

Revision 1.123.2.8 / (download) - annotate - [select for diffs], Wed Dec 26 14:01:45 2018 UTC (4 years, 1 month ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.123.2.7: +10 -335 lines
Diff to previous 1.123.2.7 (colored) to branchpoint 1.123 (colored) next main 1.124 (colored)

Sync with HEAD, resolve a few conflicts

Revision 1.141 / (download) - annotate - [select for diffs], Tue Dec 25 06:50:12 2018 UTC (4 years, 1 month ago) by cherry
Branch: MAIN
CVS Tags: pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226
Changes since 1.140: +4 -53 lines
Diff to previous 1.140 (colored)

Excise XEN specific code out of x86/x86/intr.c into xen/x86/xen_intr.c

While at it, separate the source function tracking so that the interrupt
paths are truly independant.

Use weak symbol exporting to provision for future PVHVM co-existence
of both files, but with independant paths. Introduce assembler code
such that in a unified scenario, native interrupts get first priority
in spllower(), followed by XEN event callbacks. IPL management and
semantics are unchanged - native handlers and xen callbacks are
expected to maintain their ipl related semantics.

In summary, after this commit, native and XEN now have completely
unrelated interrupt handling mechanisms, including
intr_establish_xname() and assembler stubs and intr handler
management.

Happy Christmas!

Revision 1.140 / (download) - annotate - [select for diffs], Mon Dec 24 22:05:45 2018 UTC (4 years, 1 month ago) by cherry
Branch: MAIN
Changes since 1.139: +2 -143 lines
Diff to previous 1.139 (colored)

Towards bifurcating XEN and native interrupt related functions,
this is a preliminary cleanup sweep.

Move functions related to MP bus probe and scanning to x86/mp.c

Move generic platform pic search function to x86/x86_machdep.c

Revision 1.139 / (download) - annotate - [select for diffs], Mon Dec 24 14:55:41 2018 UTC (4 years, 1 month ago) by cherry
Branch: MAIN
Changes since 1.138: +4 -143 lines
Diff to previous 1.138 (colored)

Bifurcate the interrupt establish functions between XEN and non-XEN

Thus intr_establish_xname() becomes xen_intr_establish_xname() etc.

One consequence of this is that dom0 devices expect the native
function calls to be available and we thus provide weak aliasing for
dom0 builds to succeed. XEN and non-XEN devices are distinguished by
the PIC they are established on. XEN interrupts are exclusively
established on xen_pic, while dom0 interrupts are established on
natively available PICs.

This allows us an orthogonal path to xen device management (eg:
xenstore events) in XENPVHVM, without having to worry about unifying
the vector entry paths, etc., which is quite challenging.

Revision 1.138 / (download) - annotate - [select for diffs], Sun Dec 23 12:11:40 2018 UTC (4 years, 1 month ago) by jdolecek
Branch: MAIN
Changes since 1.137: +3 -3 lines
Diff to previous 1.137 (colored)

whitespace, NFC

Revision 1.137 / (download) - annotate - [select for diffs], Tue Dec 4 19:27:22 2018 UTC (4 years, 2 months ago) by cherry
Branch: MAIN
Changes since 1.136: +4 -2 lines
Diff to previous 1.136 (colored)

Hypothetically speaking, if one were to want to compile a

'no options MULTIPROCESSOR'

kernel, these files may trip up the build.

Fix them by moving around the #defines as originally intended.

No Functional Changes.

Revision 1.136 / (download) - annotate - [select for diffs], Sun Dec 2 08:19:44 2018 UTC (4 years, 2 months ago) by cherry
Branch: MAIN
Changes since 1.135: +5 -3 lines
Diff to previous 1.135 (colored)

make

options NO_PCI_MSI_MSIX

work again for arch/x86/

Revision 1.123.2.7 / (download) - annotate - [select for diffs], Mon Nov 26 01:52:28 2018 UTC (4 years, 2 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.123.2.6: +3 -3 lines
Diff to previous 1.123.2.6 (colored) to branchpoint 1.123 (colored)

Sync with HEAD, resolve a couple of conflicts

Revision 1.135 / (download) - annotate - [select for diffs], Wed Oct 24 03:51:21 2018 UTC (4 years, 3 months ago) by cherry
Branch: MAIN
CVS Tags: pgoyette-compat-1126
Changes since 1.134: +3 -3 lines
Diff to previous 1.134 (colored)

When returning a cached shared irq event value, DTRT

Revision 1.123.2.6 / (download) - annotate - [select for diffs], Sat Oct 20 06:58:29 2018 UTC (4 years, 3 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.123.2.5: +53 -24 lines
Diff to previous 1.123.2.5 (colored) to branchpoint 1.123 (colored)

Sync with head

Revision 1.134 / (download) - annotate - [select for diffs], Mon Oct 8 08:05:08 2018 UTC (4 years, 4 months ago) by cherry
Branch: MAIN
CVS Tags: pgoyette-compat-1020
Changes since 1.133: +45 -9 lines
Diff to previous 1.133 (colored)

Clean up XEN specific stuff from the apic code, and move to intr.c

No functional change.

Revision 1.133 / (download) - annotate - [select for diffs], Sun Oct 7 05:23:01 2018 UTC (4 years, 4 months ago) by cherry
Branch: MAIN
Changes since 1.132: +7 -26 lines
Diff to previous 1.132 (colored)

Switch over to a "GSI" concept for guest irqs.

On XEN there is a namespace called GSI which includes:

i) legacy_irq (0 - 16)
ii) "gsi" (16-nr_irqs_gsi)
iii) msi

We try to mirror this in guest space, but are mindful that legacy_irq
is 1:1 bound to actual hardware legacy_irq. Apart from this, XEN doesn't
really care what number scheme we use, as long as it doesn't encroach
on the MSI space, which is TBD for us.

Thus we trust the mpbios.c/mpacpi.c code to correctly map the pic,pin
tuples into the correct global gsi space, which we then register with
xen. As we now do, we allow for duplicate gsi registrations, in case
any hardware shares the same (pic,pin);

This enables us to now use the (pic,pin) tuple as the canonical reference
for device interrupt addresses, and leave any global mappings to specific
code. Thus xen_pic_to_gsi().

Note that this requires separate support for MSI, which I will get around to
once things stabilise - however the API change facilitates this nicely.

I note that the msi addroute() function does not use the "pin" parameter.
This can be made use of, to encode the gsi number, for XEN. This is however
TBD.

We further tweak the xen_vec_alloc() code to be uniform for the NIOAPICS
and other cases, and ensure that i8259.c DTRT wrt to route().

This will allow us to use pic->pic_addroute() without needing to worry about
pic specific issues.

The next step is to consolidate the pic_addroute() XEN related #ifdefs into
a -DXEN specific file, so that we don't clutter x86/ code with #ifdef XENs.

This change has functional implications, and there is likely breakage coming
especially on bespoke platforms that I haven't been able to test yet.

I am especially interested in bug reports from platforms with legacy (esp. i386)
and with multiple ioapics.

Revision 1.132 / (download) - annotate - [select for diffs], Sat Oct 6 16:49:54 2018 UTC (4 years, 4 months ago) by cherry
Branch: MAIN
Changes since 1.131: +4 -3 lines
Diff to previous 1.131 (colored)

Change the name of xen_pirq_alloc() to xen_vec_alloc() to reflect
its actual job.

The idea is that we will strip this down until it is as close to
idt_vec_alloc() as possible.

Revision 1.131 / (download) - annotate - [select for diffs], Sat Oct 6 16:44:55 2018 UTC (4 years, 4 months ago) by cherry
Branch: MAIN
Changes since 1.130: +17 -6 lines
Diff to previous 1.130 (colored)

Move the pic->pic_addroute() call from within pintr.c:xen_pirq_alloc() to
intr.c:intr_establish_xname()

xen_pirq_alloc() now returns a vector value, as is intended by
the semantics of the call to the hypervisor, PHYSDEVOP_ASSIGN_VECTOR.

This also brings our usage closer to native.

Revision 1.123.2.5 / (download) - annotate - [select for diffs], Sun Sep 30 01:45:48 2018 UTC (4 years, 4 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.123.2.4: +12 -6 lines
Diff to previous 1.123.2.4 (colored) to branchpoint 1.123 (colored)

Ssync with HEAD

Revision 1.130 / (download) - annotate - [select for diffs], Thu Sep 20 05:08:45 2018 UTC (4 years, 4 months ago) by cherry
Branch: MAIN
CVS Tags: pgoyette-compat-0930
Changes since 1.129: +3 -2 lines
Diff to previous 1.129 (colored)

When we removed the XEN special case from isa/isa_machdep.c
there was a corner case that was missed in
x86/intr.c:intr_establish_xname()

In isa_machdep.c:isa_intr_establish_xname() the legacy_irq parameter
is never set to -1. It is also incorrect to call
isa_intr_establish_xname() with a legacy_irq parameter of -1.

Thus we infer that whenever we see (legacy_irq == -1) in
intr_establish_xname() which is downstream, we were *NOT* called from
isa_machdep.c:isa_intr_establish_xname()

Given that there are no other users of intr_establish_xnam() which
pass a valid legacy_irq != -1, we assume therefore that we *WERE*
called from isa_machdep.c:isa_intr_establish_xname() in this case.

This is an important distinction in the case where a valid
legacy_irq > NUM_LEGACY_IRQS was passed down from
isa_intr_establish_xname() but was ignored by xen_pirq_alloc() and
overwritten with the "pseudo" irq which is then passed back. We thus
pass the incorrect "legacy" irq value to pirq_establish().

Even though non ISA (ie; PCI and MSI(X) cases), this is the correct
behaviour, we need to maintain (bug?) compatibility with the isa
case.

Thus the one liner diff.

CVS: ----------------------------------------------------------------------
CVS: CVSROOT  cvs.NetBSD.org:/cvsroot
CVS: please use "PR category/123" to have the commitmsg appended to PR 123
CVS:
CVS: Please evaluate your changes and consider the following.
CVS: Abort checkin if you answer no.
CVS: => For all changes:
CVS: Do the changed files compile?
CVS: Has the change been tested?
CVS: => If you are not completely familiar with the changed components:
CVS: Has the change been posted for review?
CVS: Have you allowed enough time for feedback?
CVS: => If the change is major:
CVS: => If the change adds files to, or removes files from $DESTDIR:
CVS: => If you are changing a library or kernel interface:
CVS: Have you successfully run "./build.sh release"?

Revision 1.129 / (download) - annotate - [select for diffs], Fri Sep 14 01:50:51 2018 UTC (4 years, 4 months ago) by mrg
Branch: MAIN
Changes since 1.128: +6 -4 lines
Diff to previous 1.128 (colored)

fix a !MP build issue.

Revision 1.128 / (download) - annotate - [select for diffs], Mon Sep 10 05:08:55 2018 UTC (4 years, 4 months ago) by cherry
Branch: MAIN
Changes since 1.127: +7 -4 lines
Diff to previous 1.127 (colored)

Make the use of 'irqs' in the range 0 < irq < 255 by xen
as a handle for internal use explicit.

This allows us to pass up the handle as "legacy" irq while
establishing interrupt handlers for xen.

No functional change.

Revision 1.123.2.4 / (download) - annotate - [select for diffs], Sat Jul 28 04:37:42 2018 UTC (4 years, 6 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.123.2.3: +6 -6 lines
Diff to previous 1.123.2.3 (colored) to branchpoint 1.123 (colored)

Sync with HEAD

Revision 1.127 / (download) - annotate - [select for diffs], Tue Jul 3 11:45:54 2018 UTC (4 years, 7 months ago) by kamil
Branch: MAIN
CVS Tags: pgoyette-compat-0906, pgoyette-compat-0728
Changes since 1.126: +6 -6 lines
Diff to previous 1.126 (colored)

Avoid unportable signed integer left shift in intr_calculatemasks()

Detected with Kernel Undefined Behavior Sanitizer.

There were at least two places reported, for consistency fix all the
left shift bit shift.

src/sys/arch/x86/x86/intr.c:339:22, left shift of 1 by 31 places cannot be represented in type 'int'
src/sys/arch/x86/x86/intr.c:347:15, left shift of 1 by 31 places cannot be represented in type 'int'

Reported by <Harry Pantazis>

Revision 1.123.2.3 / (download) - annotate - [select for diffs], Mon Jun 25 07:25:47 2018 UTC (4 years, 7 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.123.2.2: +22 -21 lines
Diff to previous 1.123.2.2 (colored) to branchpoint 1.123 (colored)

Sync with HEAD

Revision 1.126 / (download) - annotate - [select for diffs], Sun Jun 24 13:35:33 2018 UTC (4 years, 7 months ago) by jdolecek
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-0625
Branch point for: phil-wifi
Changes since 1.125: +22 -21 lines
Diff to previous 1.125 (colored)

add support for kern.intr.list aka intrctl(8) 'list' for xen

event_set_handler() and pirq_establish() now have extra intrname
parameter; shared intr_create_intrid() is used to provide the value

xen drivers were changed to pass the specific driver instance
name as the xname, e.g.  'vcpu0 clock' instead just 'clock', or
'xencons0' instead of 'xencons'

associated evcnt is now changed to use intrname - this matches native x86

Revision 1.123.2.2 / (download) - annotate - [select for diffs], Sat Apr 7 04:12:14 2018 UTC (4 years, 10 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.123.2.1: +4 -4 lines
Diff to previous 1.123.2.1 (colored) to branchpoint 1.123 (colored)

Sync with HEAD.  77 conflicts resolved - all of them $NetBSD$

Revision 1.101.2.5 / (download) - annotate - [select for diffs], Thu Apr 5 18:15:03 2018 UTC (4 years, 10 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1
Changes since 1.101.2.4: +4 -4 lines
Diff to previous 1.101.2.4 (colored) to branchpoint 1.101 (colored)

Pull up following revision(s) (requested by christos in ticket #696):

	sys/arch/amd64/amd64/vector.S: revision 1.62 (patch)
	sys/arch/x86/include/intr.h: revision 1.55
	sys/arch/i386/i386/vector.S: revision 1.77
	sys/arch/i386/i386/db_interface.c: revision 1.82 (patch)
	sys/arch/amd64/amd64/spl.S: revision 1.34 (patch)
	sys/arch/amd64/amd64/db_interface.c: revision 1.33 (patch)
	sys/arch/x86/x86/intr.c: revision 1.125
	sys/arch/i386/i386/spl.S: revision 1.43 (patch)
	sys/arch/i386/i386/machdep.c: revision 1.805 (patch)
	sys/arch/x86/x86/lapic.c: revision 1.66 (patch)

Rename the DDB IPI IDT vectors for consistency. ok maxv@

Rename Xpreempt{recurse,resume} -> X{recurse,resume}_preempt so that
they fit the pattern. Also the debugger trap sniffer matches them
without adding special entries...

XXX: pullup-8.

Revision 1.125 / (download) - annotate - [select for diffs], Wed Apr 4 22:52:59 2018 UTC (4 years, 10 months ago) by christos
Branch: MAIN
CVS Tags: pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407
Changes since 1.124: +4 -4 lines
Diff to previous 1.124 (colored)

Rename Xpreempt{recurse,resume} -> X{recurse,resume}_preempt so that
they fit the pattern. Also the debugger trap sniffer matches them
without adding special entries...
XXX: pullup-8.

Revision 1.123.2.1 / (download) - annotate - [select for diffs], Fri Mar 30 06:20:13 2018 UTC (4 years, 10 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.123: +15 -2 lines
Diff to previous 1.123 (colored)

Resolve conflicts between branch and HEAD

Revision 1.101.2.4 / (download) - annotate - [select for diffs], Mon Mar 26 11:19:39 2018 UTC (4 years, 10 months ago) by martin
Branch: netbsd-8
Changes since 1.101.2.3: +15 -2 lines
Diff to previous 1.101.2.3 (colored) to branchpoint 1.101 (colored)

Pull up following revision(s) (requested by knakahara in ticket #658):
	sys/arch/x86/x86/intr.c: revision 1.124
Fix "intrctl list" causes panic while attaching MSI/MSI-X devices.
When there are devices which is already pci_intr_alloc'ed, however is not
established yet, "intrctl list" causes panic. E.g.
    # while true; do intrctl list > /dev/null ; done&
    # drvctl -d ixg0 && drvctl -r pci0
And add some KASSERTMSG to similar but not the same code.
Pointed out by msaitoh@n.o.
XXX pullup-8

Revision 1.124 / (download) - annotate - [select for diffs], Mon Mar 26 02:30:08 2018 UTC (4 years, 10 months ago) by knakahara
Branch: MAIN
CVS Tags: pgoyette-compat-0330
Changes since 1.123: +15 -2 lines
Diff to previous 1.123 (colored)

Fix "intrctl list" causes panic while attaching MSI/MSI-X devices.

When there are devices which is already pci_intr_alloc'ed, however is not
established yet, "intrctl list" causes panic. E.g.
    # while true; do intrctl list > /dev/null ; done&
    # drvctl -d ixg0 && drvctl -r pci0

And add some KASSERTMSG to similar but not the same code.

Pointed out by msaitoh@n.o.

XXX pullup-8

Revision 1.101.2.3 / (download) - annotate - [select for diffs], Fri Mar 16 13:17:56 2018 UTC (4 years, 10 months ago) by martin
Branch: netbsd-8
Changes since 1.101.2.2: +15 -12 lines
Diff to previous 1.101.2.2 (colored) to branchpoint 1.101 (colored)

Pull up the following revisions (via patch), requested by maxv in #635:

	sys/arch/amd64/amd64/gdt.c		1.39-1.45 (patch)
	sys/arch/amd64/amd64/amd64/machdep.c	1.284,1.287,1.288 (patch)
	sys/arch/amd64/amd64/include/param.h	1.23 (patch)
	sys/arch/amd64/include/types.h		1.53 (patch)
	sys/arch/x86/include/cpu.h		1.87 (patch)
	sys/arch/x86/include/pmap.h		1.73,1.74 (patch)
	sys/arch/x86/x86/cpu.c			1.142 (patch)
	sys/arch/x86/x86/intr.c			1.117 (partial),1.120 (patch)
	sys/arch/x86/x86/pmap.c			1.276 (patch)

Initialize ist0 in cpu_init_tss.
Backport __HAVE_PCPU_AREA.

Revision 1.101.2.2 / (download) - annotate - [select for diffs], Tue Mar 13 15:47:45 2018 UTC (4 years, 10 months ago) by martin
Branch: netbsd-8
Changes since 1.101.2.1: +3 -3 lines
Diff to previous 1.101.2.1 (colored) to branchpoint 1.101 (colored)

Pullup the following revisions via patch, requested by maxv in ticket #629:

	sys/arch/amd64/amd64/genassym.cf		1.63,1.64
	sys/arch/amd64/amd64/locore.S			1.144
	sys/arch/amd64/amd64/machdep.c			1.281-1.283
	sys/arch/i386/i386/genassym.cf			1.105-1.106
	sys/arch/i386/i386/locore.S			1.155
	sys/arch/i386/i386/machdep.c			1.802 (adapted),1.803
	sys/arch/x86/include/cpu.h			1.85
	sys/arch/x86/x86/intr.c				1.115-1.116
	sys/arch/x86/x86/pmap.c				1.275
	sys/arch/x86/x86/sys_machdep.c			1.45
	sys/arch/xen/x86/cpu.c				1.117

Stop sharing the double-fault stack.
Merge the TSS structures into one single cpu_tss structure, and
allocate it dynamically.

Revision 1.123 / (download) - annotate - [select for diffs], Sat Feb 17 18:51:53 2018 UTC (4 years, 11 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-base, pgoyette-compat-0322, pgoyette-compat-0315
Branch point for: pgoyette-compat
Changes since 1.122: +3 -3 lines
Diff to previous 1.122 (colored)

Rename i8259_stubs -> legacy_stubs. We will want the entries to have the
same name, eg:

	legacy_stubs
		-> Xintr_legacy0, Xrecurse_legacy0, Xresume_legacy0
		-> Xintr_legacy1, Xrecurse_legacy1, Xresume_legacy1
		...

Revision 1.122 / (download) - annotate - [select for diffs], Tue Jan 23 13:57:57 2018 UTC (5 years ago) by roy
Branch: MAIN
Changes since 1.121: +5 -6 lines
Diff to previous 1.121 (colored)

Rework prior two patches to fix clang release builds.
Original patch by darcy@

Revision 1.121 / (download) - annotate - [select for diffs], Tue Jan 16 16:24:23 2018 UTC (5 years ago) by kre
Branch: MAIN
Changes since 1.120: +5 -2 lines
Diff to previous 1.120 (colored)


Attempt to complete previous and allow XEN to compile (as well as link)

Revision 1.120 / (download) - annotate - [select for diffs], Tue Jan 16 11:52:09 2018 UTC (5 years ago) by roy
Branch: MAIN
Changes since 1.119: +5 -3 lines
Diff to previous 1.119 (colored)

Fix XEN builds

Revision 1.101.2.1 / (download) - annotate - [select for diffs], Sat Jan 13 21:50:31 2018 UTC (5 years ago) by snj
Branch: netbsd-8
Changes since 1.101: +5 -7 lines
Diff to previous 1.101 (colored)

Pull up following revision(s) (requested by knakahara in ticket #493):
	sys/arch/x86/include/intr.h: revision 1.53
	sys/arch/x86/pci/pci_intr_machdep.c: revision 1.42
	sys/arch/x86/x86/intr.c: revision 1.114 via patch
fix "intrctl list" panic when ACPI is disabled.
reviewed by cherry@n.o and tested by msaitoh@n.o, thanks.

Revision 1.119 / (download) - annotate - [select for diffs], Sat Jan 13 20:36:06 2018 UTC (5 years ago) by bouyer
Branch: MAIN
Changes since 1.118: +4 -4 lines
Diff to previous 1.118 (colored)

Also set ih_realfun/ih_realarg in Xen's intr_establish_xname() as
intr_disestablish() use them.
Should fix the panic at device detach time (esp. at shutdown time).

Revision 1.118 / (download) - annotate - [select for diffs], Fri Jan 12 06:24:43 2018 UTC (5 years ago) by maxv
Branch: MAIN
Changes since 1.117: +2 -3 lines
Diff to previous 1.117 (colored)

Remove unused.

Revision 1.117 / (download) - annotate - [select for diffs], Thu Jan 11 10:30:26 2018 UTC (5 years ago) by maxv
Branch: MAIN
Changes since 1.116: +18 -19 lines
Diff to previous 1.116 (colored)

Initialize ist0 in cpu_init_tss. On amd64 this is the DDB stack, and it has
nothing to do with ci_intrstack. While here, style, and don't forget to
pass UVM_KMF_ZERO in uvm_km_alloc.

Revision 1.116 / (download) - annotate - [select for diffs], Thu Jan 4 13:36:30 2018 UTC (5 years, 1 month ago) by maxv
Branch: MAIN
Changes since 1.115: +3 -3 lines
Diff to previous 1.115 (colored)

Allocate the TSS area dynamically. This way cpu_info and cpu_tss can be
put in separate pages.

Revision 1.115 / (download) - annotate - [select for diffs], Thu Jan 4 12:34:15 2018 UTC (5 years, 1 month ago) by maxv
Branch: MAIN
Changes since 1.114: +3 -3 lines
Diff to previous 1.114 (colored)

Group the different TSSes into a cpu_tss structure. And pack this
structure to make sure there is no padding between 'tss' and 'iomap'.

Revision 1.114 / (download) - annotate - [select for diffs], Thu Jan 4 01:01:59 2018 UTC (5 years, 1 month ago) by knakahara
Branch: MAIN
Changes since 1.113: +5 -8 lines
Diff to previous 1.113 (colored)

fix "intrctl list" panic when ACPI is disabled.

reviewed by cherry@n.o and tested by msaitoh@n.o, thanks.

Revision 1.113 / (download) - annotate - [select for diffs], Wed Dec 13 16:30:18 2017 UTC (5 years, 1 month ago) by bouyer
Branch: MAIN
Changes since 1.112: +10 -8 lines
Diff to previous 1.112 (colored)

Fixes for physical interrupts on Xen:
- do not cast int * to intr_handle_t *, they're not the same size
- legacy_irq is not always -1 for ioapic interrupts, test pic_type instead
- change irq2port[] to hold (port + 1) so that 0 is an invalid value
- add KASSERTs to make sure vect, port or irq values extracted from arrays are
  valid (or that they are invalid before write)
- for the !ioapic case, we still need to do PHYSDEVOP_ASSIGN_VECTOR and
  bind_pirq_to_evtch().

now XEN3_DOM0 boots again

Revision 1.74.2.3 / (download) - annotate - [select for diffs], Sun Dec 3 11:36:50 2017 UTC (5 years, 2 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.74.2.2: +1101 -64 lines
Diff to previous 1.74.2.2 (colored) to branchpoint 1.74 (colored) next main 1.75 (colored)

update from HEAD

Revision 1.112 / (download) - annotate - [select for diffs], Sat Nov 11 21:05:58 2017 UTC (5 years, 2 months ago) by riastradh
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202
Changes since 1.111: +9 -2 lines
Diff to previous 1.111 (colored)

Add KASSERT to confirm no change in xen intr MP-safety annotations.

Revision 1.111 / (download) - annotate - [select for diffs], Sat Nov 11 19:25:29 2017 UTC (5 years, 2 months ago) by riastradh
Branch: MAIN
Changes since 1.110: +10 -10 lines
Diff to previous 1.110 (colored)

KNF NFC

Revision 1.110 / (download) - annotate - [select for diffs], Sat Nov 11 17:37:03 2017 UTC (5 years, 2 months ago) by riastradh
Branch: MAIN
Changes since 1.109: +3 -2 lines
Diff to previous 1.109 (colored)

Free ih when done.

Revision 1.109 / (download) - annotate - [select for diffs], Sat Nov 11 17:26:51 2017 UTC (5 years, 2 months ago) by riastradh
Branch: MAIN
Changes since 1.108: +11 -11 lines
Diff to previous 1.108 (colored)

Pass xname through Xen intr_establish_xname to event_set_handler.

Revision 1.108 / (download) - annotate - [select for diffs], Sat Nov 11 07:52:41 2017 UTC (5 years, 2 months ago) by riastradh
Branch: MAIN
Changes since 1.107: +3 -3 lines
Diff to previous 1.107 (colored)

Pass IPL through from intr_establish to event_set_handler.

Don't unconditionally use IPL_CLOCK, which aside from being the wrong
IPL for non-IPL_CLOCK interrupt handlers has the side effect of running
all interrupt handlers without the giant lock, even those that are not
MP-safe.

This is a step toward fixing:

https://mail-index.netbsd.org/tech-kern/2017/11/09/msg022571.html

ok cherry

Revision 1.107 / (download) - annotate - [select for diffs], Sat Nov 11 07:46:52 2017 UTC (5 years, 2 months ago) by riastradh
Branch: MAIN
Changes since 1.106: +7 -8 lines
Diff to previous 1.106 (colored)

#if DIAGNOSTIC panic ---> KASSERTMSG

Revision 1.106 / (download) - annotate - [select for diffs], Sat Nov 4 14:56:48 2017 UTC (5 years, 3 months ago) by cherry
Branch: MAIN
Changes since 1.105: +186 -8 lines
Diff to previous 1.105 (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.105 / (download) - annotate - [select for diffs], Fri Oct 27 12:25:14 2017 UTC (5 years, 3 months ago) by joerg
Branch: MAIN
Changes since 1.104: +1 -1 lines
Diff to previous 1.104 (colored)

Revert printf return value change.

Revision 1.104 / (download) - annotate - [select for diffs], Fri Oct 27 09:59:16 2017 UTC (5 years, 3 months ago) by utkarsh009
Branch: MAIN
Changes since 1.103: +3 -3 lines
Diff to previous 1.103 (colored)

[syzkaller] Cast all the printf's to (void *)
as a result of new printf(9) declaration.

Revision 1.103 / (download) - annotate - [select for diffs], Sun Sep 3 06:24:49 2017 UTC (5 years, 5 months ago) by cherry
Branch: MAIN
Changes since 1.102: +2 -4 lines
Diff to previous 1.102 (colored)

Remove redundant static function declaration

Revision 1.77.4.8 / (download) - annotate - [select for diffs], Mon Aug 28 17:51:56 2017 UTC (5 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.77.4.7: +17 -43 lines
Diff to previous 1.77.4.7 (colored) to branchpoint 1.77 (colored) next main 1.78 (colored)

Sync with HEAD

Revision 1.102 / (download) - annotate - [select for diffs], Mon Jul 31 18:54:40 2017 UTC (5 years, 6 months ago) by maxv
Branch: MAIN
CVS Tags: nick-nhusb-base-20170825
Changes since 1.101: +5 -9 lines
Diff to previous 1.101 (colored)

Use idt_vec_set instead.

Revision 1.101 / (download) - annotate - [select for diffs], Thu Jun 1 02:45:08 2017 UTC (5 years, 8 months ago) by chs
Branch: MAIN
CVS Tags: perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-8-base, matt-nb8-mediatek-base, matt-nb8-mediatek
Branch point for: netbsd-8
Changes since 1.100: +2 -19 lines
Diff to previous 1.100 (colored)

remove checks for failure after memory allocation calls that cannot fail:

  kmem_alloc() with KM_SLEEP
  kmem_zalloc() with KM_SLEEP
  percpu_alloc()
  pserialize_create()
  psref_class_create()

all of these paths include an assertion that the allocation has not failed,
so callers should not assert that again.

Revision 1.94.2.3 / (download) - annotate - [select for diffs], Wed Apr 26 02:53:09 2017 UTC (5 years, 9 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.94.2.2: +10 -12 lines
Diff to previous 1.94.2.2 (colored) to branchpoint 1.94 (colored) next main 1.95 (colored)

Sync with HEAD

Revision 1.96.2.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:53:39 2017 UTC (5 years, 9 months ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.96: +14 -19 lines
Diff to previous 1.96 (colored) next main 1.97 (colored)

Sync with HEAD

Revision 1.100 / (download) - annotate - [select for diffs], Thu Apr 20 02:42:59 2017 UTC (5 years, 9 months ago) by knakahara
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, bouyer-socketcan-base1
Changes since 1.99: +3 -3 lines
Diff to previous 1.99 (colored)

always notice if the device's interrupt set affinity to other than CPU#0.

suggested by msaitoh@n.o.

Revision 1.99 / (download) - annotate - [select for diffs], Tue Apr 18 11:49:50 2017 UTC (5 years, 9 months ago) by knakahara
Branch: MAIN
Changes since 1.98: +8 -6 lines
Diff to previous 1.98 (colored)

change aprint_verbose() to know easily msi devices affinity to CPU#0 or not.

suggested by msaitoh@n.o.

Revision 1.98 / (download) - annotate - [select for diffs], Tue Apr 18 11:44:37 2017 UTC (5 years, 9 months ago) by knakahara
Branch: MAIN
Changes since 1.97: +6 -10 lines
Diff to previous 1.97 (colored)

use DPRINTF instead of #define INTRDEBUG and printf().

Revision 1.94.2.2 / (download) - annotate - [select for diffs], Mon Mar 20 06:57:22 2017 UTC (5 years, 10 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.94.2.1: +6 -9 lines
Diff to previous 1.94.2.1 (colored) to branchpoint 1.94 (colored)

Sync with HEAD

Revision 1.97 / (download) - annotate - [select for diffs], Sun Mar 19 22:19:05 2017 UTC (5 years, 10 months ago) by riastradh
Branch: MAIN
CVS Tags: pgoyette-localcount-20170320, jdolecek-ncq-base, jdolecek-ncq
Changes since 1.96: +6 -9 lines
Diff to previous 1.96 (colored)

#if DIAGNOSTIC panic ---> KASSERT

Revision 1.77.4.7 / (download) - annotate - [select for diffs], Sun Feb 5 13:40:23 2017 UTC (6 years ago) by skrll
Branch: nick-nhusb
Changes since 1.77.4.6: +4 -2 lines
Diff to previous 1.77.4.6 (colored) to branchpoint 1.77 (colored)

Sync with HEAD

Revision 1.94.2.1 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:28 2017 UTC (6 years, 1 month ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.94: +16 -8 lines
Diff to previous 1.94 (colored)

Sync with HEAD.  (Note that most of these changes are simply $NetBSD$
tag issues.)

Revision 1.96 / (download) - annotate - [select for diffs], Tue Dec 6 15:09:04 2016 UTC (6 years, 2 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-localcount-20170107, nick-nhusb-base-20170204, bouyer-socketcan-base
Branch point for: bouyer-socketcan
Changes since 1.95: +4 -2 lines
Diff to previous 1.95 (colored)

Memory leak, found by Mootja

Revision 1.77.4.6 / (download) - annotate - [select for diffs], Mon Dec 5 10:54:59 2016 UTC (6 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.77.4.5: +14 -8 lines
Diff to previous 1.77.4.5 (colored) to branchpoint 1.77 (colored)

Sync with HEAD

Revision 1.95 / (download) - annotate - [select for diffs], Wed Nov 16 07:13:01 2016 UTC (6 years, 2 months ago) by knakahara
Branch: MAIN
CVS Tags: nick-nhusb-base-20161204
Changes since 1.94: +14 -8 lines
Diff to previous 1.94 (colored)

avoid a failure of interrupt affinity when the interrupt is pending.

pointed out and reviewed by ozaki-r@n.o, thanks.

Revision 1.77.4.5 / (download) - annotate - [select for diffs], Wed Oct 5 20:55:37 2016 UTC (6 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.77.4.4: +3 -3 lines
Diff to previous 1.77.4.4 (colored) to branchpoint 1.77 (colored)

Sync with HEAD

Revision 1.94 / (download) - annotate - [select for diffs], Mon Jul 11 23:09:34 2016 UTC (6 years, 6 months ago) by knakahara
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20161004, localcount-20160914
Branch point for: pgoyette-localcount
Changes since 1.93: +3 -3 lines
Diff to previous 1.93 (colored)

should use strlcpy instead of strncpy.

pointed out by dholland@n.o.

Revision 1.93 / (download) - annotate - [select for diffs], Mon Jul 11 09:42:20 2016 UTC (6 years, 6 months ago) by knakahara
Branch: MAIN
Changes since 1.92: +3 -3 lines
Diff to previous 1.92 (colored)

strncpy should use destination buf length instead of source buf length.

pointed out by nonaka@n.o.

Revision 1.77.4.4 / (download) - annotate - [select for diffs], Sat Jul 9 20:24:59 2016 UTC (6 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.77.4.3: +7 -2 lines
Diff to previous 1.77.4.3 (colored) to branchpoint 1.77 (colored)

Sync with HEAD

Revision 1.92 / (download) - annotate - [select for diffs], Mon Jun 20 08:14:06 2016 UTC (6 years, 7 months ago) by hannken
Branch: MAIN
CVS Tags: nick-nhusb-base-20160907
Changes since 1.91: +7 -2 lines
Diff to previous 1.91 (colored)

Prevent use after free.  Don't free an interrupt source still in use.

Ok: Kengo NAKAHARA

Revision 1.77.4.3 / (download) - annotate - [select for diffs], Sun Dec 27 12:09:45 2015 UTC (7 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.77.4.2: +18 -2 lines
Diff to previous 1.77.4.2 (colored) to branchpoint 1.77 (colored)

Sync with HEAD (as of 26th Dec)

Revision 1.91 / (download) - annotate - [select for diffs], Tue Nov 17 10:34:04 2015 UTC (7 years, 2 months ago) by hannken
Branch: MAIN
CVS Tags: nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226
Changes since 1.90: +5 -4 lines
Diff to previous 1.90 (colored)

Replace SIMPLEQ_FOREACH with SIMPLEQ_FOREACH_SAFE to prevent use-after-free.

Revision 1.90 / (download) - annotate - [select for diffs], Fri Oct 9 13:03:55 2015 UTC (7 years, 4 months ago) by knakahara
Branch: MAIN
Changes since 1.89: +2 -6 lines
Diff to previous 1.89 (colored)

remove quick hack code to avoid shared IRQ issue.

Revision 1.89 / (download) - annotate - [select for diffs], Fri Oct 9 12:56:02 2015 UTC (7 years, 4 months ago) by knakahara
Branch: MAIN
Changes since 1.88: +17 -2 lines
Diff to previous 1.88 (colored)

fix: "intrctl list" causes panic when the device using pci_intr_alloc() shares IRQ.

Revision 1.88 / (download) - annotate - [select for diffs], Tue Oct 6 09:44:31 2015 UTC (7 years, 4 months ago) by knakahara
Branch: MAIN
Changes since 1.87: +6 -2 lines
Diff to previous 1.87 (colored)

quick hack for shared IRQ issue.

Revision 1.77.4.2 / (download) - annotate - [select for diffs], Tue Sep 22 12:05:54 2015 UTC (7 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.77.4.1: +305 -19 lines
Diff to previous 1.77.4.1 (colored) to branchpoint 1.77 (colored)

Sync with HEAD

Revision 1.87 / (download) - annotate - [select for diffs], Mon Aug 17 06:16:03 2015 UTC (7 years, 5 months ago) by knakahara
Branch: MAIN
CVS Tags: nick-nhusb-base-20150921
Changes since 1.86: +287 -11 lines
Diff to previous 1.86 (colored)

Add kernel code to support intrctl(8).

Revision 1.86 / (download) - annotate - [select for diffs], Tue Jun 23 10:00:13 2015 UTC (7 years, 7 months ago) by msaitoh
Branch: MAIN
Changes since 1.85: +14 -4 lines
Diff to previous 1.85 (colored)

 Fix a bug that an interrupt mask is "un"masked in intr_"dis"establish_xcall().
It's not intended.
 - If there is no any handler,
   1) do delroute because it has no any source and
   2) dont' hwunmask to prevent spurious interrupt.
 - If there is any handler,
   1) don't delroute because it has source and
   2) do hwunmask to be able to get interrupt again.

Revision 1.77.4.1 / (download) - annotate - [select for diffs], Sat Jun 6 14:40:04 2015 UTC (7 years, 8 months ago) by skrll
Branch: nick-nhusb
Changes since 1.77: +594 -29 lines
Diff to previous 1.77 (colored)

Sync with HEAD

Revision 1.85 / (download) - annotate - [select for diffs], Fri May 15 08:36:41 2015 UTC (7 years, 8 months ago) by knakahara
Branch: MAIN
CVS Tags: nick-nhusb-base-20150606
Changes since 1.84: +4 -3 lines
Diff to previous 1.84 (colored)

pci_msi_string() must be used by MD code only.

Revision 1.84 / (download) - annotate - [select for diffs], Sat May 9 13:05:51 2015 UTC (7 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.83: +3 -3 lines
Diff to previous 1.83 (colored)

CID 1297228: Use strlcpy

Revision 1.83 / (download) - annotate - [select for diffs], Thu May 7 12:52:46 2015 UTC (7 years, 9 months ago) by martin
Branch: MAIN
Changes since 1.82: +8 -2 lines
Diff to previous 1.82 (colored)

Make it compilable without PCI

Revision 1.82 / (download) - annotate - [select for diffs], Sat May 2 14:30:27 2015 UTC (7 years, 9 months ago) by roy
Branch: MAIN
Changes since 1.81: +3 -3 lines
Diff to previous 1.81 (colored)

Fix compile on clang.

Revision 1.81 / (download) - annotate - [select for diffs], Mon Apr 27 07:03:58 2015 UTC (7 years, 9 months ago) by knakahara
Branch: MAIN
Changes since 1.80: +55 -18 lines
Diff to previous 1.80 (colored)

add x86 MD MSI/MSI-X support code.

Revision 1.80 / (download) - annotate - [select for diffs], Mon Apr 27 06:51:40 2015 UTC (7 years, 9 months ago) by knakahara
Branch: MAIN
Changes since 1.79: +10 -10 lines
Diff to previous 1.79 (colored)

add intr_handle_t and let pci_intr_handle_t use it.

Revision 1.79 / (download) - annotate - [select for diffs], Mon Apr 27 06:42:52 2015 UTC (7 years, 9 months ago) by knakahara
Branch: MAIN
Changes since 1.78: +523 -21 lines
Diff to previous 1.78 (colored)

add pci_intr_distribute(9) for x86.

Revision 1.78 / (download) - annotate - [select for diffs], Wed Apr 8 05:52:41 2015 UTC (7 years, 10 months ago) by knakahara
Branch: MAIN
Changes since 1.77: +21 -2 lines
Diff to previous 1.77 (colored)

add prototype declarations

Revision 1.74.2.2 / (download) - annotate - [select for diffs], Wed Aug 20 00:03:29 2014 UTC (8 years, 5 months ago) by tls
Branch: tls-maxphys
Changes since 1.74.2.1: +7 -8 lines
Diff to previous 1.74.2.1 (colored) to branchpoint 1.74 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.76.2.1 / (download) - annotate - [select for diffs], Sun Aug 10 06:54:11 2014 UTC (8 years, 6 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.76: +3 -3 lines
Diff to previous 1.76 (colored) next main 1.77 (colored)

Rebase.

Revision 1.72.2.2 / (download) - annotate - [select for diffs], Thu May 22 11:40:14 2014 UTC (8 years, 8 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.72.2.1: +31 -21 lines
Diff to previous 1.72.2.1 (colored) to branchpoint 1.72 (colored) next main 1.73 (colored)

sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.77 / (download) - annotate - [select for diffs], Tue May 20 03:24:19 2014 UTC (8 years, 8 months ago) by ozaki-r
Branch: MAIN
CVS Tags: tls-maxphys-base, tls-earlyentropy-base, 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
Branch point for: nick-nhusb
Changes since 1.76: +3 -3 lines
Diff to previous 1.76 (colored)

Pad 0 to align outputs

Revision 1.75.4.1 / (download) - annotate - [select for diffs], Sun May 18 17:45:30 2014 UTC (8 years, 8 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.75: +8 -9 lines
Diff to previous 1.75 (colored) next main 1.76 (colored)

sync with head

Revision 1.76 / (download) - annotate - [select for diffs], Sat Mar 29 19:28:30 2014 UTC (8 years, 10 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base9, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15
Branch point for: tls-earlyentropy
Changes since 1.75: +8 -9 lines
Diff to previous 1.75 (colored)

make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.

Revision 1.74.2.1 / (download) - annotate - [select for diffs], Sun Jun 23 06:20:14 2013 UTC (9 years, 7 months ago) by tls
Branch: tls-maxphys
Changes since 1.74: +25 -14 lines
Diff to previous 1.74 (colored)

resync from head

Revision 1.72.8.1 / (download) - annotate - [select for diffs], Sun Mar 31 20:34:27 2013 UTC (9 years, 10 months ago) by riz
Branch: netbsd-6
CVS Tags: netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, 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
Changes since 1.72: +25 -14 lines
Diff to previous 1.72 (colored) next main 1.73 (colored)

Pull up following revision(s) (requested by chs in ticket #856):
	sys/arch/x86/x86/intr.c: revision 1.75
only use db_printf() if we're actually called from DDB.
this prevents the boot-time one from pausing the boot process.

Revision 1.75 / (download) - annotate - [select for diffs], Mon Mar 25 01:34:59 2013 UTC (9 years, 10 months ago) by chs
Branch: MAIN
CVS Tags: riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, khorben-n900
Branch point for: rmind-smpnet
Changes since 1.74: +25 -14 lines
Diff to previous 1.74 (colored)

only use db_printf() if we're actually called from DDB.
this prevents the boot-time one from pausing the boot process.

Revision 1.72.2.1 / (download) - annotate - [select for diffs], Tue Oct 30 17:20:34 2012 UTC (10 years, 3 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.72: +11 -11 lines
Diff to previous 1.72 (colored)

sync with head

Revision 1.74 / (download) - annotate - [select for diffs], Fri Jun 15 13:57:59 2012 UTC (10 years, 7 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, agc-symver-base, agc-symver
Branch point for: tls-maxphys
Changes since 1.73: +3 -5 lines
Diff to previous 1.73 (colored)

comments

Revision 1.73 / (download) - annotate - [select for diffs], Tue Jun 12 17:26:29 2012 UTC (10 years, 7 months ago) by yamt
Branch: MAIN
Changes since 1.72: +13 -11 lines
Diff to previous 1.72 (colored)

intr_find_mpmapping: comments and cosmetic.  no functional changes.

Revision 1.58.2.7 / (download) - annotate - [select for diffs], Sat Aug 27 15:37:30 2011 UTC (11 years, 5 months ago) by jym
Branch: jym-xensuspend
Changes since 1.58.2.6: +4 -3 lines
Diff to previous 1.58.2.6 (colored) to branchpoint 1.58 (colored) next main 1.59 (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.72 / (download) - annotate - [select for diffs], Mon Aug 1 10:42:24 2011 UTC (11 years, 6 months ago) by drochner
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-RC2, netbsd-6-1-RC1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, 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, netbsd-6
Changes since 1.71: +4 -3 lines
Diff to previous 1.71 (colored)

if checking whether an interrupt is shared, don't compare pin numbers
if it is "-1" -- this is a hack to allow MSIs which don't have a concept
of pin numbers, and are generally not shared
(This doesn't give us sensible event names for statistics display. The
whole abstraction has more exceptions than regular cases, it should
be redesigned imho.)

Revision 1.69.2.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:07:08 2011 UTC (11 years, 8 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.69: +14 -14 lines
Diff to previous 1.69 (colored) next main 1.70 (colored)

Sync with HEAD.

Revision 1.58.2.6 / (download) - annotate - [select for diffs], Mon May 2 22:49:57 2011 UTC (11 years, 9 months ago) by jym
Branch: jym-xensuspend
Changes since 1.58.2.5: +3 -4 lines
Diff to previous 1.58.2.5 (colored) to branchpoint 1.58 (colored)

Sync with head.

Revision 1.67.2.3 / (download) - annotate - [select for diffs], Thu Apr 21 01:41:32 2011 UTC (11 years, 9 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.67.2.2: +1 -2 lines
Diff to previous 1.67.2.2 (colored) to branchpoint 1.67 (colored) next main 1.68 (colored)

sync with head

Revision 1.71 / (download) - annotate - [select for diffs], Sun Apr 3 22:29:27 2011 UTC (11 years, 10 months ago) by dyoung
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base, cherry-xenmp
Changes since 1.70: +3 -4 lines
Diff to previous 1.70 (colored)

Clean up excessive #ifdef'age of NMI trap handling for amd64/i386/xen.
Handle NMI in all Xen kernels.

Revision 1.58.2.5 / (download) - annotate - [select for diffs], Mon Mar 28 23:04:52 2011 UTC (11 years, 10 months ago) by jym
Branch: jym-xensuspend
Changes since 1.58.2.4: +13 -12 lines
Diff to previous 1.58.2.4 (colored) to branchpoint 1.58 (colored)

Sync with HEAD. TODO before merge:
- shortcut for suspend code in sysmon, when powerd(8) is not running.
Borrow ``xs_watch'' thread context?
- bug hunting in xbd + xennet resume. Rings are currently thrashed upon
resume, so current implementation force flush them on suspend. It's not
really needed.

Revision 1.67.2.2 / (download) - annotate - [select for diffs], Sat Mar 5 20:52:30 2011 UTC (11 years, 11 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.67.2.1: +25 -12 lines
Diff to previous 1.67.2.1 (colored) to branchpoint 1.67 (colored)

sync with head

Revision 1.69.4.1 / (download) - annotate - [select for diffs], Tue Feb 8 16:19:45 2011 UTC (12 years ago) by bouyer
Branch: bouyer-quota2
Changes since 1.69: +13 -12 lines
Diff to previous 1.69 (colored) next main 1.70 (colored)

Sync with HEAD

Revision 1.70 / (download) - annotate - [select for diffs], Sat Jan 22 14:01:27 2011 UTC (12 years ago) by tsutsui
Branch: MAIN
CVS Tags: uebayasi-xip-base7, bouyer-quota2-nbase, bouyer-quota2-base
Changes since 1.69: +13 -12 lines
Diff to previous 1.69 (colored)

Fix wrong function names in messages by using __func__.  PR kern/44431

Revision 1.58.2.4 / (download) - annotate - [select for diffs], Mon Jan 10 00:37:37 2011 UTC (12 years, 1 month ago) by jym
Branch: jym-xensuspend
Changes since 1.58.2.3: +14 -2 lines
Diff to previous 1.58.2.3 (colored) to branchpoint 1.58 (colored)

Sync with HEAD

Revision 1.69 / (download) - annotate - [select for diffs], Wed Nov 24 14:56:18 2010 UTC (12 years, 2 months ago) by cegger
Branch: MAIN
CVS Tags: matt-mips64-premerge-20101231, jruoho-x86intr-base
Branch point for: jruoho-x86intr, bouyer-quota2
Changes since 1.68: +14 -2 lines
Diff to previous 1.68 (colored)

when DDB is enabled then use 'db_printf'
for 'call intr_printconfig' to respect the 25 lines on vga output

Revision 1.57.6.1 / (download) - annotate - [select for diffs], Sun Nov 21 02:46:24 2010 UTC (12 years, 2 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.57: +3 -2 lines
Diff to previous 1.57 (colored) next main 1.58 (colored)

Pull up following revision(s) (requested by hubertf in ticket #1403):
	sys/arch/x86/conf/files.x86: revision 1.49
	sys/arch/i386/i386/autoconf.c: revision 1.94
	sys/arch/x86/x86/intr.c: revision 1.60
Add opt_intrdebug.h for the INTRDEBUG option, and #include it here and
there.  Fixes GENERIC/i386 compilation with 'options INTRDEBUG'.

Revision 1.58.2.3 / (download) - annotate - [select for diffs], Sun Oct 24 22:48:18 2010 UTC (12 years, 3 months ago) by jym
Branch: jym-xensuspend
Changes since 1.58.2.2: +13 -10 lines
Diff to previous 1.58.2.2 (colored) to branchpoint 1.58 (colored)

Sync with HEAD

Revision 1.66.2.2 / (download) - annotate - [select for diffs], Tue Aug 17 06:45:33 2010 UTC (12 years, 5 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.66.2.1: +4 -1 lines
Diff to previous 1.66.2.1 (colored) to branchpoint 1.66 (colored) next main 1.67 (colored)

Sync with HEAD.

Revision 1.43.4.6 / (download) - annotate - [select for diffs], Wed Aug 11 22:52:57 2010 UTC (12 years, 6 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.43.4.5: +6 -3 lines
Diff to previous 1.43.4.5 (colored) to branchpoint 1.43 (colored) next main 1.44 (colored)

sync with head.

Revision 1.67.2.1 / (download) - annotate - [select for diffs], Sat Jul 3 01:19:30 2010 UTC (12 years, 7 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.67: +6 -3 lines
Diff to previous 1.67 (colored)

sync with head

Revision 1.68 / (download) - annotate - [select for diffs], Thu Jun 17 06:40:28 2010 UTC (12 years, 7 months ago) by mrg
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.67: +6 -3 lines
Diff to previous 1.67 (colored)

attach just one of the cpu timer interrupts as EVCNT_TYPE_INTR, so that at
least something shows up in systat and beyond.  myself, and a few others,
have been confused at the lack of any timer interrupts appearing here.

Revision 1.66.2.1 / (download) - annotate - [select for diffs], Fri Apr 30 14:39:59 2010 UTC (12 years, 9 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.66: +8 -8 lines
Diff to previous 1.66 (colored)

Sync with HEAD.

Revision 1.43.4.5 / (download) - annotate - [select for diffs], Thu Mar 11 15:03:08 2010 UTC (12 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.43.4.4: +9 -9 lines
Diff to previous 1.43.4.4 (colored) to branchpoint 1.43 (colored)

sync with head

Revision 1.67 / (download) - annotate - [select for diffs], Wed Feb 24 21:22:01 2010 UTC (12 years, 11 months ago) by dyoung
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, uebayasi-xip-base1
Branch point for: rmind-uvmplock
Changes since 1.66: +8 -8 lines
Diff to previous 1.66 (colored)

Rename to 'pc' all variables 'pci_chipset_tag'.

Revision 1.66 / (download) - annotate - [select for diffs], Wed Nov 25 14:28:50 2009 UTC (13 years, 2 months ago) by rmind
Branch: MAIN
CVS Tags: uebayasi-xip-base, matt-premerge-20091211
Branch point for: uebayasi-xip
Changes since 1.65: +3 -3 lines
Diff to previous 1.65 (colored)

Remove IPL_LPT and IPL_IPI aliases, use the actual IPLs.
Fix some broken comments.

Revision 1.58.2.2 / (download) - annotate - [select for diffs], Sun Nov 1 13:58:18 2009 UTC (13 years, 3 months ago) by jym
Branch: jym-xensuspend
Changes since 1.58.2.1: +8 -8 lines
Diff to previous 1.58.2.1 (colored) to branchpoint 1.58 (colored)

Sync with HEAD.

Revision 1.43.4.4 / (download) - annotate - [select for diffs], Wed Aug 19 18:46:51 2009 UTC (13 years, 5 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.43.4.3: +8 -8 lines
Diff to previous 1.43.4.3 (colored) to branchpoint 1.43 (colored)

sync with head.

Revision 1.65 / (download) - annotate - [select for diffs], Tue Aug 18 16:41:03 2009 UTC (13 years, 5 months ago) by jmcneill
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7
Changes since 1.64: +8 -8 lines
Diff to previous 1.64 (colored)

Switch to ACPICA 20090730, and update for API changes.

Revision 1.43.4.3 / (download) - annotate - [select for diffs], Sat May 16 10:41:17 2009 UTC (13 years, 8 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.43.4.2: +3 -3 lines
Diff to previous 1.43.4.2 (colored) to branchpoint 1.43 (colored)

sync with head

Revision 1.58.2.1 / (download) - annotate - [select for diffs], Wed May 13 17:18:45 2009 UTC (13 years, 8 months ago) by jym
Branch: jym-xensuspend
Changes since 1.58: +470 -189 lines
Diff to previous 1.58 (colored)

Sync with HEAD.

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

Revision 1.64 / (download) - annotate - [select for diffs], Wed May 6 01:32:37 2009 UTC (13 years, 9 months ago) by mrg
Branch: MAIN
CVS Tags: yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, jymxensuspend-base
Changes since 1.63: +3 -3 lines
Diff to previous 1.63 (colored)

avoid a warning seen with -O3.

Revision 1.43.4.2 / (download) - annotate - [select for diffs], Mon May 4 08:12:11 2009 UTC (13 years, 9 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.43.4.1: +481 -206 lines
Diff to previous 1.43.4.1 (colored) to branchpoint 1.43 (colored)

sync with head.

Revision 1.57.4.3 / (download) - annotate - [select for diffs], Tue Apr 28 07:34:57 2009 UTC (13 years, 9 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.57.4.2: +462 -128 lines
Diff to previous 1.57.4.2 (colored) to branchpoint 1.57 (colored) next main 1.58 (colored)

Sync with HEAD.

Revision 1.63 / (download) - annotate - [select for diffs], Mon Apr 27 20:02:29 2009 UTC (13 years, 9 months ago) by cegger
Branch: MAIN
CVS Tags: yamt-nfs-mp-base3, nick-hppapmap-base4
Changes since 1.62: +7 -6 lines
Diff to previous 1.62 (colored)

sprintf -> snprintf

Revision 1.62 / (download) - annotate - [select for diffs], Wed Apr 22 21:20:52 2009 UTC (13 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: nick-hppapmap-base3, nick-hppapmap-base
Changes since 1.61: +6 -2 lines
Diff to previous 1.61 (colored)

Route all interrupts back to the BP again, for the time being.
Distributing them is causing strange problems on some systems.

Revision 1.61 / (download) - annotate - [select for diffs], Sun Apr 19 14:11:37 2009 UTC (13 years, 9 months ago) by ad
Branch: MAIN
Changes since 1.60: +457 -128 lines
Diff to previous 1.60 (colored)

cpuctl:

- Add interrupt shielding (direct hardware interrupts away from the
  specified CPUs). Not documented just yet but will be soon.

- Redo /dev/cpu time_t compat so no kernel changes are needed.

x86:

- Make intr_establish, intr_disestablish safe to use when !cold.

- Distribute hardware interrupts among the CPUs, instead of directing
  everything to the boot CPU.

- Add MD code for interrupt sheilding. This works in most cases but there is
  a bug where delivery is not accepted by an LAPIC after redistribution. It
  also needs re-balancing to make things fair after interrupts are turned
  back on for a CPU.

Revision 1.60 / (download) - annotate - [select for diffs], Tue Apr 7 18:24:23 2009 UTC (13 years, 10 months ago) by dyoung
Branch: MAIN
Changes since 1.59: +3 -2 lines
Diff to previous 1.59 (colored)

Add opt_intrdebug.h for the INTRDEBUG option, and #include it here and
there.  Fixes GENERIC/i386 compilation with 'options INTRDEBUG'.

Revision 1.57.4.2 / (download) - annotate - [select for diffs], Tue Mar 3 18:29:37 2009 UTC (13 years, 11 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.57.4.1: +4 -58 lines
Diff to previous 1.57.4.1 (colored) to branchpoint 1.57 (colored)

Sync with HEAD.

Revision 1.59 / (download) - annotate - [select for diffs], Tue Feb 24 06:03:55 2009 UTC (13 years, 11 months ago) by yamt
Branch: MAIN
CVS Tags: nick-hppapmap-base2
Changes since 1.58: +4 -58 lines
Diff to previous 1.58 (colored)

- rewrite x86 nmi dispatcher so that establish and disesablish are safe
  on a running system.
- adapt existing users of the api.  (elan)
- adapt tprof_pmi driver to use the api.

Revision 1.57.4.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:17:09 2009 UTC (14 years ago) by skrll
Branch: nick-hppapmap
Changes since 1.57: +9 -13 lines
Diff to previous 1.57 (colored)

Sync with HEAD.

Revision 1.40.6.3 / (download) - annotate - [select for diffs], Sat Jan 17 13:28:38 2009 UTC (14 years ago) by mjf
Branch: mjf-devfs2
Changes since 1.40.6.2: +7 -11 lines
Diff to previous 1.40.6.2 (colored) to branchpoint 1.40 (colored) next main 1.41 (colored)

Sync with HEAD.

Revision 1.58 / (download) - annotate - [select for diffs], Wed Dec 17 20:51:33 2008 UTC (14 years, 1 month ago) by cegger
Branch: MAIN
CVS Tags: mjf-devfs2-base
Branch point for: jym-xensuspend
Changes since 1.57: +9 -13 lines
Diff to previous 1.57 (colored)

kill MALLOC and FREE macros.

Revision 1.40.6.2 / (download) - annotate - [select for diffs], Sun Sep 28 10:40:12 2008 UTC (14 years, 4 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.40.6.1: +11 -13 lines
Diff to previous 1.40.6.1 (colored) to branchpoint 1.40 (colored)

Sync with HEAD.

Revision 1.49.2.2 / (download) - annotate - [select for diffs], Thu Sep 18 04:33:38 2008 UTC (14 years, 4 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.49.2.1: +13 -15 lines
Diff to previous 1.49.2.1 (colored) next main 1.50 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.55.2.1 / (download) - annotate - [select for diffs], Thu Jul 3 18:37:57 2008 UTC (14 years, 7 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.55: +13 -15 lines
Diff to previous 1.55 (colored) next main 1.56 (colored)

Sync with head.

Revision 1.57 / (download) - annotate - [select for diffs], Thu Jul 3 15:44:19 2008 UTC (14 years, 7 months ago) by drochner
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, simonb-wapbl-nbase, simonb-wapbl-base, 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-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, 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, 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
Changes since 1.56: +3 -3 lines
Diff to previous 1.56 (colored)

split device/softc for ioapic

Revision 1.56 / (download) - annotate - [select for diffs], Thu Jul 3 14:02:25 2008 UTC (14 years, 7 months ago) by drochner
Branch: MAIN
Changes since 1.55: +13 -15 lines
Diff to previous 1.55 (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.49.2.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:30:50 2008 UTC (14 years, 7 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.49: +90 -101 lines
Diff to previous 1.49 (colored)

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

Revision 1.43.2.2 / (download) - annotate - [select for diffs], Wed Jun 4 02:05:03 2008 UTC (14 years, 8 months ago) by yamt
Branch: yamt-pf42
Changes since 1.43.2.1: +4 -4 lines
Diff to previous 1.43.2.1 (colored) to branchpoint 1.43 (colored) next main 1.44 (colored)

sync with head

Revision 1.40.6.1 / (download) - annotate - [select for diffs], Mon Jun 2 13:22:51 2008 UTC (14 years, 8 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.40: +144 -135 lines
Diff to previous 1.40 (colored)

Sync with HEAD.

Revision 1.55 / (download) - annotate - [select for diffs], Fri May 30 19:03:10 2008 UTC (14 years, 8 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, wrstuden-revivesa-base-1, wrstuden-revivesa-base
Branch point for: simonb-wapbl
Changes since 1.54: +4 -4 lines
Diff to previous 1.54 (colored)

Add a 'known_mpsafe' argument to intr_establish().

Revision 1.43.2.1 / (download) - annotate - [select for diffs], Sun May 18 12:33:04 2008 UTC (14 years, 8 months ago) by yamt
Branch: yamt-pf42
Changes since 1.43: +109 -122 lines
Diff to previous 1.43 (colored)

sync with head.

Revision 1.43.4.1 / (download) - annotate - [select for diffs], Fri May 16 02:23:29 2008 UTC (14 years, 8 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.43: +109 -122 lines
Diff to previous 1.43 (colored)

sync with head.

Revision 1.54 / (download) - annotate - [select for diffs], Tue May 13 20:19:26 2008 UTC (14 years, 8 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base2, yamt-nfs-mp-base2, hpcarm-cleanup-nbase
Changes since 1.53: +4 -4 lines
Diff to previous 1.53 (colored)

intr_string: don't bother printing the legacy irq number when using the
ioapic. It's confusing.

Revision 1.53 / (download) - annotate - [select for diffs], Tue May 13 14:29:17 2008 UTC (14 years, 8 months ago) by joerg
Branch: MAIN
Changes since 1.52: +77 -89 lines
Diff to previous 1.52 (colored)

Restore the behaviour intended by rev 1.51 with the patch I actually
send out for testing. The wrong version ended up in the commit.
Original description:
Don't use the legacy interrupt when deciding how to route IOAPIC pins.
On some modern systems not all devices have the PCI interrupt line
set, typically the cardbus bridge is affected and it would result in
different interrupt vectors used for the same IOAPIC pin.
To allow this, simplify the code by checking for an existing match first
and only allocate a new entry if that doesn't exist. For the IOAPIC case
don't bother with the reserveration on the primary CPU for ISA
interrupts, just use them.

Revision 1.52 / (download) - annotate - [select for diffs], Tue May 13 12:14:06 2008 UTC (14 years, 8 months ago) by ad
Branch: MAIN
Changes since 1.51: +88 -73 lines
Diff to previous 1.51 (colored)

Back out 1.50 until the assumptions about NUM_LEGACY_IRQS are removed.
Until then there are not enough free interrupt sources on UP systems.
(Sorry Joerg.)

Revision 1.51 / (download) - annotate - [select for diffs], Sun May 11 14:25:02 2008 UTC (14 years, 9 months ago) by ad
Branch: MAIN
Changes since 1.50: +11 -10 lines
Diff to previous 1.50 (colored)

Don't use ci_apicid to identify cpus in debug output.

Revision 1.50 / (download) - annotate - [select for diffs], Sun May 11 13:18:25 2008 UTC (14 years, 9 months ago) by joerg
Branch: MAIN
Changes since 1.49: +73 -88 lines
Diff to previous 1.49 (colored)

Don't use the legacy interrupt when deciding how to route IOAPIC pins.
On some modern systems not all devices have the PCI interrupt line
set, typically the cardbus bridge is affected and it would result in
different interrupt vectors used for the same IOAPIC pin.
To allow this, simplify the code by checking for an existing match first
and only allocate a new entry if that doesn't exist. For the IOAPIC case
don't bother with the reserveration on the primary CPU for ISA
interrupts, just use them.

Revision 1.49 / (download) - annotate - [select for diffs], Wed May 7 07:00:16 2008 UTC (14 years, 9 months ago) by joerg
Branch: MAIN
Branch point for: wrstuden-revivesa
Changes since 1.48: +5 -5 lines
Diff to previous 1.48 (colored)

Remove some prototypes that are not implemented. Make some functions
static that are only used in intr.c.

Revision 1.48 / (download) - annotate - [select for diffs], Wed Apr 30 12:00:52 2008 UTC (14 years, 9 months ago) by joerg
Branch: MAIN
Changes since 1.47: +5 -6 lines
Diff to previous 1.47 (colored)

Exploit ci->ci_isources[slot] == source to simplify code.

Revision 1.47 / (download) - annotate - [select for diffs], Tue Apr 29 18:47:18 2008 UTC (14 years, 9 months ago) by joerg
Branch: MAIN
Changes since 1.46: +2 -6 lines
Diff to previous 1.46 (colored)

Remove IOAPIC_HWMASK, it was never defined.

Revision 1.46 / (download) - annotate - [select for diffs], Mon Apr 28 23:00:22 2008 UTC (14 years, 9 months ago) by ad
Branch: MAIN
Changes since 1.45: +4 -4 lines
Diff to previous 1.45 (colored)

Don't count many items as EVCNT_TYPE_INTR because they clutter up the
systat vmstat display.

Revision 1.45 / (download) - annotate - [select for diffs], Mon Apr 28 22:47:37 2008 UTC (14 years, 9 months ago) by ad
Branch: MAIN
Changes since 1.44: +15 -5 lines
Diff to previous 1.44 (colored)

Add support for kernel preeemption to the i386 and amd64 ports. Notes:

- I have seen one isolated panic in the x86 pmap, but otherwise i386
  seems stable with preemption enabled.

- amd64 is missing the FPU handling changes and it's not yet safe to
  enable it there.

- The usual level for kern.sched.kpreempt_pri will be 128 once enabled
  by default. For testing, setting it to 0 helps to shake out bugs.

Revision 1.44 / (download) - annotate - [select for diffs], Mon Apr 28 20:23:40 2008 UTC (14 years, 9 months ago) by martin
Branch: MAIN
Changes since 1.43: +2 -9 lines
Diff to previous 1.43 (colored)

Remove clause 3 and 4 from TNF licenses

Revision 1.43 / (download) - annotate - [select for diffs], Wed Apr 16 16:06:51 2008 UTC (14 years, 9 months ago) by cegger
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base, yamt-pf42-X, yamt-nfs-mp-base
Branch point for: yamt-pf42, yamt-nfs-mp
Changes since 1.42: +9 -9 lines
Diff to previous 1.42 (colored)

- use aprint_*_dev and device_xname
- use POSIX integer types

Revision 1.42 / (download) - annotate - [select for diffs], Fri Apr 11 16:44:45 2008 UTC (14 years, 10 months ago) by dyoung
Branch: MAIN
Changes since 1.41: +2 -3 lines
Diff to previous 1.41 (colored)

Remove debug printf that snuck in with my commit.

Revision 1.41 / (download) - annotate - [select for diffs], Thu Apr 10 23:22:30 2008 UTC (14 years, 10 months ago) by dyoung
Branch: MAIN
Changes since 1.40: +31 -8 lines
Diff to previous 1.40 (colored)

Add the redzones above and below the interrupt stack back to the
DIAGNOSTIC kernel.

Revision 1.29.10.3 / (download) - annotate - [select for diffs], Sun Mar 23 02:04:28 2008 UTC (14 years, 10 months ago) by matt
Branch: matt-armv6
Changes since 1.29.10.2: +57 -2 lines
Diff to previous 1.29.10.2 (colored) to branchpoint 1.29 (colored) next main 1.30 (colored)

sync with HEAD

Revision 1.34.2.2 / (download) - annotate - [select for diffs], Mon Feb 18 21:05:17 2008 UTC (14 years, 11 months ago) by mjf
Branch: mjf-devfs
Changes since 1.34.2.1: +61 -3 lines
Diff to previous 1.34.2.1 (colored) to branchpoint 1.34 (colored) next main 1.35 (colored)

Sync with HEAD.

Revision 1.37.4.3 / (download) - annotate - [select for diffs], Wed Jan 23 19:27:28 2008 UTC (15 years ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.37.4.2: +55 -0 lines
Diff to previous 1.37.4.2 (colored) to branchpoint 1.37 (colored) next main 1.38 (colored)

Sync with HEAD.

Revision 1.21.2.6 / (download) - annotate - [select for diffs], Mon Jan 21 09:40:15 2008 UTC (15 years ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.21.2.5: +61 -3 lines
Diff to previous 1.21.2.5 (colored) to branchpoint 1.21 (colored) next main 1.22 (colored)

sync with head

Revision 1.40 / (download) - annotate - [select for diffs], Mon Jan 21 02:56:14 2008 UTC (15 years ago) by dyoung
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, bouyer-xeni386-nbase, ad-socklock-base1
Branch point for: mjf-devfs2
Changes since 1.39: +57 -2 lines
Diff to previous 1.39 (colored)

Add primitive routines to establish NMI handlers on i386.

TBD: synchronize (dis)establishment of handlers.

Revision 1.29.10.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:49:55 2008 UTC (15 years, 1 month ago) by matt
Branch: matt-armv6
Changes since 1.29.10.1: +70 -82 lines
Diff to previous 1.29.10.1 (colored) to branchpoint 1.29 (colored)

sync with HEAD

Revision 1.37.4.2 / (download) - annotate - [select for diffs], Tue Jan 8 22:10:38 2008 UTC (15 years, 1 month ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.37.4.1: +3 -0 lines
Diff to previous 1.37.4.1 (colored) to branchpoint 1.37 (colored)

Sync with HEAD

Revision 1.39 / (download) - annotate - [select for diffs], Sat Jan 5 21:47:18 2008 UTC (15 years, 1 month ago) by yamt
Branch: MAIN
CVS Tags: matt-armv6-base, bouyer-xeni386-base
Changes since 1.38: +5 -2 lines
Diff to previous 1.38 (colored)

- make amd64 use per-cpu tss.
- fix iopl syscall for amd64+xen.

Revision 1.37.4.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:51:24 2008 UTC (15 years, 1 month ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.37: +3 -3 lines
Diff to previous 1.37 (colored)

Sync with HEAD

Revision 1.36.2.2 / (download) - annotate - [select for diffs], Wed Dec 26 21:38:49 2007 UTC (15 years, 1 month ago) by ad
Branch: vmlocking2
Changes since 1.36.2.1: +3 -3 lines
Diff to previous 1.36.2.1 (colored) to branchpoint 1.36 (colored) next main 1.37 (colored)

Sync with head.

Revision 1.38 / (download) - annotate - [select for diffs], Wed Dec 26 11:51:12 2007 UTC (15 years, 1 month ago) by yamt
Branch: MAIN
CVS Tags: vmlocking2-base3
Changes since 1.37: +3 -3 lines
Diff to previous 1.37 (colored)

- share idt entry allocation code among x86.
- introduce a function to reserve an idt entry and use it instead of
  manipulating idt_allocmap directly.
- rename idt to xen_idt for amd64 xen.  add missing #ifdef XEN.

Revision 1.29.8.4 / (download) - annotate - [select for diffs], Sun Dec 9 19:36:28 2007 UTC (15 years, 2 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.29.8.3: +65 -80 lines
Diff to previous 1.29.8.3 (colored) to branchpoint 1.29 (colored) next main 1.30 (colored)

Sync with HEAD.

Revision 1.34.2.1 / (download) - annotate - [select for diffs], Sat Dec 8 18:18:13 2007 UTC (15 years, 2 months ago) by mjf
Branch: mjf-devfs
Changes since 1.34: +66 -81 lines
Diff to previous 1.34 (colored)

Sync with HEAD.

Revision 1.36.2.1 / (download) - annotate - [select for diffs], Sat Dec 8 17:56:32 2007 UTC (15 years, 2 months ago) by ad
Branch: vmlocking2
Changes since 1.36: +2 -9 lines
Diff to previous 1.36 (colored)

Sync with head.

Revision 1.21.2.5 / (download) - annotate - [select for diffs], Fri Dec 7 17:27:00 2007 UTC (15 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.21.2.4: +66 -81 lines
Diff to previous 1.21.2.4 (colored) to branchpoint 1.21 (colored)

sync with head

Revision 1.37 / (download) - annotate - [select for diffs], Thu Dec 6 13:58:38 2007 UTC (15 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base2, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, cube-autoconf-base, cube-autoconf
Branch point for: bouyer-xeni386
Changes since 1.36: +2 -9 lines
Diff to previous 1.36 (colored)

Share cpu_intr_p() with xen. Why xen has its own intr.c is a mystery.

Revision 1.28.4.13 / (download) - annotate - [select for diffs], Mon Dec 3 19:04:31 2007 UTC (15 years, 2 months ago) by ad
Branch: vmlocking
Changes since 1.28.4.12: +5 -9 lines
Diff to previous 1.28.4.12 (colored) to branchpoint 1.28 (colored) next main 1.29 (colored)

Sync with HEAD.

Revision 1.28.4.12 / (download) - annotate - [select for diffs], Mon Dec 3 18:40:16 2007 UTC (15 years, 2 months ago) by ad
Branch: vmlocking
Changes since 1.28.4.11: +4 -4 lines
Diff to previous 1.28.4.11 (colored) to branchpoint 1.28 (colored)

Sync with HEAD.

Revision 1.29.8.3 / (download) - annotate - [select for diffs], Mon Dec 3 16:14:21 2007 UTC (15 years, 2 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.29.8.2: +3 -3 lines
Diff to previous 1.29.8.2 (colored) to branchpoint 1.29 (colored)

Sync with HEAD.

Revision 1.36 / (download) - annotate - [select for diffs], Mon Dec 3 15:34:27 2007 UTC (15 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: vmlocking2-base1, vmlocking-nbase
Branch point for: vmlocking2
Changes since 1.35: +72 -80 lines
Diff to previous 1.35 (colored)

Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.

Revision 1.35 / (download) - annotate - [select for diffs], Wed Nov 28 16:28:44 2007 UTC (15 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.34: +3 -3 lines
Diff to previous 1.34 (colored)

Use the new atomic ops.

Revision 1.29.10.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:23:49 2007 UTC (15 years, 3 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.29: +32 -10 lines
Diff to previous 1.29 (colored)

sync with HEAD

Revision 1.21.2.4 / (download) - annotate - [select for diffs], Sat Oct 27 11:29:01 2007 UTC (15 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.21.2.3: +4 -6 lines
Diff to previous 1.21.2.3 (colored) to branchpoint 1.21 (colored)

sync with head.

Revision 1.34 / (download) - annotate - [select for diffs], Wed Oct 17 19:58:16 2007 UTC (15 years, 3 months ago) by garbled
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, jmcneill-base, bouyer-xenamd64-base2, bouyer-xenamd64-base
Branch point for: mjf-devfs
Changes since 1.33: +2 -2 lines
Diff to previous 1.33 (colored)

Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree.  Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches.  The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.

Revision 1.28.12.2 / (download) - annotate - [select for diffs], Tue Oct 16 18:23:58 2007 UTC (15 years, 3 months ago) by garbled
Branch: ppcoea-renovation
Changes since 1.28.12.1: +4 -6 lines
Diff to previous 1.28.12.1 (colored) to branchpoint 1.28 (colored) next main 1.29 (colored)

Sync with HEAD

Revision 1.32.2.1 / (download) - annotate - [select for diffs], Sun Oct 14 11:47:52 2007 UTC (15 years, 3 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.32: +4 -6 lines
Diff to previous 1.32 (colored) next main 1.33 (colored)

sync with head.

Revision 1.28.4.11 / (download) - annotate - [select for diffs], Wed Oct 10 23:08:12 2007 UTC (15 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.28.4.10: +3 -3 lines
Diff to previous 1.28.4.10 (colored) to branchpoint 1.28 (colored)

Pull in sys/cpu.h, not machine/cpu.h.

Revision 1.28.4.10 / (download) - annotate - [select for diffs], Wed Oct 10 21:25:57 2007 UTC (15 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.28.4.9: +9 -2 lines
Diff to previous 1.28.4.9 (colored) to branchpoint 1.28 (colored)

Share cpu_intr_p() between amd64/i386.

Revision 1.28.4.9 / (download) - annotate - [select for diffs], Tue Oct 9 16:34:42 2007 UTC (15 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.28.4.8: +4 -2 lines
Diff to previous 1.28.4.8 (colored) to branchpoint 1.28 (colored)

Sync with head.

Revision 1.28.4.8 / (download) - annotate - [select for diffs], Tue Oct 9 15:22:08 2007 UTC (15 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.28.4.7: +3 -9 lines
Diff to previous 1.28.4.7 (colored) to branchpoint 1.28 (colored)

Sync with head.

Revision 1.28.4.7 / (download) - annotate - [select for diffs], Tue Oct 9 13:38:45 2007 UTC (15 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.28.4.6: +15 -7 lines
Diff to previous 1.28.4.6 (colored) to branchpoint 1.28 (colored)

Sync with head.

Revision 1.33 / (download) - annotate - [select for diffs], Sun Oct 7 14:23:42 2007 UTC (15 years, 4 months ago) by joerg
Branch: MAIN
CVS Tags: yamt-x86pmap-base3, vmlocking-base, ppcoea-renovation-base, bouyer-xenamd64
Changes since 1.32: +4 -6 lines
Diff to previous 1.32 (colored)

Merge intr.c (1.29.8.2) and ioapic.c (1.19.8.5) changes from jmcneill-pm:

Always write entries to all IOAPIC pins. The first 16 pins are
threated as ISA IRQs by default, the others like PCI IRQs. This avoids
inconsistencies based on incomplete BIOS setups. This resulted in early
ACPI SCI notifications to be lost, effectively breaking the Embedded
Controller on cold start on many notebooks.

Don't special case the IOAPIC setup between ioapic_attach and
ioapic_enable, always setup the correct redirections. Depend on
splhigh/disable_intr to stop interrupts and don't keep them masked in
the IOAPIC. This avoids unacknowleged edge interrupts and fixing the problem
of broken PS/2 keyboard when hitting keys during early boot.

Revision 1.29.8.2 / (download) - annotate - [select for diffs], Sat Oct 6 02:42:33 2007 UTC (15 years, 4 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.29.8.1: +4 -6 lines
Diff to previous 1.29.8.1 (colored) to branchpoint 1.29 (colored)

Getting interrupts early is better then interrupts stuck in the IOAPIC
in pending case. Always mask/unmask interrupts before touching the
IOAPIC, the worst case of unmask is still better then before as it just
means we end up with a pending flag set due to the early splhigh.

Revision 1.28.12.1 / (download) - annotate - [select for diffs], Wed Oct 3 19:25:54 2007 UTC (15 years, 4 months ago) by garbled
Branch: ppcoea-renovation
Changes since 1.28: +87 -21 lines
Diff to previous 1.28 (colored)

Sync with HEAD

Revision 1.29.8.1 / (download) - annotate - [select for diffs], Mon Sep 3 16:47:48 2007 UTC (15 years, 5 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.29: +30 -6 lines
Diff to previous 1.29 (colored)

Sync with HEAD.

Revision 1.21.2.3 / (download) - annotate - [select for diffs], Mon Sep 3 14:31:26 2007 UTC (15 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.21.2.2: +87 -21 lines
Diff to previous 1.21.2.2 (colored) to branchpoint 1.21 (colored)

sync with head.

Revision 1.29.4.1 / (download) - annotate - [select for diffs], Mon Sep 3 10:19:53 2007 UTC (15 years, 5 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.29: +30 -6 lines
Diff to previous 1.29 (colored) next main 1.30 (colored)

Sync with HEAD.

Revision 1.32 / (download) - annotate - [select for diffs], Thu Aug 30 11:32:09 2007 UTC (15 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base2, yamt-x86pmap-base, nick-csl-alignment-base5
Branch point for: yamt-x86pmap
Changes since 1.31: +6 -7 lines
Diff to previous 1.31 (colored)

amd64 doesn't have opt_noredzone.h. Just test DIAGNOSTIC instead.

Revision 1.31 / (download) - annotate - [select for diffs], Wed Aug 29 23:38:06 2007 UTC (15 years, 5 months ago) by ad
Branch: MAIN
Changes since 1.30: +6 -4 lines
Diff to previous 1.30 (colored)

Merge most x86 changes from the vmlocking branch, except the threaded soft
interrupt stuff. This is mostly comprised of changes to the pmap modules to
work on multiprocessor systems without kernel_lock, and changes to speed up
tlb shootdowns.

Revision 1.30 / (download) - annotate - [select for diffs], Wed Aug 29 22:21:51 2007 UTC (15 years, 5 months ago) by dyoung
Branch: MAIN
Changes since 1.29: +28 -5 lines
Diff to previous 1.29 (colored)

Add interrupt stack "red zones".  Reserve and unmap the virtual
pages immediately above and below the x86 interrupt stack so that
both an overgrown interrupt stack and other faults produce a page
fault trap.  Condition this on the historical option NOREDZONE,
for now.

Revision 1.28.4.6 / (download) - annotate - [select for diffs], Thu Aug 23 13:19:00 2007 UTC (15 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.28.4.5: +3 -3 lines
Diff to previous 1.28.4.5 (colored) to branchpoint 1.28 (colored)

Fix some more bugs.

Revision 1.28.4.5 / (download) - annotate - [select for diffs], Sun Jul 29 10:18:51 2007 UTC (15 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.28.4.4: +2 -38 lines
Diff to previous 1.28.4.4 (colored) to branchpoint 1.28 (colored)

- When zeroing/copying pages, use SSE2 movtni to avoid polluting the cache.
- By default, align assembly routines on 32-byte starting boundaries.
- There are now 8 interrupt priority levels, half of which are softints.
  Update intrdefs.h to match.
- Always clear/set spinlock words - removes lots of ifdefs.
- Remove the horrible ci_self150 hack that I introduced.
- Overhaul how TLB shootdown is performed. Inspired by a similar change in
  OpenBSD but implemented quite differently. This should be a lot faster
  but I have not benchmarked it yet.

Revision 1.28.4.4 / (download) - annotate - [select for diffs], Sun Jul 15 13:17:16 2007 UTC (15 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.28.4.3: +44 -2 lines
Diff to previous 1.28.4.3 (colored) to branchpoint 1.28 (colored)

Sync with head.

Revision 1.28.6.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:03:21 2007 UTC (15 years, 7 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.28: +59 -17 lines
Diff to previous 1.28 (colored) next main 1.29 (colored)

Sync with head.

Revision 1.29 / (download) - annotate - [select for diffs], Mon Jul 9 20:52:38 2007 UTC (15 years, 7 months ago) by ad
Branch: MAIN
CVS Tags: nick-csl-alignment-base, mjf-ufs-trans-base, matt-mips64-base, matt-mips64, hpcarm-cleanup
Branch point for: nick-csl-alignment, matt-armv6, jmcneill-pm
Changes since 1.28: +59 -17 lines
Diff to previous 1.28 (colored)

Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements

Revision 1.28.4.3 / (download) - annotate - [select for diffs], Sat Jul 7 11:56:10 2007 UTC (15 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.28.4.2: +3 -4 lines
Diff to previous 1.28.4.2 (colored) to branchpoint 1.28 (colored)

- Remove the interrupt priority range and use 'kernel RT' instead,
  since only soft interrupts are threaded.
- Rename l->l_pinned to l->l_switchto. It might be useful for (re-)
  implementing SA or doors.
- Simplify soft interrupt dispatch so MD code is doing as little as
  possible that is new.

Revision 1.28.4.2 / (download) - annotate - [select for diffs], Sun Jun 17 21:30:42 2007 UTC (15 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.28.4.1: +93 -55 lines
Diff to previous 1.28.4.1 (colored) to branchpoint 1.28 (colored)

- Increase the number of thread priorities from 128 to 256. How the space
  is set up is to be revisited.
- Implement soft interrupts as kernel threads. A generic implementation
  is provided, with hooks for fast-path MD code that can run the interrupt
  threads over the top of other threads executing in the kernel.
- Split vnode::v_flag into three fields, depending on how the flag is
  locked (by the interlock, by the vnode lock, by the file system).
- Miscellaneous locking fixes and improvements.

Revision 1.28.4.1 / (download) - annotate - [select for diffs], Sun Apr 29 12:37:41 2007 UTC (15 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.28: +25 -19 lines
Diff to previous 1.28 (colored)

Replace another simplelock.

Revision 1.28.10.1 / (download) - annotate - [select for diffs], Wed Apr 18 04:45:13 2007 UTC (15 years, 9 months ago) by thorpej
Branch: thorpej-atomic
Changes since 1.28: +4 -4 lines
Diff to previous 1.28 (colored) next main 1.29 (colored)

Convert i386 and amd64 to the new atomic ops API.

Revision 1.27.2.1 / (download) - annotate - [select for diffs], Tue Feb 27 16:53:25 2007 UTC (15 years, 11 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.27: +3 -3 lines
Diff to previous 1.27 (colored) next main 1.28 (colored)

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

Revision 1.21.2.2 / (download) - annotate - [select for diffs], Mon Feb 26 09:08:51 2007 UTC (15 years, 11 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.21.2.1: +8 -9 lines
Diff to previous 1.21.2.1 (colored) to branchpoint 1.21 (colored)

sync with head.

Revision 1.28 / (download) - annotate - [select for diffs], Wed Feb 21 22:59:55 2007 UTC (15 years, 11 months ago) by thorpej
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, thorpej-atomic-base, reinoud-bufcleanup, ad-audiomp-base, ad-audiomp
Branch point for: vmlocking, thorpej-atomic, ppcoea-renovation, mjf-ufs-trans
Changes since 1.27: +3 -3 lines
Diff to previous 1.27 (colored)

Replace the Mach-derived boolean_t type with the C99 bool type.  A
future commit will replace use of TRUE and FALSE with true and false.

Revision 1.27 / (download) - annotate - [select for diffs], Fri Feb 9 21:55:14 2007 UTC (16 years ago) by ad
Branch: MAIN
CVS Tags: post-newlock2-merge
Branch point for: yamt-idlelwp
Changes since 1.26: +6 -6 lines
Diff to previous 1.26 (colored)

Merge newlock2 to head.

Revision 1.24.4.4 / (download) - annotate - [select for diffs], Thu Feb 1 08:48:12 2007 UTC (16 years ago) by ad
Branch: newlock2
Changes since 1.24.4.3: +3 -4 lines
Diff to previous 1.24.4.3 (colored) to branchpoint 1.24 (colored) next main 1.25 (colored)

Sync with head.

Revision 1.26 / (download) - annotate - [select for diffs], Wed Jan 24 13:08:13 2007 UTC (16 years ago) by hubertf
Branch: MAIN
CVS Tags: newlock2-nbase, newlock2-base
Changes since 1.25: +3 -4 lines
Diff to previous 1.25 (colored)

Remove duplicate #includes, patch contributed in private mail
by Slava Semushin <slava.semushin@gmail.com>.

To verify that no nasty side effects of duplicate includes (or their
removal) have an effect here, I've compiled an i386/ALL kernel with
and without the patch, and the only difference in the resulting .o
files was in shifted line numbers in some assert() calls.
The comparison of the .o files was based on the output of "objdump -D".

Thanks to martin@ for the input on testing.

Revision 1.24.4.3 / (download) - annotate - [select for diffs], Fri Jan 12 01:01:01 2007 UTC (16 years, 1 month ago) by ad
Branch: newlock2
Changes since 1.24.4.2: +12 -2 lines
Diff to previous 1.24.4.2 (colored) to branchpoint 1.24 (colored)

Sync with head.

Revision 1.24.4.2 / (download) - annotate - [select for diffs], Thu Jan 11 22:22:58 2007 UTC (16 years, 1 month ago) by ad
Branch: newlock2
Changes since 1.24.4.1: +4 -4 lines
Diff to previous 1.24.4.1 (colored) to branchpoint 1.24 (colored)

Checkpoint work in progress.

Revision 1.21.2.1 / (download) - annotate - [select for diffs], Sat Dec 30 20:47:22 2006 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.21: +42 -6 lines
Diff to previous 1.21 (colored)

sync with head.

Revision 1.24.6.1 / (download) - annotate - [select for diffs], Sun Dec 10 07:16:43 2006 UTC (16 years, 2 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.24: +12 -2 lines
Diff to previous 1.24 (colored) next main 1.25 (colored)

sync with head.

Revision 1.25 / (download) - annotate - [select for diffs], Fri Dec 8 15:05:18 2006 UTC (16 years, 2 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3
Changes since 1.24: +12 -2 lines
Diff to previous 1.24 (colored)

- pass intrframe by-pointer, not by-value.
- make i386 and xen use per-cpu interrupt stack.

xen part is reviewed by Manuel Bouyer.

Revision 1.24.4.1 / (download) - annotate - [select for diffs], Fri Nov 17 16:34:34 2006 UTC (16 years, 2 months ago) by ad
Branch: newlock2
Changes since 1.24: +6 -6 lines
Diff to previous 1.24 (colored)

Checkpoint work in progress.

Revision 1.22.4.1 / (download) - annotate - [select for diffs], Sat Sep 9 02:44:49 2006 UTC (16 years, 5 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.22: +32 -6 lines
Diff to previous 1.22 (colored) next main 1.23 (colored)

sync with head

Revision 1.22.8.1 / (download) - annotate - [select for diffs], Fri Aug 11 15:43:16 2006 UTC (16 years, 6 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.22: +32 -6 lines
Diff to previous 1.22 (colored) next main 1.23 (colored)

sync with head

Revision 1.22.16.1 / (download) - annotate - [select for diffs], Thu Jul 13 17:49:06 2006 UTC (16 years, 6 months ago) by gdamore
Branch: gdamore-uart
Changes since 1.22: +32 -6 lines
Diff to previous 1.22 (colored) next main 1.23 (colored)

Merge from HEAD.

Revision 1.24 / (download) - annotate - [select for diffs], Sat Jul 8 21:23:38 2006 UTC (16 years, 7 months ago) by christos
Branch: MAIN
CVS Tags: yamt-splraiseipl-base2, yamt-splraiseipl-base, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, rpaulo-netinet-merge-pcb-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, netbsd-4, matt-nb4-arm-base, matt-nb4-arm, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-splraiseipl, newlock2
Changes since 1.23: +2 -4 lines
Diff to previous 1.23 (colored)

remove INTRDEBUG

Revision 1.23 / (download) - annotate - [select for diffs], Tue Jul 4 00:30:23 2006 UTC (16 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.22: +34 -6 lines
Diff to previous 1.22 (colored)

Apply fvdl's acpi pci interrupt configuration code.
- MPACPI is no more.
- MPACPI_SCANPCI -> ACPI_SCANPCI

Revision 1.22 / (download) - annotate - [select for diffs], Sun Dec 11 12:19:47 2005 UTC (17 years, 2 months ago) by christos
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, 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, elad-kernelauth-base, elad-kernelauth, chap-midi-nbase, chap-midi-base, chap-midi
Branch point for: yamt-pdpolicy, rpaulo-netinet-merge-pcb, gdamore-uart
Changes since 1.21: +2 -2 lines
Diff to previous 1.21 (colored)

merge ktrace-lwp.

Revision 1.3.2.6 / (download) - annotate - [select for diffs], Thu Nov 10 14:00:20 2005 UTC (17 years, 3 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.3.2.5: +3 -3 lines
Diff to previous 1.3.2.5 (colored) next main 1.4 (colored)

Sync with HEAD. Here we go again...

Revision 1.21 / (download) - annotate - [select for diffs], Sun May 29 21:37:03 2005 UTC (17 years, 8 months ago) by christos
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: yamt-lazymbuf
Changes since 1.20: +3 -3 lines
Diff to previous 1.20 (colored)

Sprinkle const.

Revision 1.3.2.5 / (download) - annotate - [select for diffs], Tue Nov 2 07:51:06 2004 UTC (18 years, 3 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.3.2.4: +38 -20 lines
Diff to previous 1.3.2.4 (colored)

Sync with HEAD.

Revision 1.20 / (download) - annotate - [select for diffs], Sat Oct 23 21:27:35 2004 UTC (18 years, 3 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, yamt-km-base2, yamt-km-base, yamt-km, netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, 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, netbsd-3, kent-audio2-base, kent-audio2, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Changes since 1.19: +4 -4 lines
Diff to previous 1.19 (colored)

don't reference kernel_lock directly.

Revision 1.19 / (download) - annotate - [select for diffs], Sat Oct 23 21:24:05 2004 UTC (18 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.18: +36 -18 lines
Diff to previous 1.18 (colored)

to determine if an interrupt needs to grab the kernel lock or not,
check interrupt's own ipl rather than cpu's current ipl.

Revision 1.3.2.4 / (download) - annotate - [select for diffs], Tue Sep 21 13:24:30 2004 UTC (18 years, 4 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.3.2.3: +2 -2 lines
Diff to previous 1.3.2.3 (colored)

Fix the sync with head I botched.

Revision 1.3.2.3 / (download) - annotate - [select for diffs], Sat Sep 18 14:42:43 2004 UTC (18 years, 4 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.3.2.2: +2 -2 lines
Diff to previous 1.3.2.2 (colored)

Sync with HEAD.

Revision 1.3.2.2 / (download) - annotate - [select for diffs], Wed Aug 25 06:57:20 2004 UTC (18 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.3.2.1: +32 -3 lines
Diff to previous 1.3.2.1 (colored)

Sync with HEAD.

Revision 1.18 / (download) - annotate - [select for diffs], Fri Aug 20 14:12:52 2004 UTC (18 years, 5 months ago) by wennmach
Branch: MAIN
Changes since 1.17: +32 -3 lines
Diff to previous 1.17 (colored)

o Split copyright into mycroft and UCB parts
o remove advertising clause from UCB part

Revision 1.3.2.1 / (download) - annotate - [select for diffs], Tue Aug 3 10:43:05 2004 UTC (18 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.3: +203 -17 lines
Diff to previous 1.3 (colored)

Sync with HEAD

Revision 1.14.2.2 / (download) - annotate - [select for diffs], Fri Jul 2 22:38:26 2004 UTC (18 years, 7 months ago) by he
Branch: netbsd-2-0
CVS Tags: netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2
Changes since 1.14.2.1: +41 -2 lines
Diff to previous 1.14.2.1 (colored) to branchpoint 1.14 (colored) next main 1.15 (colored)

Pull up revision 1.17 (requested by mycroft in ticket #582):
  This is clearly derived from the old i386/isa/intr.c, so
  insert the copyright from there.

Revision 1.17 / (download) - annotate - [select for diffs], Fri Jul 2 16:05:57 2004 UTC (18 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.16: +41 -2 lines
Diff to previous 1.16 (colored)

Ahem.  Parts of this are *clearly* derived from the old i386/isa/intr.c, so
put back the copyright from there.

Revision 1.14.2.1 / (download) - annotate - [select for diffs], Sun May 9 08:30:39 2004 UTC (18 years, 9 months ago) by jdc
Branch: netbsd-2-0
Changes since 1.14: +3 -3 lines
Diff to previous 1.14 (colored)

Pull up revision 1.16 (requested by kochi in ticket #265)

Fix parameters for PPB_INTERRUPT_SWIZZLE macro.

The macro expects pin = 1..4 while previously passing 0..3.

Revision 1.16 / (download) - annotate - [select for diffs], Wed May 5 14:08:24 2004 UTC (18 years, 9 months ago) by kochi
Branch: MAIN
Changes since 1.15: +3 -3 lines
Diff to previous 1.15 (colored)

Fix parameters for PPB_INTERRUPT_SWIZZLE macro.

The macro expects pin = 1..4 while previously passing 0..3.

Revision 1.15 / (download) - annotate - [select for diffs], Sat Apr 10 14:49:55 2004 UTC (18 years, 10 months ago) by kochi
Branch: MAIN
Changes since 1.14: +7 -10 lines
Diff to previous 1.14 (colored)

use designated initializer for struct pic initializers.
just for readability.

Revision 1.14 / (download) - annotate - [select for diffs], Fri Feb 20 18:04:06 2004 UTC (18 years, 11 months ago) by yamt
Branch: MAIN
CVS Tags: netbsd-2-0-base
Branch point for: netbsd-2-0
Changes since 1.13: +4 -2 lines
Diff to previous 1.13 (colored)

don't assume that bus on intr_extra_buses has non-null pci_bridge_tag.
pchb's second bus doesn't have it.

ok'ed by Frank van der Linden.

Revision 1.13 / (download) - annotate - [select for diffs], Mon Nov 17 22:20:00 2003 UTC (19 years, 2 months ago) by fvdl
Branch: MAIN
Changes since 1.12: +3 -3 lines
Diff to previous 1.12 (colored)

Set the bridge tag correctly when adding an extra PCI bus.

Revision 1.12 / (download) - annotate - [select for diffs], Thu Nov 6 23:04:03 2003 UTC (19 years, 3 months ago) by fvdl
Branch: MAIN
Changes since 1.11: +3 -3 lines
Diff to previous 1.11 (colored)

intr_find_pcibridge returns 0 or error, not < 0.

Revision 1.11 / (download) - annotate - [select for diffs], Thu Oct 30 21:19:54 2003 UTC (19 years, 3 months ago) by fvdl
Branch: MAIN
Changes since 1.10: +88 -23 lines
Diff to previous 1.10 (colored)

* keep track of PCI buses that aren't known by firmware, but are found
  by NetBSD
* use this info in in intr_find_mpmapping
* get rid of the last argument to intr_find_mpmapping, it was redundant

Revision 1.10 / (download) - annotate - [select for diffs], Wed Oct 22 01:53:49 2003 UTC (19 years, 3 months ago) by fvdl
Branch: MAIN
Changes since 1.9: +4 -2 lines
Diff to previous 1.9 (colored)

Only declare intr_scan_bus if NIOAPIC > 0.

Revision 1.9 / (download) - annotate - [select for diffs], Tue Oct 21 23:25:48 2003 UTC (19 years, 3 months ago) by fvdl
Branch: MAIN
Changes since 1.8: +33 -25 lines
Diff to previous 1.8 (colored)

Correctly walk up the PCI bus tree to find an interrupt match with
a swizzled pin.

Revision 1.8 / (download) - annotate - [select for diffs], Thu Oct 16 22:56:29 2003 UTC (19 years, 3 months ago) by fvdl
Branch: MAIN
Changes since 1.7: +33 -5 lines
Diff to previous 1.7 (colored)

Add hooks and structures to allow the MP table intr mapping code a
better shot at finding a mapping. For PCI interrupts, if a bus
has no mappings, try its parent, with the swizzled pin, and the
bridge's device number.

Revision 1.7 / (download) - annotate - [select for diffs], Thu Sep 18 19:31:19 2003 UTC (19 years, 4 months ago) by skd
Branch: MAIN
Changes since 1.6: +11 -3 lines
Diff to previous 1.6 (colored)

Fix for ioapic irq routing.  This fixes kern/22728.
Approved by fvdl.

Revision 1.6 / (download) - annotate - [select for diffs], Sat Sep 6 17:44:40 2003 UTC (19 years, 5 months ago) by fvdl
Branch: MAIN
Changes since 1.5: +36 -2 lines
Diff to previous 1.5 (colored)

Move the bulk of pci_intr_string into a seperate intr_string function. Use
that new function to print the pciide compat interrupt in pciide_machdep.c.
Share pciide_machdep.c between amd64 and i386.

Revision 1.5 / (download) - annotate - [select for diffs], Wed Aug 20 21:48:47 2003 UTC (19 years, 5 months ago) by fvdl
Branch: MAIN
Changes since 1.4: +6 -6 lines
Diff to previous 1.4 (colored)

Pass pointers to frames from assembly, do not use the 'frame on stack
as argument passed by value' trick, as gcc 3.3.x makes (valid) assumptions
about the stack that will not be true. Costs 2 instructions per trap/syscall
on i386, 4 per interrupt for MP. One instruction per trap/syscall on amd64,
2 per interrupt for MP. I expect gcc 3.3.1 to make up for this by better
optimization (it'd better..)

While here, make amd64 compile again by using subr_mbr_disk.c

Revision 1.4 / (download) - annotate - [select for diffs], Mon Jul 14 22:32:39 2003 UTC (19 years, 6 months ago) by lukem
Branch: MAIN
Changes since 1.3: +4 -1 lines
Diff to previous 1.3 (colored)

add __KERNEL_RCSID()

Revision 1.3 / (download) - annotate - [select for diffs], Mon Mar 3 22:16:20 2003 UTC (19 years, 11 months ago) by fvdl
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.2: +3 -3 lines
Diff to previous 1.2 (colored)

The IDT is an array of struct gate_descriptor.

Revision 1.2 / (download) - annotate - [select for diffs], Sun Mar 2 18:27:15 2003 UTC (19 years, 11 months ago) by fvdl
Branch: MAIN
Changes since 1.1: +1 -6 lines
Diff to previous 1.1 (colored)

Clean up some unneeded "mca.h" and "eisa.h" includes, make one that is
needed dependent on !__x86_64__. To be revisited later.

Revision 1.1 / (download) - annotate - [select for diffs], Wed Feb 26 21:26:12 2003 UTC (19 years, 11 months ago) by fvdl
Branch: MAIN

Move some files out of i386 into x86, so that they can be shared with
other ports.

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>