The NetBSD Project

CVS log for src/sys/arch/arm/broadcom/bcm2835_intr.c

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.44 / (download) - annotate - [select for diffs], Sat Nov 19 09:29:26 2022 UTC (15 months, 1 week ago) by yamt
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, HEAD
Changes since 1.43: +26 -21 lines
Diff to previous 1.43 (colored)

bcm2835_intr.c: fix !MULTIPROCESSOR

Tested on Raspberry PI 3 model A+.

Revision 1.43 / (download) - annotate - [select for diffs], Sat Jun 25 12:41:55 2022 UTC (20 months, 1 week ago) by jmcneill
Branch: MAIN
CVS Tags: bouyer-sunxi-drm-base, bouyer-sunxi-drm
Changes since 1.42: +3 -2 lines
Diff to previous 1.42 (colored)

pic: Update ci_cpl in pic_set_priority callback.

Not all ICs need interrupts disabled to update the priority. DAIF accesses
are not cheap, so push the update of ci_cpl from pic_set_priority to the
IC's pic_set_priority callback, and let the IC driver determine whether
or not it needs interrupts disabled.

Revision 1.42 / (download) - annotate - [select for diffs], Sun Oct 31 16:23:47 2021 UTC (2 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.41: +21 -95 lines
Diff to previous 1.41 (colored)

Rework Arm (32bit and 64bit) AP startup so that cpu_hatch doesn't sleep.

The AP initialisation code in cpu_init_secondary_processor will read and
initialise the required system registers and state for the BP to attach
and report.

Rework the interrupt handler code for this new sequence. Thankfully,
this removes a bunch of code for bcm2836mp.

The VFP detection handler on <= armv7 relies on the global undefined
handler being in place until the BP attaches vfp. That is, after the
APs have been spun up.

gicv3_its.c has a serialisation issue which is protected against in
the gicv3_its_cpu_init, which is called from cpu_hatch, with a spin
lock. The serialisation issue needs addressing more completely.

Tested on RPI3, Apple M1, QEMU, and lx2k

Fixes PR port-arm/56264:
   diagnostic assertion "l->l_stat == LSONPROC" failed on RPI3

Revision 1.41 / (download) - annotate - [select for diffs], Sun Sep 12 03:58:52 2021 UTC (2 years, 5 months ago) by nat
Branch: MAIN
Changes since 1.40: +3 -3 lines
Diff to previous 1.40 (colored)

Fix build for uniprocessor.

Revision 1.40 / (download) - annotate - [select for diffs], Wed Sep 1 22:11:35 2021 UTC (2 years, 6 months ago) by jmcneill
Branch: MAIN
Changes since 1.39: +4 -4 lines
Diff to previous 1.39 (colored)

Install IPI handler with non-NULL context.

A side effect of interrupt handlers with NULL context when using armpic
is that the interrupt handler is only called from interrupt context, not
when lowering spl!

Revision 1.39 / (download) - annotate - [select for diffs], Wed Sep 1 03:08:08 2021 UTC (2 years, 6 months ago) by rin
Branch: MAIN
Changes since 1.38: +30 -16 lines
Diff to previous 1.38 (colored)

PR port-arm/56264

Register all PICs when bcmicu1 is attached, in order to avoid calling
pic_add() from cpu_hatch(), which blocks for aarch64 kernel on RPI3.
This prevented MP kernel to boot due to KASSERT failure as described
in the PR.

This is a kind of a workaround; the real fix should be to

(a) reorganize cpu_hatch() for aarch64 and arm:
http://mail-index.netbsd.org/port-arm/2021/06/21/msg007320.html

(b) or change MI abstraction of ``MP ready'':
http://mail-index.netbsd.org/port-arm/2021/06/22/msg007327.html

However, still, this fix does not bring about any penalty, and it is
not good to leave RPI3 broken for months...

Tested on RPI3 (aarch64 MP, armv7hf MP) as well as RPI1 (armv6hf UP).

Revision 1.32.6.2 / (download) - annotate - [select for diffs], Sat Apr 3 22:28:16 2021 UTC (2 years, 10 months ago) by thorpej
Branch: thorpej-futex
Changes since 1.32.6.1: +73 -25 lines
Diff to previous 1.32.6.1 (colored) to branchpoint 1.32 (colored) next main 1.33 (colored)

Sync with HEAD.

Revision 1.38 / (download) - annotate - [select for diffs], Mon Mar 8 14:22:42 2021 UTC (2 years, 11 months ago) by mlelstv
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.37: +45 -2 lines
Diff to previous 1.37 (colored)

Move interrupt register definitions to driver.

Revision 1.37 / (download) - annotate - [select for diffs], Wed Jan 27 03:10:19 2021 UTC (3 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.36: +5 -5 lines
Diff to previous 1.36 (colored)

Rename of_match_compat_data() to of_compatible_match().  Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.

Revision 1.36 / (download) - annotate - [select for diffs], Mon Jan 25 14:20:38 2021 UTC (3 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.35: +3 -3 lines
Diff to previous 1.35 (colored)

Since we're using designated initialisers for compat data, we should
use a completely empty initializer for the sentinel.

Revision 1.35 / (download) - annotate - [select for diffs], Tue Jan 19 00:38:52 2021 UTC (3 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.34: +17 -13 lines
Diff to previous 1.34 (colored)

Use device_compatible_entry / of_search_compatible() rather than
matching against multiple sets of compatibility strings.

Revision 1.34 / (download) - annotate - [select for diffs], Fri Jan 15 00:38:22 2021 UTC (3 years, 1 month ago) by jmcneill
Branch: MAIN
Changes since 1.33: +15 -14 lines
Diff to previous 1.33 (colored)

Add 'const char *xname' arg to fdtbus_interrupt_controller_func .establish

Revision 1.32.6.1 / (download) - annotate - [select for diffs], Sun Jan 3 16:34:51 2021 UTC (3 years, 1 month ago) by thorpej
Branch: thorpej-futex
Changes since 1.32: +4 -4 lines
Diff to previous 1.32 (colored)

Sync w/ HEAD.

Revision 1.33 / (download) - annotate - [select for diffs], Wed Dec 16 19:49:04 2020 UTC (3 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.32: +4 -4 lines
Diff to previous 1.32 (colored)

interupt -> interrupt

Revision 1.15.4.3 / (download) - annotate - [select for diffs], Mon Apr 13 08:03:33 2020 UTC (3 years, 10 months ago) by martin
Branch: phil-wifi
Changes since 1.15.4.2: +18 -4 lines
Diff to previous 1.15.4.2 (colored) to branchpoint 1.15 (colored) next main 1.16 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.15.4.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:07:28 2020 UTC (3 years, 10 months ago) by martin
Branch: phil-wifi
Changes since 1.15.4.1: +149 -11 lines
Diff to previous 1.15.4.1 (colored) to branchpoint 1.15 (colored)

Merge changes from current as of 20200406

Revision 1.29.2.2 / (download) - annotate - [select for diffs], Sat Feb 29 20:18:18 2020 UTC (4 years ago) by ad
Branch: ad-namecache
Changes since 1.29.2.1: +7 -7 lines
Diff to previous 1.29.2.1 (colored) to branchpoint 1.29 (colored) next main 1.30 (colored)

Sync with head.

Revision 1.32 / (download) - annotate - [select for diffs], Sat Feb 15 08:16:11 2020 UTC (4 years ago) by skrll
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, bouyer-xenpvh, ad-namecache-base3
Branch point for: thorpej-futex
Changes since 1.31: +7 -7 lines
Diff to previous 1.31 (colored)

Various updates and improvements to cpu start up on arm/aarch64

- start sharing more code around the AP startup messaging.
- call arm_cpu_topology_set early so that ci_core_id is available for
  drivers, e.g. bcm2835_intr.c
- both arm and aarch64 now have
  - a static cpu_info_store array
  - the same arm_cpu_{hatched,mbox}

Revision 1.29.2.1 / (download) - annotate - [select for diffs], Sat Jan 25 22:38:38 2020 UTC (4 years, 1 month ago) by ad
Branch: ad-namecache
Changes since 1.29: +7 -7 lines
Diff to previous 1.29 (colored)

Sync with head.

Revision 1.31 / (download) - annotate - [select for diffs], Mon Jan 20 06:55:35 2020 UTC (4 years, 1 month ago) by mrg
Branch: MAIN
CVS Tags: ad-namecache-base2
Changes since 1.30: +7 -7 lines
Diff to previous 1.30 (colored)

use arm_cpu_mpidr() and fix arm64 builds.

Revision 1.30 / (download) - annotate - [select for diffs], Sun Jan 19 16:53:20 2020 UTC (4 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.29: +7 -7 lines
Diff to previous 1.29 (colored)

ci_core_id isn't setup early enough after recent arm_cpu_topology
changes, so use ci_mpidr as a stop gap fix for cpuid

Revision 1.29 / (download) - annotate - [select for diffs], Thu Dec 26 11:09:11 2019 UTC (4 years, 2 months ago) by skrll
Branch: MAIN
CVS Tags: ad-namecache-base1, ad-namecache-base
Branch point for: ad-namecache
Changes since 1.28: +10 -11 lines
Diff to previous 1.28 (colored)

Use PIC_IRQBASE_ALLOC for all pic_add calls and track/use each cpu irqbase

Revision 1.28 / (download) - annotate - [select for diffs], Wed Dec 25 10:49:29 2019 UTC (4 years, 2 months ago) by skrll
Branch: MAIN
Changes since 1.27: +11 -4 lines
Diff to previous 1.27 (colored)

Use PIC_IRQBASE_ALLOC and allow conditional attachment of interrupt
handlers (for RPI4)

Revision 1.27 / (download) - annotate - [select for diffs], Fri Nov 29 17:44:27 2019 UTC (4 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.26: +9 -7 lines
Diff to previous 1.26 (colored)

Account for the IRQ offset on the bcm2836.

Revision 1.26 / (download) - annotate - [select for diffs], Thu Nov 28 15:35:51 2019 UTC (4 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.25: +39 -14 lines
Diff to previous 1.25 (colored)

Jared points out that interrupt_distribute(9) assumes that any interrupt
handle can be used as an input to the MD interrupt_distribute implementation
so we are forced to return the handle we got back from intr_establish().
Upshot is that the input to bcm2835_icu_fdt_disestablish() is ambiguous for
shared IRQs, rendering them un-disestablishable.

While here, make sure to actually bump the intr_refcnt, and add an
assertion on the value we get back from bcm2835_icu_fdt_decode_irq().

Revision 1.25 / (download) - annotate - [select for diffs], Thu Nov 28 01:08:06 2019 UTC (4 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.24: +110 -5 lines
Diff to previous 1.24 (colored)

There are some devices on the bcm283x that share IRQs (notably, the i2c
controllers), but the generic ARM PIC code doesn't support this.  Add a
workaround inspired by the GICv3 driver (thanks Jared for pointint it out).

Revision 1.24 / (download) - annotate - [select for diffs], Wed Sep 25 16:57:10 2019 UTC (4 years, 5 months ago) by skrll
Branch: MAIN
CVS Tags: phil-wifi-20191119
Changes since 1.23: +16 -3 lines
Diff to previous 1.23 (colored)

Sprinkle KASSERTs

Revision 1.23 / (download) - annotate - [select for diffs], Wed Sep 25 16:50:28 2019 UTC (4 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.22: +4 -4 lines
Diff to previous 1.22 (colored)

Sprinkle static

Revision 1.22 / (download) - annotate - [select for diffs], Wed Sep 25 16:49:37 2019 UTC (4 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.21: +3 -2 lines
Diff to previous 1.21 (colored)

KNF

Revision 1.21 / (download) - annotate - [select for diffs], Wed Sep 25 16:48:06 2019 UTC (4 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.20: +3 -3 lines
Diff to previous 1.20 (colored)

Whitespace

Revision 1.15.4.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:05:52 2019 UTC (4 years, 8 months ago) by christos
Branch: phil-wifi
Changes since 1.15: +142 -30 lines
Diff to previous 1.15 (colored)

Sync with HEAD

Revision 1.20 / (download) - annotate - [select for diffs], Wed Mar 27 05:47:50 2019 UTC (4 years, 11 months ago) by ryo
Branch: MAIN
CVS Tags: phil-wifi-20190609, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2
Changes since 1.19: +10 -2 lines
Diff to previous 1.19 (colored)

Fix to show counters of "bcm2836 pic" by "intrctl list" correctly.

Revision 1.19 / (download) - annotate - [select for diffs], Fri Mar 1 14:53:12 2019 UTC (5 years ago) by skrll
Branch: MAIN
Changes since 1.18: +126 -23 lines
Diff to previous 1.18 (colored)

Handle processor private interrupts better and add support for the PMU
interrupt.

Thanks to jmcneill for review and suggestions.

Revision 1.18 / (download) - annotate - [select for diffs], Fri Mar 1 08:05:46 2019 UTC (5 years ago) by skrll
Branch: MAIN
Changes since 1.17: +4 -4 lines
Diff to previous 1.17 (colored)

Sprinkle static

Revision 1.17 / (download) - annotate - [select for diffs], Sun Feb 10 08:39:48 2019 UTC (5 years ago) by skrll
Branch: MAIN
Changes since 1.16: +3 -2 lines
Diff to previous 1.16 (colored)

Add some more interrupt source names

Revision 1.15.2.1 / (download) - annotate - [select for diffs], Fri Jan 18 08:50:14 2019 UTC (5 years, 1 month ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.15: +9 -9 lines
Diff to previous 1.15 (colored) next main 1.16 (colored)

Synch with HEAD

Revision 1.16 / (download) - annotate - [select for diffs], Thu Jan 3 10:26:41 2019 UTC (5 years, 1 month ago) by skrll
Branch: MAIN
CVS Tags: pgoyette-compat-20190127, pgoyette-compat-20190118
Changes since 1.15: +9 -9 lines
Diff to previous 1.15 (colored)

Start CPUs more like aarch64 by using a cpu_mpidr array (if populated)
to map MPIDRs to an index for each CPU.

Towards big.LITTLE support.

Revision 1.15 / (download) - annotate - [select for diffs], Sun Dec 10 21:38:26 2017 UTC (6 years, 2 months ago) by skrll
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-base, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315
Branch point for: phil-wifi, pgoyette-compat
Changes since 1.14: +236 -59 lines
Diff to previous 1.14 (colored)

FDTise RapberryPI support. Thanks for jmcneill for a lot of help with this.

The kernel image that the RPI firmware boots is now netbsd.img in the
kernel build directory.

XXX fdtbus_get_reg needs reworking

Revision 1.2.2.2 / (download) - annotate - [select for diffs], Sun Dec 3 11:35:52 2017 UTC (6 years, 2 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.2.2.1: +303 -20 lines
Diff to previous 1.2.2.1 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)

update from HEAD

Revision 1.14 / (download) - annotate - [select for diffs], Tue Nov 7 09:05:05 2017 UTC (6 years, 3 months ago) by ryo
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202
Changes since 1.13: +5 -4 lines
Diff to previous 1.13 (colored)

on RPI2, fix compile failure without options MULTIPROCESSOR.

Revision 1.13 / (download) - annotate - [select for diffs], Sun Oct 15 09:33:25 2017 UTC (6 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.12: +4 -20 lines
Diff to previous 1.12 (colored)

Simplify array initialisation

Revision 1.4.2.4 / (download) - annotate - [select for diffs], Mon Aug 28 17:51:30 2017 UTC (6 years, 6 months ago) by skrll
Branch: nick-nhusb
Changes since 1.4.2.3: +3 -3 lines
Diff to previous 1.4.2.3 (colored) to branchpoint 1.4 (colored) next main 1.5 (colored)

Sync with HEAD

Revision 1.12 / (download) - annotate - [select for diffs], Sun Jul 30 16:54:36 2017 UTC (6 years, 7 months ago) by jmcneill
Branch: MAIN
CVS Tags: nick-nhusb-base-20170825
Changes since 1.11: +3 -3 lines
Diff to previous 1.11 (colored)

Add driver for the bcm2835 internal SD controller. On boards with SDIO
Wi-Fi, the internal SD controller is used for the SD card slot and the
Arasan SDHCI controller is used for SDIO.

Revision 1.4.2.3 / (download) - annotate - [select for diffs], Tue Sep 22 12:05:37 2015 UTC (8 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.4.2.2: +17 -7 lines
Diff to previous 1.4.2.2 (colored) to branchpoint 1.4 (colored)

Sync with HEAD

Revision 1.11 / (download) - annotate - [select for diffs], Sat Aug 1 14:18:00 2015 UTC (8 years, 7 months ago) by skrll
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Changes since 1.10: +8 -4 lines
Diff to previous 1.10 (colored)

Call the correct ipi handlers for IPI_AST and IPI_KPREEMPT

Revision 1.3.12.3 / (download) - annotate - [select for diffs], Thu Jul 30 09:37:37 2015 UTC (8 years, 7 months ago) by martin
Branch: netbsd-7
CVS Tags: netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, 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-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0
Changes since 1.3.12.2: +152 -50 lines
Diff to previous 1.3.12.2 (colored) to branchpoint 1.3 (colored) next main 1.4 (colored)

Pull up following revision(s) (requested by skrll in ticket #890):
	sys/arch/arm/pic/pic.c: revision 1.27-1.32
	sys/arch/arm/omap/omap5430_intr.h: revision 1.3
	sys/arch/arm/broadcom/bcm2835_obio.c: revision 1.25
	sys/arch/arm/cortex/gic.c: revision 1.18
	sys/arch/arm/broadcom/bcm2835reg.h: revision 1.15
	sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.61
	sys/arch/arm/broadcom/bcm2835_intr.h: revision 1.2
	sys/arch/arm/marvell/mvsoc_intr.h: revision 1.5
	sys/arch/arm/broadcom/bcm2835_intr.c: revision 1.8-1.10
	sys/arch/arm/pic/picvar.h: revision 1.12-1.14
	sys/arch/arm/omap/omap4430_intr.h: revision 1.3

Don't clear CI_ASTPENDING in exception return, do it in ast() instead.
Add basic support for __HAVE_PREEMPTION.
Use atomic ops for ci_astpending if __HAVE_PREEMPTION is defined.
Use kpreempt_disable/kpreempt_enable
Add __HAVE_PIC_HAVE_PENDING_INTRS and define it if __HAVE_PIC_SET_PRIORITY
is undefined (also define in mvsoc_intr.h since their use of the latter is
peculiar).  This new define controls whether the pending interrupt logic is
compiled.  The GIC doesn't use pending interrupts since it uses the priority
level on the GIC to control delivery of interrupts, thus there can never
be a pending interrupt.  The kernel shrinks about 4KB with the removal of
the pending interupt support,
Only if we __HAVE_PIC_PENDING_INTRS do we need the variables to track them.
Add #define __HAVE_PIC_PENDING_INTRS for the non-GIC PICs.
Add a pic_cpus to the softc which specifies which cpus the pic can send
IPIs to.  For GIC, initialize pic_cpus to kcpuset_running since it can handle
all the cpus.
Adapt pic to deal with the BCM2836 interrupts.
Move pic_pending_pics, pic_pending_ipls, and pic_blocked_irqs into a
structure and make then per-cpu.  There is no global interrupt state anymore.
Use right kcpuset call.
Don't need pic_ipi_sender anymore.
Don't send IPIs to ourselves if sending to everyone.
RPI2 MP support.
Thanks to Matt Thomas for making this possible with his changes to pic.c
Use a bit per IPI type in local mailbox 0 registers. Ok matt@
IPIs should be IPL_HIGH according to rmind@
Fix bcm2836mp_pic_{un,}block_irqs to handle timer AND mailbox interrupts
if they're both passed.  Thanks to nat@ for finding this.
Sprinkle some KASSERTs

Revision 1.10 / (download) - annotate - [select for diffs], Sat Jul 25 08:43:41 2015 UTC (8 years, 7 months ago) by skrll
Branch: MAIN
Changes since 1.9: +11 -5 lines
Diff to previous 1.9 (colored)

IPIs should be IPL_HIGH according to rmind@

Fix bcm2836mp_pic_{un,}block_irqs to handle timer AND mailbox interrupts
if they're both passed.  Thanks to nat@ for finding this.

Sprinkle some KASSERTs

Revision 1.4.2.2 / (download) - annotate - [select for diffs], Sat Jun 6 14:39:55 2015 UTC (8 years, 8 months ago) by skrll
Branch: nick-nhusb
Changes since 1.4.2.1: +144 -48 lines
Diff to previous 1.4.2.1 (colored) to branchpoint 1.4 (colored)

Sync with HEAD

Revision 1.9 / (download) - annotate - [select for diffs], Sun Apr 12 23:25:57 2015 UTC (8 years, 10 months ago) by jmcneill
Branch: MAIN
CVS Tags: nick-nhusb-base-20150606
Changes since 1.8: +31 -28 lines
Diff to previous 1.8 (colored)

Use a bit per IPI type in local mailbox 0 registers. Ok matt@

Revision 1.8 / (download) - annotate - [select for diffs], Sun Apr 12 17:32:39 2015 UTC (8 years, 10 months ago) by skrll
Branch: MAIN
Changes since 1.7: +141 -48 lines
Diff to previous 1.7 (colored)

RPI2 MP support.

Thanks to Matt Thomas for making this possible with his changes to pic.c

Revision 1.4.2.1 / (download) - annotate - [select for diffs], Mon Apr 6 15:17:52 2015 UTC (8 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.4: +197 -4 lines
Diff to previous 1.4 (colored)

Sync with HEAD

Revision 1.3.12.2 / (download) - annotate - [select for diffs], Wed Mar 11 20:22:55 2015 UTC (8 years, 11 months ago) by snj
Branch: netbsd-7
CVS Tags: netbsd-7-0-RC2, netbsd-7-0-RC1
Changes since 1.3.12.1: +197 -4 lines
Diff to previous 1.3.12.1 (colored) to branchpoint 1.3 (colored)

Pull up following revision(s) (requested by skrll in ticket #582):
	distrib/utils/embedded/conf/rpi.conf: revision 1.27
	etc/etc.evbarm/Makefile.inc: revision 1.70
	sys/arch/arm/broadcom/bcm2835_intr.c: revision 1.5-1.7
	sys/arch/arm/broadcom/bcm2835_obio.c: revision 1.23, 1.24
	sys/arch/arm/broadcom/bcm2835_space.c: revision 1.8
	sys/arch/arm/broadcom/bcm2835reg.h: revision 1.14
	sys/arch/arm/broadcom/bcm2835var.h: revision 1.2
	sys/arch/arm/broadcom/files.bcm2835: revision 1.24
	sys/arch/arm/cortex/a9_mpsubr.S: revision 1.30
	sys/arch/arm/cortex/armperiph.c: revision 1.8, 1.9
	sys/arch/arm/cortex/gtmr.c: revision 1.9
	sys/arch/arm/cortex/gtmr_var.h: revision 1.5
	sys/arch/arm/cortex/mpcore_var.h: revision 1.3
	sys/arch/arm/include/cpu.h: revision 1.84
	sys/arch/evbarm/conf/RPI2: revision 1.1, 1.2
	sys/arch/evbarm/conf/RPI2_INSTALL: revision 1.1
	sys/arch/evbarm/conf/RPI: revision 1.59, 1.60
	sys/arch/evbarm/conf/mk.rpi: revision 1.4
	sys/arch/evbarm/conf/std.rpi: revisions 1.16-1.19 via patch
	sys/arch/evbarm/rpi/genassym.cf: revision 1.2
	sys/arch/evbarm/rpi/rpi.h: revision 1.4
	sys/arch/evbarm/rpi/rpi2_start.S: revision 1.1
	sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.57, 1.58 via patch
	sys/arch/evbarm/rpi/rpi_start.S: revision 1.13
Move some options into std.rpi
--
Add __HAVE_MM_MD_CACHE_ALIASING
Pull up following revision(s) (requested by skrll in ticket #582):
Fix TPIDRPRW_IS_CURLWP builds.
--
A MULTIPROCESSOR kernel requires TPIDRPRW_IS_CURCPU.
--
Use TPIDRPRW_IS_CURLWP as it's a slight code reduction and performance
improvement.
Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.
This commit changes the KVA layout of the RPI.
--
Make this compile where gtmr isn't used.
--
Spin up the non-boot CPUs, but don't allow cpu_boot_secondary_processors
to see them for now.
RPI2 nows works well with only the boot cpu.
--
Appease a KASSERT - will be remove when MULTIPROCESSOR RPI2 is fixed.
--
Add RPI2 to kernels build for both earmv[67].
Use the earmv6 built kernels to create an image that can be used on both
RPI and RPI2
--
Add an RPI2_INSTALL

Revision 1.7 / (download) - annotate - [select for diffs], Thu Mar 5 14:27:25 2015 UTC (8 years, 11 months ago) by skrll
Branch: MAIN
CVS Tags: nick-nhusb-base-20150406
Changes since 1.6: +11 -2 lines
Diff to previous 1.6 (colored)

Appease a KASSERT - will be remove when MULTIPROCESSOR RPI2 is fixed.

Revision 1.6 / (download) - annotate - [select for diffs], Wed Mar 4 17:02:17 2015 UTC (9 years ago) by skrll
Branch: MAIN
Changes since 1.5: +6 -4 lines
Diff to previous 1.5 (colored)

Spin up the non-boot CPUs, but don't allow cpu_boot_secondary_processors
to see them for now.

RPI2 nows works well with only the boot cpu.

Revision 1.5 / (download) - annotate - [select for diffs], Sat Feb 28 09:34:34 2015 UTC (9 years ago) by skrll
Branch: MAIN
Changes since 1.4: +186 -4 lines
Diff to previous 1.4 (colored)

Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.

This commit changes the KVA layout of the RPI.

Revision 1.3.12.1 / (download) - annotate - [select for diffs], Thu Sep 11 14:20:11 2014 UTC (9 years, 5 months ago) by martin
Branch: netbsd-7
Changes since 1.3: +6 -7 lines
Diff to previous 1.3 (colored)

Pull up the following changes (requested by skrll, #83):
sys/arch/arm/broadcom/bcm2835_dmac.c            1.1-1.2
sys/arch/arm/broadcom/bcm2835_dmac.h            1.1
sys/arch/arm/broadcom/bcm2835_intr.c            1.4
sys/arch/arm/broadcom/bcm2835_obio.c            1.21
sys/arch/arm/broadcom/bcm2835reg.h              1.11
sys/arch/arm/broadcom/files.bcm2835             1.22
sys/arch/evbarm/conf/RPI                        1.51
sys/arch/evbarm/rpi/rpi_machdep.c               1.46

Add bcm2835 dma controller driver.

Revision 1.4 / (download) - annotate - [select for diffs], Sun Sep 7 15:28:05 2014 UTC (9 years, 5 months ago) by skrll
Branch: MAIN
CVS Tags: nick-nhusb-base
Branch point for: nick-nhusb
Changes since 1.3: +6 -7 lines
Diff to previous 1.3 (colored)

DMA channel interrupt names

Revision 1.2.2.1 / (download) - annotate - [select for diffs], Mon Feb 25 00:28:25 2013 UTC (11 years ago) by tls
Branch: tls-maxphys
Changes since 1.2: +9 -9 lines
Diff to previous 1.2 (colored)

resync with head

Revision 1.1.2.4 / (download) - annotate - [select for diffs], Wed Feb 13 01:36:14 2013 UTC (11 years ago) by riz
Branch: netbsd-6
CVS Tags: netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1
Changes since 1.1.2.3: +9 -10 lines
Diff to previous 1.1.2.3 (colored) next main 1.2 (colored)

Pull up following revision(s) (requested by skrll in ticket #813):

etc/MAKEDEV.tmpl					1.160
etc/etc.evbarm/MAKEDEV.conf				1.9
external/broadcom/rpi-firmware/dist/LICENCE.broadcom	1.1
external/broadcom/rpi-firmware/dist/bootcode.bin	1.1
external/broadcom/rpi-firmware/dist/bootcode.bin	1.2
external/broadcom/rpi-firmware/dist/fixup.dat		1.1
external/broadcom/rpi-firmware/dist/fixup.dat		1.2
external/broadcom/rpi-firmware/dist/fixup_cd.dat	1.1
external/broadcom/rpi-firmware/dist/fixup_cd.dat	1.2
external/broadcom/rpi-firmware/dist/start.elf		1.1
external/broadcom/rpi-firmware/dist/start.elf		1.2
external/broadcom/rpi-firmware/dist/start_cd.elf	1.1
external/broadcom/rpi-firmware/dist/start_cd.elf	1.2
sys/arch/arm/broadcom/bcm2835_bsc.c			1.1 via patch
sys/arch/arm/broadcom/bcm2835_bscreg.h			1.1 via patch
sys/arch/arm/broadcom/bcm2835_dotg.c			1.1 via patch
sys/arch/arm/broadcom/bcm2835_emmc.c			1.7 via patch
sys/arch/arm/broadcom/bcm2835_genfb.c			1.4 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.c		1.2 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.h		1.1 via patch
sys/arch/arm/broadcom/bcm2835_gpioreg.h			1.1 via patch
sys/arch/arm/broadcom/bcm2835_intr.c			1.3 via patch
sys/arch/arm/broadcom/bcm2835_mbox.c			1.5 via patch
sys/arch/arm/broadcom/bcm2835_mbox.h			1.4 via patch
sys/arch/arm/broadcom/bcm2835_obio.c			1.17 via patch
sys/arch/arm/broadcom/bcm2835_pm.c			1.2 via patch
sys/arch/arm/broadcom/bcm2835_rng.c			1.3 via patch
sys/arch/arm/broadcom/bcm2835_space.c			1.5 via patch
sys/arch/arm/broadcom/bcm2835_spi.c			1.1 via patch
sys/arch/arm/broadcom/bcm2835_spireg.h			1.1 via patch
sys/arch/arm/broadcom/bcm2835_tmr.c			1.3 via patch
sys/arch/arm/broadcom/bcm2835reg.h			1.10 via patch
sys/arch/arm/broadcom/files.bcm2835			1.14 via patch
sys/arch/evbarm/conf/RPI				1.23 via patch
sys/arch/evbarm/conf/files.rpi				1.3 via patch
sys/arch/evbarm/conf/mk.rpi				1.2 via patch
sys/arch/evbarm/conf/std.rpi				1.4 via patch
sys/arch/evbarm/rpi/rpi_machdep.c			1.34 via patch
sys/arch/evbarm/rpi/rpi_start.S				1.7 via patch
sys/arch/evbarm/rpi/rpi_vcmbox.c			1.2 via patch
sys/arch/evbarm/rpi/vcio.h				1.1 via patch
sys/arch/evbarm/rpi/vcprop.h				1.7 via patch
sys/conf/files						patch
sys/dev/sdmmc/sdhc.c					1.43
sys/dev/sdmmc/sdhcvar.h					1.13
sys/dev/usb/dwc_otg.c					1.45 via patch
sys/dev/usb/dwc_otgreg.h				1.5 via patch
sys/dev/usb/dwc_otgvar.h				1.11 via patch
sys/dev/usb/files.usb					1.126 via patch
sys/dev/usb/if_smsc.c					1.7 via patch
sys/dev/usb/if_smscreg.h				1.1 via patch
sys/dev/usb/if_smscvar.h				1.1 via patch
sys/dev/usb/usbdevices.config				patch
sys/dev/usb/usbdevs					1.633 via patch
sys/dev/usb/usbdevs.h					regen
sys/dev/usb/usbdevs_data.h				regen
sys/dev/wscons/wsconsio.h				1.105,1.107 via patch
sys/dev/wscons/wsdisplayvar.h				1.50
sys/dev/wscons/wsdisplay_util.c				1.2
sys/dev/videomode/edid.c				1.12 via patch

	Greatly improved Raspberry Pi support.  USB and onboard
	Ethernet should work.
	[skrll, ticket #813]

Revision 1.2.4.3 / (download) - annotate - [select for diffs], Wed Jan 23 00:05:41 2013 UTC (11 years, 1 month ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.2.4.2: +9 -9 lines
Diff to previous 1.2.4.2 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)

sync with head

Revision 1.3 / (download) - annotate - [select for diffs], Tue Jan 8 12:15:42 2013 UTC (11 years, 1 month ago) by skrll
Branch: MAIN
CVS Tags: yamt-pagecache-base9, yamt-pagecache-base8, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, rmind-smpnet, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, netbsd-7-base, khorben-n900, agc-symver-base, agc-symver
Branch point for: netbsd-7
Changes since 1.2: +9 -9 lines
Diff to previous 1.2 (colored)

Whitespace

Revision 1.2.4.2 / (download) - annotate - [select for diffs], Tue Oct 30 17:18:58 2012 UTC (11 years, 4 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.2.4.1: +250 -0 lines
Diff to previous 1.2.4.1 (colored) to branchpoint 1.2 (colored)

sync with head

Revision 1.1.2.3 / (download) - annotate - [select for diffs], Sun Aug 19 17:45:23 2012 UTC (11 years, 6 months ago) by riz
Branch: netbsd-6
CVS Tags: 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
Changes since 1.1.2.2: +2 -2 lines
Diff to previous 1.1.2.2 (colored)

Pull up following revision(s) (requested by skrll in ticket #515):
	sys/arch/arm/broadcom/bcm2835_intr.c: revision 1.2
Fix two copypasteos that resulted in interrupt strings being wrong for
(among other interrutps) the plcom(4) and the sdhc(4).

Revision 1.2.4.1, Sat Aug 18 22:28:23 2012 UTC (11 years, 6 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.2: +0 -250 lines
FILE REMOVED

file bcm2835_intr.c was added on branch yamt-pagecache on 2012-10-30 17:18:58 +0000

Revision 1.2 / (download) - annotate - [select for diffs], Sat Aug 18 22:28:23 2012 UTC (11 years, 6 months ago) by jakllsch
Branch: MAIN
CVS Tags: yamt-pagecache-base7, yamt-pagecache-base6
Branch point for: yamt-pagecache, tls-maxphys
Changes since 1.1: +4 -4 lines
Diff to previous 1.1 (colored)

Fix two copypasteos that resulted in interrupt strings being wrong for
(among other interrutps) the plcom(4) and the sdhc(4).

Revision 1.1.2.2 / (download) - annotate - [select for diffs], Thu Aug 9 06:36:49 2012 UTC (11 years, 6 months ago) by jdc
Branch: netbsd-6
Changes since 1.1.2.1: +250 -0 lines
Diff to previous 1.1.2.1 (colored)

Pull up revisions:
  src/sys/arch/evbarm/dev/plcomreg.h revisions 1.2,1.3,1.4
  src/sys/arch/evbarm/conf/INTEGRATOR revision 1.65
  src/sys/arch/evbarm/dev/plcom.c revisions 1.34,1.35,1.36,1.37,1.38,1.39,1.40
  src/sys/arch/evbarm/ifpga/plcom_ifpga.c revisions 1.12,1.13,1.14
  src/sys/arch/evbarm/dev/plcomvar.h revisions 1.9,1.10,1.11
  src/sys/arch/evbarm/ifpga/plcom_ifpgavar.h revision 1.2
  src/sys/arch/arm/arm/cpufunc.c revisions 1.105,1.108
  src/sys/arch/arm/arm32/cpu.c revision 1.79
  src/sys/arch/arm/include/armreg.h revisions 1.49,1.54
  src/sys/arch/arm/arm32/pmap.c revision 1.229
  src/sys/arch/arm/arm32/arm32_machdep.c revision 1.77
  src/sys/arch/arm/include/cpu.h revision 1.64
  src/sys/arch/arm/arm/cpufunc_asm_arm1136.S revision 1.3
  src/sys/arch/arm/arm/cpufunc_asm_arm11x6.S revision 1.1
  src/sys/arch/arm/conf/files.arm revision 1.106
  src/sys/arch/arm/include/cpufunc.h revision 1.57
  src/sys/dev/sdmmc/sdhc.c revisions 1.14,1.24
  src/sys/dev/sdmmc/sdhcvar.h revisions 1.7,1.8
  src/sys/arch/evbarm/ifpga/ifpgareg.h revision 1.4
  src/sys/arch/evbarm/integrator/integrator_machdep.c revision 1.69
  src/sys/arch/arm/broadcom/bcm2835_dma.c revision 1.1
  src/sys/arch/arm/broadcom/bcm2835_emmc.c revision 1.1
  src/sys/arch/arm/broadcom/bcm2835_intr.c revision 1.1
  src/sys/arch/arm/broadcom/bcm2835_intr.h revision 1.1
  src/sys/arch/arm/broadcom/bcm2835_obio.c revision 1.1
  src/sys/arch/arm/broadcom/bcm2835_plcom.c revision 1.1
  src/sys/arch/arm/broadcom/bcm2835_pm.c revision 1.1
  src/sys/arch/arm/broadcom/bcm2835_pmvar.h revision 1.1
  src/sys/arch/arm/broadcom/bcm2835_space.c revision 1.1
  src/sys/arch/arm/broadcom/bcm2835_tmr.c revision 1.1
  src/sys/arch/arm/broadcom/bcm2835reg.h revision 1.1
  src/sys/arch/arm/broadcom/bcm2835var.h revision 1.1
  src/sys/arch/arm/broadcom/bcm_amba.h revision 1.1
  src/sys/arch/arm/broadcom/files.bcm2835 revision 1.1
  src/sys/arch/evbarm/Makefile revision 1.9
  src/sys/arch/evbarm/conf/RPI revision 1.1
  src/sys/arch/evbarm/conf/files.rpi revision 1.1
  src/sys/arch/evbarm/conf/mk.rpi revision 1.1
  src/sys/arch/evbarm/conf/std.rpi revision 1.1
  src/sys/arch/evbarm/rpi/genassym.cf revision 1.1
  src/sys/arch/evbarm/rpi/rpi.h revision 1.1
  src/sys/arch/evbarm/rpi/rpi_machdep.c revision 1.1
  src/sys/arch/evbarm/rpi/rpi_start.S revision 1.1,1.2
  src/etc/etc.evbarm/Makefile.inc revision 1.28
(requested by skrll in ticket #454).

don't mix #define<TAB> and #define<SPACE> in a file.

avoid warning with options PLCOM_DEBUG for INTEGRATOR.

Rename register values. No functional change - same code before and after.

Existing names are prefixed with PL01X_ where they're common between the
PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're
found only on the respective chips.

Replace the simple_lock with a kmutex_t.  Update the locking to match
com(4) in the few places it didn't already.

DOH.  Replace a line that got accidently deleted in the last commit.

device_t/softc split
struct device * -> device_t
struct cfdata * -> cfdata_t

Add the 'Z' to the 1176 cpu product name.

ok matt@

Fix locking botch introduced in 1.36.

Fix a KASSERT. From/OK'ed by matt@

Fix racy softint dispatch that lead to KASSERT(si->si_active) in
softint_execute

Discussed with matt@. "Looks good to me"

Add the documented ARM11[37]6 Auxiliary control register defines.

Add support for the ARM1176JZS

Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that).

Provide a method for attachments to specify capabilites.

Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.

Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.

Add RPI to KERNEL_SETS

Remove #if 0 code.

Revision 1.1.2.1, Thu Jul 26 06:21:57 2012 UTC (11 years, 7 months ago) by jdc
Branch: netbsd-6
Changes since 1.1: +0 -250 lines
FILE REMOVED

file bcm2835_intr.c was added on branch netbsd-6 on 2012-08-09 06:36:49 +0000

Revision 1.1 / (download) - annotate - [select for diffs], Thu Jul 26 06:21:57 2012 UTC (11 years, 7 months ago) by skrll
Branch: MAIN
Branch point for: netbsd-6

Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.

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>