The NetBSD Project

CVS log for src/sys/arch/arm/include/cpu.h

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.123.4.1 / (download) - annotate - [select for diffs], Wed Aug 9 17:42:01 2023 UTC (8 months, 1 week ago) by martin
Branch: netbsd-10
CVS Tags: netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1
Changes since 1.123: +3 -3 lines
Diff to previous 1.123 (colored) next main 1.124 (colored)

Pull up following revision(s) (requested by maya in ticket #316):

	sys/arch/m68k/include/mutex.h: revision 1.13
	sys/arch/arm/include/cpu.h: revision 1.125
	sys/arch/sun68k/include/intr.h: revision 1.21
	sys/arch/arm/include/mutex.h: revision 1.28
	sys/sys/rwlock.h: revision 1.18
	sys/arch/powerpc/include/mutex.h: revision 1.7
	sys/arch/arm/include/mutex.h: revision 1.29
	sys/arch/powerpc/include/mutex.h: revision 1.8
	sys/uvm/uvm_param.h: revision 1.42
	sys/sys/ksem.h: revision 1.16
	sys/arch/x86/include/mutex.h: revision 1.10
	sys/sys/proc.h: revision 1.372
	sys/sys/ksem.h: revision 1.17
	sys/arch/ia64/include/mutex.h: revision 1.8
	sys/arch/evbarm/include/intr.h: revision 1.29
	sys/sys/lua.h: revision 1.9
	sys/arch/next68k/include/intr.h: revision 1.23
	sys/arch/ia64/include/mutex.h: revision 1.9
	sys/arch/hp300/include/intr.h: revision 1.35
	sys/arch/hp300/include/intr.h: revision 1.36
	sys/arch/sparc/include/cpu.h: revision 1.111
	sys/arch/hppa/include/mutex.h: revision 1.16
	sys/arch/vax/include/intr.h: revision 1.31
	sys/arch/hppa/include/mutex.h: revision 1.17
	sys/arch/news68k/include/intr.h: revision 1.28
	sys/arch/hppa/include/mutex.h: revision 1.18
	sys/arch/hppa/include/intr.h: revision 1.3
	sys/arch/hppa/include/mutex.h: revision 1.19
	sys/arch/hppa/include/intr.h: revision 1.4
	sys/sys/sched.h: revision 1.92
	sys/opencrypto/cryptodev.h: revision 1.51
	sys/arch/vax/include/mutex.h: revision 1.20
	sys/arch/sparc64/include/mutex.h: revision 1.10
	sys/arch/ia64/include/sapicvar.h: revision 1.2
	sys/arch/riscv/include/mutex.h: revision 1.5
	sys/arch/amiga/dev/grfabs_cc.c: revision 1.39
	sys/external/bsd/drm2/include/linux/idr.h: revision 1.11
	sys/arch/riscv/include/mutex.h: revision 1.6
	sys/ddb/files.ddb: revision 1.16
	sys/arch/mac68k/include/intr.h: revision 1.32
	share/man/man4/ddb.4: revision 1.203
	sys/ddb/db_command.c: revision 1.183
	sys/arch/mips/include/mutex.h: revision 1.10
	sys/ddb/db_command.c: revision 1.184
	sys/arch/x68k/include/intr.h: revision 1.22
	sys/arch/sparc/include/psl.h: revision 1.51
	sys/arch/or1k/include/mutex.h: revision 1.4
	sys/arch/mips/include/mutex.h: revision 1.11
	sys/arch/arm/xscale/pxa2x0_intr.h: revision 1.16
	sys/arch/sparc64/include/cpu.h: revision 1.134
	sys/arch/sparc/include/psl.h: revision 1.52
	sys/arch/or1k/include/mutex.h: revision 1.5
	sys/arch/mvme68k/include/intr.h: revision 1.22
	sys/arch/luna68k/include/intr.h: revision 1.16
	external/cddl/osnet/sys/sys/kcondvar.h: revision 1.6
	sys/arch/sparc/include/mutex.h: revision 1.12
	sys/arch/sparc/include/mutex.h: revision 1.13
	sys/arch/usermode/include/mutex.h: revision 1.5
	sys/arch/usermode/include/mutex.h: revision 1.6
	sys/kern/kern_core.c: revision 1.38
	usr.sbin/crash/Makefile: revision 1.49
	sys/arch/amiga/include/intr.h: revision 1.23
	sys/arch/alpha/include/mutex.h: revision 1.12
	sys/arch/alpha/include/mutex.h: revision 1.13
	sys/arch/evbarm/lubbock/sacc_obio.c: revision 1.16
	sys/ddb/ddb.h: revision 1.6
	sys/arch/sparc64/include/mutex.h: revision 1.8
	sys/arch/sh3/include/mutex.h: revision 1.12
	sys/arch/evbarm/lubbock/sacc_obio.c: revision 1.17
	sys/ddb/db_syncobj.c: revision 1.1
	sys/arch/vax/include/mutex.h: revision 1.18
	sys/arch/sparc64/include/psl.h: revision 1.63
	sys/arch/sparc64/include/mutex.h: revision 1.9
	sys/arch/sh3/include/mutex.h: revision 1.13
	sys/arch/evbarm/lubbock/obio.c: revision 1.13
	sys/arch/atari/include/intr.h: revision 1.23
	sys/ddb/db_syncobj.c: revision 1.2
	sys/arch/vax/include/mutex.h: revision 1.19
	sys/arch/evbarm/g42xxeb/obio.c: revision 1.14
	sys/arch/evbarm/g42xxeb/obio.c: revision 1.15
	sys/arch/cesfic/include/intr.h: revision 1.14
	sys/ddb/db_syncobj.h: revision 1.1
	sys/arch/x86/include/cpu.h: revision 1.134
	sys/arch/evbarm/g42xxeb/obio.c: revision 1.16
	sys/arch/cesfic/include/intr.h: revision 1.15
	sys/arch/arm/xscale/pxa2x0_intr.c: revision 1.26
	sys/sys/cpu_data.h: revision 1.54
	sys/arch/m68k/include/mutex.h: revision 1.12
	sys/arch/ia64/acpi/madt.c: revision 1.6

sys/rwlock.h: Make this more self-contained for bool.

machine/mutex.h: Sprinkle includes so this can be used by crash(8).

ddb: New `show all tstiles' command.
Shows who's waiting for which locks and what the owner is up to.

Include psl.h for ipl_cookie_t if __MUTEX_PRIVATE

sys: Rip <sys/resourcevar.h> out of <uvm/uvm_param.h>.

And thus out of <sys/param.h>, which is exceedingly overused and
fragile and delenda est.

Should fix (some) issues with the recent inclusion of machine/lock.h
in various machine/mutex.h files.

arm/mutex.h: Need machine/intr.h, machine/lock.h.

For ipl_cookie_t and __cpu_simple_lock_t.
evbarm/intr.h: Define ipl_cookie_t before including ARM_INTR_IMPL.

Otherwise arm/mutex.h doesn't work, due to a cyclic dependency which
should really be fixed.
opencrypto/cryptodev.h: Fix includes.
- Move sys/condvar.h under #ifdef _KERNEL.
- Add some other necessary includes and forward declarations.
- Sort.

hp300/intr.h: Fix missing includes.
linux/idr.h: Need <sys/mutex.h> for kmutex_t.
amiga/intr.h: Don't define spl*() functions if !_KERNEL.

This is used by crash(8) now, and what's important is ipl_cookie_t.
cesfic/intr.h: Expose ipl_cookie_t to userland for crash(8).
cesfic/intr.h: Expose ipl_cookie_t to userland only with _KMEMUSER.

Probably not necessary but let's be a little more cautious about
this.

atari/intr.h: Expose ipl_cookie_t with _KMEMUSER for crash(8).

arm/cpu.h: Need sys/param.h for COHERENCY_UNIT.

Nix machine/param.h -- not meant to be used directly, pulled in by
sys/param.h.

Move the definition of ipl_cookie_t out of the kernel-only sections,
some _KMEMUSER applications need it.

ddb: Cast pointer to uintptr_t first before db_expr_t.

hppa/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).

luna68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).

mvme68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).

news68k/intr.h: Fix includes.  Put some definitions under _KERNEL.

next68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).

sys/ksem.h: Hack around fstat(8) abuse of _KERNEL.

sun68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).

vax/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).

x68k/intr.h: Put functions under _KERNEL so crash(8) can use this.

Make ipl_cookie_t visible for _KMEMUSER userland applications.

fix editor mishap in previous

Explicitly include <sys/mutex.h> for kmutex_t.

Replace kmutex_t * (which may be undefined here) with struct kmutex *,
suggested by Taylor.

hp300/intr.h: Put most of this under #ifdef _KERNEL.
Only ipl_cookie_t really needs to be exposed now, for crash(8).

mac68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).
Make inclusion of sys/intr.h explicit for spl*.

fix hppa and vax builds.

machine/lock.h isn't necessary for __cpu_simple_lock_t, it's in
sys/types.h.  avoids cpu_data.h vs sched.h include order issues.

move the hppa ipl_t typedef with the moved usage of it.
machine/mutex.h: Sprinkle sys/types.h, omit machine/lock.h.

Turns out machine/lock.h is not needed for __cpu_simple_lock_t, which
always comes from sys/types.h.  And, really, sys/types.h (or at least
sys/stdint.h) is needed for uintN_t and uintptr_t.

ddb: Cast pointer to uintptr_t, then to db_expr_t.
Avoids warnings about conversion between pointer and integer of
different size on some architectures.

re-fix hppa builds.

this file uses __cpu_simple_lock(), not just the underlying type,
so it does need machine/lock.h.

Break cycle by using `struct kmutex *' instead of `kmutex_t *'.
sys/sched.h included sys/mutex.h
which includes sys/intr.h
which includes machine/intr.h
which on cats includes arm/footbridge/footbridge_intr.h
which includes arm/cpu.h
which includes sys/cpu_data.h
which includes sys/sched.h

But there was never any real need for sys/mutex.h in sys/sched.h,
because it only uses pointers to the opaque struct kmutex.  Cycle
broken by using `struct kmutex *' instead of pulling in sys/mutex.h
for the definition of kmutex_t.

Side effect: This revealed that sys/cpu_data.h needed sys/intr.h
(which was pulled in accidentally by sys/mutex.h via sys/sched.h) for
SOFTINT_COUNT.  Also revealed some other machine/cpu.h header files
were missing includes of sys/mutex.h for kmutex_t.

ia64: Need sys/types.h for u_int, vaddr_t; sys/mutex.h for kmutex_t.

explicitly include no longer implicitly included sys/mutex.h.

arm/xscale: Use sys/bitops.h fls32 - 1 instead of 31 - __builtin_clz.
Sidesteps namespace collision with `#define bits ...' in net/zlib.c.

complete the previous - there were two calls to find_first_bit() to fix.

arm/xscale: Missed a spot with previous find_first_bit commit.

evbarm/g42xxeb: Fix off-by-one in previous.

The original find_first_bit(x) was 31 - __builtin_clz((uint32_t)x),
which is equivalent to fls32(x) - 1, not to fls32(x).

Note that fls32 is 1-based and returns 0 for x=0.

Revision 1.125 / (download) - annotate - [select for diffs], Tue Jul 11 11:01:18 2023 UTC (9 months, 1 week ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, HEAD
Changes since 1.124: +3 -3 lines
Diff to previous 1.124 (colored)

arm/cpu.h: Need sys/param.h for COHERENCY_UNIT.

Nix machine/param.h -- not meant to be used directly, pulled in by
sys/param.h.

Revision 1.124 / (download) - annotate - [select for diffs], Sun Jun 25 07:16:14 2023 UTC (9 months, 3 weeks ago) by skrll
Branch: MAIN
Changes since 1.123: +1 -3 lines
Diff to previous 1.123 (colored)

G/C an unused struct cpu_info member

Revision 1.123 / (download) - annotate - [select for diffs], Sat Jun 25 12:41:56 2022 UTC (21 months, 3 weeks ago) by jmcneill
Branch: MAIN
CVS Tags: netbsd-10-base, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Branch point for: netbsd-10
Changes since 1.122: +2 -2 lines
Diff to previous 1.122 (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.122 / (download) - annotate - [select for diffs], Sat Dec 18 16:41:37 2021 UTC (2 years, 4 months ago) by riastradh
Branch: MAIN
Changes since 1.121: +3 -1 lines
Diff to previous 1.121 (colored)

arm: Forward-declare `struct proc' before using in prototype.

Revision 1.121 / (download) - annotate - [select for diffs], Mon Nov 1 14:45:24 2021 UTC (2 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.120: +30 -2 lines
Diff to previous 1.120 (colored)

Move arm_cache_info from cpufunc.h to cpu.h

Revision 1.120 / (download) - annotate - [select for diffs], Sun Oct 31 16:23:47 2021 UTC (2 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.119: +9 -7 lines
Diff to previous 1.119 (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.119 / (download) - annotate - [select for diffs], Sat Aug 14 17:51:18 2021 UTC (2 years, 8 months ago) by ryo
Branch: MAIN
Changes since 1.118: +6 -1 lines
Diff to previous 1.118 (colored)

Improved the performance of kernel profiling on MULTIPROCESSOR, and possible to get profiling data for each CPU.

In the current implementation, locks are acquired at the entrance of the mcount
internal function, so the higher the number of cores, the more lock conflict
occurs, making profiling performance in a MULTIPROCESSOR environment unusable
and slow. Profiling buffers has been changed to be reserved for each CPU,
improving profiling performance in MP by several to several dozen times.

- Eliminated cpu_simple_lock in mcount internal function, using per-CPU buffers.
- Add ci_gmon member to struct cpu_info of each MP arch.
- Add kern.profiling.percpu node in sysctl tree.
- Add new -c <cpuid> option to kgmon(8) to specify the cpuid, like openbsd.
  For compatibility, if the -c option is not specified, the entire system can be
  operated as before, and the -p option will get the total profiling data for
  all CPUs.

Revision 1.118 / (download) - annotate - [select for diffs], Sun Aug 8 19:28:08 2021 UTC (2 years, 8 months ago) by skrll
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2
Changes since 1.117: +4 -1 lines
Diff to previous 1.117 (colored)

Re-apply

Move 'struct pic_pending' from percpu to struct cpu_info. Saves a few
instructions in splx.

There is(/was) no need to use atomic operations on the percpu / cpu_info
members, so don't.

Finally removng the use of percpu should help avoid problems with "late"
attaching cpus.

Revision 1.114.2.1 / (download) - annotate - [select for diffs], Sat Apr 3 22:28:17 2021 UTC (3 years ago) by thorpej
Branch: thorpej-futex
Changes since 1.114: +2 -1 lines
Diff to previous 1.114 (colored) next main 1.115 (colored)

Sync with HEAD.

Revision 1.116.2.1 / (download) - annotate - [select for diffs], Sat Apr 3 21:44:41 2021 UTC (3 years ago) by thorpej
Branch: thorpej-cfargs
Changes since 1.116: +1 -4 lines
Diff to previous 1.116 (colored) next main 1.117 (colored)

Sync with HEAD.

Revision 1.117 / (download) - annotate - [select for diffs], Sat Mar 27 12:15:08 2021 UTC (3 years ago) by jmcneill
Branch: MAIN
CVS Tags: 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, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.116: +1 -4 lines
Diff to previous 1.116 (colored)

Revert recent pic optimizations until I have more time to work on this.

Revision 1.116 / (download) - annotate - [select for diffs], Sun Feb 21 15:00:04 2021 UTC (3 years, 1 month ago) by jmcneill
Branch: MAIN
Branch point for: thorpej-cfargs
Changes since 1.115: +2 -1 lines
Diff to previous 1.115 (colored)

Keep current hardware priority value in struct cpu_info and use it instead
of reading icc_pmr_el1 in gicv3_set_priority.

Revision 1.115 / (download) - annotate - [select for diffs], Sat Feb 20 14:51:06 2021 UTC (3 years, 1 month ago) by jmcneill
Branch: MAIN
Changes since 1.114: +4 -1 lines
Diff to previous 1.114 (colored)

Move 'struct pic_pending' from percpu to struct cpu_info. Saves a few
instructions in splx.

Revision 1.114 / (download) - annotate - [select for diffs], Mon Aug 17 01:52:59 2020 UTC (3 years, 8 months ago) by mrg
Branch: MAIN
Branch point for: thorpej-futex
Changes since 1.113: +2 -2 lines
Diff to previous 1.113 (colored)

swap sys/param.h for machine/param.h.  this still obtains the
wanted COHERENCY_UNIT, while avoiding have a cascade of
failures where sys/mutex.h ends up including arm/cpu.h which
ends up including sys/resourcevar.h and then sys/mutex.h,
but as the first includer of sys/mutex.h has defined the
idempotent header define, the second one is empty, and as
kmutex_t isn't defined by the first attempt yet the kmutex_t
used in resourcevar.h generates an error.

should fix evbarm v5/v5eb, hpcarm, iyonix and zaurus builds.

tested building iyonix, zaurus and evbarmv7hf.

Revision 1.113 / (download) - annotate - [select for diffs], Sun Aug 16 16:01:35 2020 UTC (3 years, 8 months ago) by skrll
Branch: MAIN
Changes since 1.112: +1 -5 lines
Diff to previous 1.112 (colored)

G/C MP_CPU_INFO_MEMBERS

Revision 1.112 / (download) - annotate - [select for diffs], Fri Aug 14 16:18:36 2020 UTC (3 years, 8 months ago) by skrll
Branch: MAIN
Changes since 1.111: +25 -25 lines
Diff to previous 1.111 (colored)

Mirror the changes to aarch64 and

- Switch to TPIDRPRW_IS_CURLWP, because curlwp is accessed much more often
  by MI code.  It also makes curlwp preemption safe,

- Make ASTs operate per-LWP rather than per-CPU, otherwise sometimes LWPs
  can see spurious ASTs (which doesn't cause a problem, it just means some
  time may be wasted).

- Make sure ASTs are always set on the same CPU as the target LWP, and
  delivered via IPI if posted from a remote CPU so that they are resolved
  quickly.

- Add some cache line padding to struct cpu_info.

- Add a memory barrier in a couple of places where ci_curlwp is set.  This
  is needed whenever an LWP that is resuming on the CPU could hold an
  adaptive mutex.  The barrier needs to drain the CPU's store buffer, so
  that the update to ci_curlwp becomes globally visible before the LWP can
  resume and call mutex_exit().

Revision 1.111 / (download) - annotate - [select for diffs], Mon Jun 29 23:54:06 2020 UTC (3 years, 9 months ago) by riastradh
Branch: MAIN
Changes since 1.110: +3 -1 lines
Diff to previous 1.110 (colored)

Implement fpu_kern_enter/leave for arm32.

Revision 1.96.2.2 / (download) - annotate - [select for diffs], Mon Apr 13 08:03:35 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.96.2.1: +39 -21 lines
Diff to previous 1.96.2.1 (colored) to branchpoint 1.96 (colored) next main 1.97 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.110 / (download) - annotate - [select for diffs], Sun Mar 29 09:06:38 2020 UTC (4 years ago) by skrll
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh
Changes since 1.109: +2 -1 lines
Diff to previous 1.109 (colored)

Provide a curpcb

Revision 1.109 / (download) - annotate - [select for diffs], Mon Mar 9 18:43:52 2020 UTC (4 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.108: +6 -3 lines
Diff to previous 1.108 (colored)

Don't expose curproc/curlwp and other random kernel macros/functions/variables
du-jour.

Revision 1.103.2.3 / (download) - annotate - [select for diffs], Sat Feb 29 20:18:18 2020 UTC (4 years, 1 month ago) by ad
Branch: ad-namecache
Changes since 1.103.2.2: +28 -18 lines
Diff to previous 1.103.2.2 (colored) to branchpoint 1.103 (colored) next main 1.104 (colored)

Sync with head.

Revision 1.108 / (download) - annotate - [select for diffs], Sat Feb 15 08:16:11 2020 UTC (4 years, 2 months ago) by skrll
Branch: MAIN
CVS Tags: is-mlppp-base, is-mlppp, ad-namecache-base3
Changes since 1.107: +28 -18 lines
Diff to previous 1.107 (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.103.2.2 / (download) - annotate - [select for diffs], Sat Jan 25 22:38:38 2020 UTC (4 years, 2 months ago) by ad
Branch: ad-namecache
Changes since 1.103.2.1: +5 -1 lines
Diff to previous 1.103.2.1 (colored) to branchpoint 1.103 (colored)

Sync with head.

Revision 1.107 / (download) - annotate - [select for diffs], Wed Jan 22 12:23:12 2020 UTC (4 years, 2 months ago) by skrll
Branch: MAIN
CVS Tags: ad-namecache-base2
Changes since 1.106: +2 -2 lines
Diff to previous 1.106 (colored)

#ifdef whack-a-mole for the pmap_maxproc_set functionality

Revision 1.106 / (download) - annotate - [select for diffs], Mon Jan 20 22:13:57 2020 UTC (4 years, 2 months ago) by skrll
Branch: MAIN
Changes since 1.105: +2 -2 lines
Diff to previous 1.105 (colored)

s/_ARM_ARCH_6/ARM_MMU_EXTENDED/ in the #ifdef for the recent 4k pages
change

Revision 1.105 / (download) - annotate - [select for diffs], Sat Jan 18 14:40:04 2020 UTC (4 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.104: +5 -1 lines
Diff to previous 1.104 (colored)

Use 4K pages on ARM_MMU_EXTENDED platforms (all armv[67] except RPI) by
creating a new pool l1ttpl for the userland L1 translation table which
needs to be 8KB and 8KB aligned.

Limit the pool to maxproc and add hooks to allow the sysctl changing of
maxproc to adjust the pool.

This comes at a 5% performance penalty for build.sh -j8 kernel on a
Tegra TK1.

Revision 1.103.2.1 / (download) - annotate - [select for diffs], Fri Jan 17 21:47:24 2020 UTC (4 years, 3 months ago) by ad
Branch: ad-namecache
Changes since 1.103: +3 -1 lines
Diff to previous 1.103 (colored)

Sync with head.

Revision 1.104 / (download) - annotate - [select for diffs], Wed Jan 15 08:34:04 2020 UTC (4 years, 3 months ago) by mrg
Branch: MAIN
CVS Tags: ad-namecache-base1
Changes since 1.103: +3 -1 lines
Diff to previous 1.103 (colored)

port the arm64 cpu topology setup for big.little to arm.

rename arm64 cpu_do_topology() to arm_cpu_do_topology() and
call it from both arm cpu_attach().

replace both aarch64_set_topology() inline code in arm
cpu_attach() with new arm_cpu_do_topology(), which is called
by the arm64 locore as well (possibly not needed, which would
allow it to become static.)

not yet tested on a real big.little armv7 system.  tested
on rockpro64 and pinebook pro.

Revision 1.103 / (download) - annotate - [select for diffs], Sun Dec 1 15:34:44 2019 UTC (4 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base
Branch point for: ad-namecache
Changes since 1.102: +2 -1 lines
Diff to previous 1.102 (colored)

Fix false sharing problems with cpu_info.  Identified with tprof(8).
This was a very nice win in my tests on a 48 CPU box.

- Reorganise cpu_data slightly according to usage.
- Put cpu_onproc into struct cpu_info alongside ci_curlwp (now is ci_onproc).
- On x86, put some items in their own cache lines according to usage, like
  the IPI bitmask and ci_want_resched.

Revision 1.102 / (download) - annotate - [select for diffs], Thu Nov 21 19:23:59 2019 UTC (4 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.101: +1 -4 lines
Diff to previous 1.101 (colored)

mi_userret(): take care of calling preempt(), set spc_curpriority directly,
and remove MD code that does the same.

Revision 1.100.4.1 / (download) - annotate - [select for diffs], Wed Oct 23 19:14:19 2019 UTC (4 years, 5 months ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1
Changes since 1.100: +2 -2 lines
Diff to previous 1.100 (colored) next main 1.101 (colored)

Pull up following revision(s) (requested by jmcneill in ticket #359):

	sys/arch/aarch64/aarch64/locore.S: revision 1.42
	sys/arch/aarch64/aarch64/locore.S: revision 1.43
	sys/arch/aarch64/aarch64/locore.S: revision 1.44
	sys/arch/arm/fdt/cpu_fdt.c: revision 1.28
	sys/arch/aarch64/include/cpu.h: revision 1.14
	sys/arch/aarch64/include/param.h: revision 1.12
	sys/arch/arm/arm32/cpu.c: revision 1.133
	sys/arch/arm/arm32/cpu.c: revision 1.134
	sys/arch/arm/include/cpu.h: revision 1.101
	sys/arch/arm/acpi/cpu_acpi.c: revision 1.7
	sys/arch/aarch64/aarch64/cpu.c: revision 1.23
	sys/arch/aarch64/aarch64/cpu.c: revision 1.24
	sys/arch/aarch64/aarch64/cpu.c: revision 1.25

Increase aarch64 MAXCPUS to 256.

 -

Invalidate dcache before polling AP hatched status

 -

Avoid overlap between BP and last AP stack. AP stacks are now in order of
increasing address order.

Spotted by and idea from mlelstv.

 -

Use separate cacheline aligned arrays for mbox and hatched as before.

 -

cpu_hatched_p only for MULTIPROCESSOR

Revision 1.101 / (download) - annotate - [select for diffs], Sat Oct 19 18:04:26 2019 UTC (4 years, 6 months ago) by jmcneill
Branch: MAIN
CVS Tags: phil-wifi-20191119
Changes since 1.100: +2 -2 lines
Diff to previous 1.100 (colored)

Increase aarch64 MAXCPUS to 256.

Revision 1.96.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:05:54 2019 UTC (4 years, 10 months ago) by christos
Branch: phil-wifi
Changes since 1.96: +56 -33 lines
Diff to previous 1.96 (colored)

Sync with HEAD

Revision 1.95.2.5 / (download) - annotate - [select for diffs], Fri Jan 18 08:50:14 2019 UTC (5 years, 3 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.95.2.4: +8 -2 lines
Diff to previous 1.95.2.4 (colored) to branchpoint 1.95 (colored) next main 1.96 (colored)

Synch with HEAD

Revision 1.100 / (download) - annotate - [select for diffs], Thu Jan 3 10:26:41 2019 UTC (5 years, 3 months ago) by skrll
Branch: MAIN
CVS Tags: phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, netbsd-9-base, isaki-audio2-base, isaki-audio2
Branch point for: netbsd-9
Changes since 1.99: +8 -2 lines
Diff to previous 1.99 (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.95.2.4 / (download) - annotate - [select for diffs], Mon Nov 26 01:52:19 2018 UTC (5 years, 4 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.95.2.3: +44 -32 lines
Diff to previous 1.95.2.3 (colored) to branchpoint 1.95 (colored)

Sync with HEAD, resolve a couple of conflicts

Revision 1.99 / (download) - annotate - [select for diffs], Thu Oct 25 07:13:55 2018 UTC (5 years, 5 months ago) by skrll
Branch: MAIN
CVS Tags: pgoyette-compat-1226, pgoyette-compat-1126
Changes since 1.98: +44 -32 lines
Diff to previous 1.98 (colored)

Align struct cpu_info member names. NFC.

Revision 1.95.2.3 / (download) - annotate - [select for diffs], Sat Oct 20 06:58:25 2018 UTC (5 years, 6 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.95.2.2: +7 -1 lines
Diff to previous 1.95.2.2 (colored) to branchpoint 1.95 (colored)

Sync with head

Revision 1.98 / (download) - annotate - [select for diffs], Thu Oct 18 09:01:52 2018 UTC (5 years, 6 months ago) by skrll
Branch: MAIN
CVS Tags: pgoyette-compat-1020
Changes since 1.97: +7 -1 lines
Diff to previous 1.97 (colored)

Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors.  AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested.  Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively

Revision 1.95.2.2 / (download) - annotate - [select for diffs], Thu Sep 6 06:55:26 2018 UTC (5 years, 7 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.95.2.1: +1 -2 lines
Diff to previous 1.95.2.1 (colored) to branchpoint 1.95 (colored)

Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)

Revision 1.97 / (download) - annotate - [select for diffs], Wed Aug 22 01:05:22 2018 UTC (5 years, 7 months ago) by msaitoh
Branch: MAIN
CVS Tags: pgoyette-compat-0930, pgoyette-compat-0906
Changes since 1.96: +1 -2 lines
Diff to previous 1.96 (colored)

- Cleanup for dynamic sysctl:
  - Remove unused *_NAMES macros for sysctl.
  - Remove unused *_MAXID for sysctls.
- Move CTL_MACHDEP sysctl definitions for m68k into m68k/include/cpu.h and
  use them on all m68k machines.

Revision 1.95.2.1 / (download) - annotate - [select for diffs], Sat Apr 7 04:12:12 2018 UTC (6 years ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.95: +9 -1 lines
Diff to previous 1.95 (colored)

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

Revision 1.96 / (download) - annotate - [select for diffs], Sun Apr 1 04:35:04 2018 UTC (6 years ago) by ryo
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407
Branch point for: phil-wifi
Changes since 1.95: +9 -1 lines
Diff to previous 1.95 (colored)

Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)

Revision 1.93.6.1 / (download) - annotate - [select for diffs], Mon Feb 26 00:19:44 2018 UTC (6 years, 1 month ago) by snj
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1
Changes since 1.93: +2 -2 lines
Diff to previous 1.93 (colored) next main 1.94 (colored)

Pull up following revision(s) (requested by skrll in ticket #566):
	sys/arch/arm/include/cpu.h: 1.94
	sys/arch/mips/include/cpu.h: 1.122
	sys/arch/powerpc/include/cpu.h: 1.103
	sys/sys/cpu.h: 1.42
CPU_INFO_FOREACH() must always iterate at least the boot cpu.
document this in sys/cpu.h and fix the arm and mips versions
to check ncpu is non zero before using it as an iterator max.
this should fix the new assert in init_main.c.
--
apply the same change for powerpc as mrg did for arm and mips:
CPU_INFO_FOREACH() must always iterate at least the boot cpu.
document this in sys/cpu.h and fix the arm and mips versions
to check ncpu is non zero before using it as an iterator max.
this should fix the new assert in init_main.c.

Revision 1.95 / (download) - annotate - [select for diffs], Wed Jan 24 09:04:45 2018 UTC (6 years, 2 months ago) by skrll
Branch: MAIN
CVS Tags: pgoyette-compat-base, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315
Branch point for: pgoyette-compat
Changes since 1.94: +2 -20 lines
Diff to previous 1.94 (colored)

Remove port-acorn26

OK core@

Revision 1.94 / (download) - annotate - [select for diffs], Sat Dec 16 00:37:51 2017 UTC (6 years, 4 months ago) by mrg
Branch: MAIN
Changes since 1.93: +2 -2 lines
Diff to previous 1.93 (colored)

CPU_INFO_FOREACH() must always iterate at least the boot cpu.
document this in sys/cpu.h and fix the arm and mips versions
to check ncpu is non zero before using it as an iterator max.

this should fix the new assert in init_main.c.

Revision 1.73.2.3 / (download) - annotate - [select for diffs], Sun Dec 3 11:35:53 2017 UTC (6 years, 4 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.73.2.2: +45 -18 lines
Diff to previous 1.73.2.2 (colored) to branchpoint 1.73 (colored) next main 1.74 (colored)

update from HEAD

Revision 1.84.2.3 / (download) - annotate - [select for diffs], Mon Aug 28 17:51:31 2017 UTC (6 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.84.2.2: +10 -7 lines
Diff to previous 1.84.2.2 (colored) to branchpoint 1.84 (colored) next main 1.85 (colored)

Sync with HEAD

Revision 1.90.2.2 / (download) - annotate - [select for diffs], Wed Apr 26 02:53:00 2017 UTC (6 years, 11 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.90.2.1: +6 -3 lines
Diff to previous 1.90.2.1 (colored) to branchpoint 1.90 (colored) next main 1.91 (colored)

Sync with HEAD

Revision 1.90.4.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:53:23 2017 UTC (6 years, 11 months ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.90: +10 -7 lines
Diff to previous 1.90 (colored) next main 1.91 (colored)

Sync with HEAD

Revision 1.93 / (download) - annotate - [select for diffs], Tue Apr 4 09:26:32 2017 UTC (7 years ago) by sevan
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, netbsd-8-base, matt-nb8-mediatek-base, matt-nb8-mediatek, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1
Branch point for: netbsd-8
Changes since 1.92: +1 -1 lines
Diff to previous 1.92 (colored)

Fix rcs tag.

Revision 1.92 / (download) - annotate - [select for diffs], Mon Mar 27 14:26:20 2017 UTC (7 years ago) by skrll
Branch: MAIN
Changes since 1.91: +5 -2 lines
Diff to previous 1.91 (colored)

Expose correct cpu_number(), CPU_IS_PRIMARY() and CPU_INFO_FOREACH() for
modules so that the dtrace module works on an MP system.

Revision 1.90.2.1 / (download) - annotate - [select for diffs], Mon Mar 20 06:57:11 2017 UTC (7 years, 1 month ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.90: +4 -4 lines
Diff to previous 1.90 (colored)

Sync with HEAD

Revision 1.91 / (download) - annotate - [select for diffs], Mon Mar 6 11:10:23 2017 UTC (7 years, 1 month ago) by skrll
Branch: MAIN
CVS Tags: pgoyette-localcount-20170320
Changes since 1.90: +4 -4 lines
Diff to previous 1.90 (colored)

Trailing whitespace

Revision 1.84.2.2 / (download) - annotate - [select for diffs], Sat Jun 6 14:39:56 2015 UTC (8 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.84.2.1: +28 -6 lines
Diff to previous 1.84.2.1 (colored) to branchpoint 1.84 (colored)

Sync with HEAD

Revision 1.90 / (download) - annotate - [select for diffs], Wed Apr 15 21:26:47 2015 UTC (9 years ago) by matt
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, localcount-20160914, bouyer-socketcan-base
Branch point for: pgoyette-localcount, bouyer-socketcan
Changes since 1.89: +5 -5 lines
Diff to previous 1.89 (colored)

Make setsoftast take a cpu_info *

Revision 1.89 / (download) - annotate - [select for diffs], Tue Apr 14 22:36:54 2015 UTC (9 years ago) by jmcneill
Branch: MAIN
Changes since 1.88: +1 -1 lines
Diff to previous 1.88 (colored)

__HAVE_PREEEMPTION -> __HAVE_PREEMPTION

Revision 1.88 / (download) - annotate - [select for diffs], Wed Apr 8 20:42:09 2015 UTC (9 years ago) by matt
Branch: MAIN
Changes since 1.87: +6 -1 lines
Diff to previous 1.87 (colored)

Make sure TPIDRPRw_IS_CURLWP is being used when __HAVE_PREEEMPTION is defined.

Revision 1.87 / (download) - annotate - [select for diffs], Wed Apr 8 18:10:44 2015 UTC (9 years ago) by matt
Branch: MAIN
Changes since 1.86: +11 -2 lines
Diff to previous 1.86 (colored)

Add basic support for __HAVE_PREEMPTION.
Use atomic ops for ci_astpending if __HAVE_PREEMPTION is defined.

Revision 1.86 / (download) - annotate - [select for diffs], Wed Apr 8 07:29:44 2015 UTC (9 years ago) by matt
Branch: MAIN
Changes since 1.85: +9 -1 lines
Diff to previous 1.85 (colored)

Add an agnostic version of curlwp and curcpu() for modules since they won't
know if the kernel was built with TPIDRPRW_IS_CUR{LWP,CPU} or not.

Revision 1.84.2.1 / (download) - annotate - [select for diffs], Mon Apr 6 15:17:52 2015 UTC (9 years ago) by skrll
Branch: nick-nhusb
Changes since 1.84: +9 -6 lines
Diff to previous 1.84 (colored)

Sync with HEAD

Revision 1.85 / (download) - annotate - [select for diffs], Thu Apr 2 03:22:51 2015 UTC (9 years ago) by matt
Branch: MAIN
CVS Tags: nick-nhusb-base-20150406
Changes since 1.84: +9 -6 lines
Diff to previous 1.84 (colored)

Allow TPIDRPRW_IS_CURLWP to be used with MULTIPROCESSOR kernels

Revision 1.83.4.1 / (download) - annotate - [select for diffs], Wed Mar 11 20:22:56 2015 UTC (9 years, 1 month ago) by snj
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-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0
Changes since 1.83: +6 -7 lines
Diff to previous 1.83 (colored) next main 1.84 (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.84 / (download) - annotate - [select for diffs], Sun Nov 23 09:05:23 2014 UTC (9 years, 4 months ago) by skrll
Branch: MAIN
CVS Tags: nick-nhusb-base
Branch point for: nick-nhusb
Changes since 1.83: +6 -7 lines
Diff to previous 1.83 (colored)

Fix TPIDRPRW_IS_CURLWP builds.

A MULTIPROCESSOR kernel requires TPIDRPRW_IS_CURCPU.

Revision 1.73.2.2 / (download) - annotate - [select for diffs], Wed Aug 20 00:02:46 2014 UTC (9 years, 8 months ago) by tls
Branch: tls-maxphys
Changes since 1.73.2.1: +30 -148 lines
Diff to previous 1.73.2.1 (colored) to branchpoint 1.73 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.62.8.4 / (download) - annotate - [select for diffs], Thu May 22 11:39:32 2014 UTC (9 years, 11 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.62.8.3: +31 -148 lines
Diff to previous 1.62.8.3 (colored) to branchpoint 1.62 (colored) next main 1.63 (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.75.2.2 / (download) - annotate - [select for diffs], Sun May 18 17:44:58 2014 UTC (9 years, 11 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.75.2.1: +12 -3 lines
Diff to previous 1.75.2.1 (colored) to branchpoint 1.75 (colored) next main 1.76 (colored)

sync with head

Revision 1.83 / (download) - annotate - [select for diffs], Fri Mar 28 21:44:59 2014 UTC (10 years ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, netbsd-7-base
Branch point for: netbsd-7
Changes since 1.82: +4 -0 lines
Diff to previous 1.82 (colored)

Make ddb_regs, undefined & vfp evcnt's per cpu.

Revision 1.82 / (download) - annotate - [select for diffs], Wed Feb 26 01:57:48 2014 UTC (10 years, 1 month ago) by matt
Branch: MAIN
CVS Tags: riastradh-drm2-base3
Changes since 1.81: +7 -2 lines
Diff to previous 1.81 (colored)

Move some static/global variables to here.

Revision 1.56.10.1 / (download) - annotate - [select for diffs], Sat Feb 15 16:18:36 2014 UTC (10 years, 2 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.56: +77 -176 lines
Diff to previous 1.56 (colored) next main 1.57 (colored)

Merge armv7 support from HEAD, specifically support for the BCM5301X
and BCM56340 evbarm kernels.

Revision 1.81 / (download) - annotate - [select for diffs], Wed Nov 6 02:02:00 2013 UTC (10 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.80: +1 -1 lines
Diff to previous 1.80 (colored)

use cii

Revision 1.75.2.1 / (download) - annotate - [select for diffs], Wed Aug 28 23:59:12 2013 UTC (10 years, 7 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.75: +18 -145 lines
Diff to previous 1.75 (colored)

sync with head

Revision 1.80 / (download) - annotate - [select for diffs], Sun Aug 18 23:14:27 2013 UTC (10 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.79: +1 -1 lines
Diff to previous 1.79 (colored)

Fix CLKF_INTR for EABI to (void) its argument so it isn't mark unused by the
optimizer.

Revision 1.79 / (download) - annotate - [select for diffs], Sun Aug 18 15:58:19 2013 UTC (10 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.78: +4 -0 lines
Diff to previous 1.78 (colored)

<arm/locore.h> fallout (fixes some include ordering errors)

Revision 1.78 / (download) - annotate - [select for diffs], Sun Aug 18 07:36:39 2013 UTC (10 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.77: +3 -0 lines
Diff to previous 1.77 (colored)

If _KMEMUSER, include <sys/intr.h>

Revision 1.77 / (download) - annotate - [select for diffs], Sun Aug 18 06:46:04 2013 UTC (10 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.76: +1 -1 lines
Diff to previous 1.76 (colored)

There are only 16 faults.

Revision 1.76 / (download) - annotate - [select for diffs], Sun Aug 18 06:28:18 2013 UTC (10 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.75: +11 -145 lines
Diff to previous 1.75 (colored)

Move parts of cpu.h that are not needed by MI code in <arm/locore.h>
Don't include <machine/cpu.h> or <machine/frame.h>, use <arm/locore.h>
Use <arm/asm.h> instead of <machine/arm.h>

Revision 1.73.2.1 / (download) - annotate - [select for diffs], Mon Feb 25 00:28:29 2013 UTC (11 years, 1 month ago) by tls
Branch: tls-maxphys
Changes since 1.73: +3 -0 lines
Diff to previous 1.73 (colored)

resync with head

Revision 1.75 / (download) - annotate - [select for diffs], Mon Jan 28 23:49:12 2013 UTC (11 years, 2 months ago) by matt
Branch: MAIN
CVS Tags: riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, khorben-n900, agc-symver-base, agc-symver
Branch point for: rmind-smpnet
Changes since 1.74: +1 -0 lines
Diff to previous 1.74 (colored)

Add a machdep.fpu_present sysctl for ld.elf_so to use in ld.so.conf to load
libc_vfp.so.

Revision 1.62.8.3 / (download) - annotate - [select for diffs], Wed Jan 23 00:05:42 2013 UTC (11 years, 2 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.62.8.2: +2 -0 lines
Diff to previous 1.62.8.2 (colored) to branchpoint 1.62 (colored)

sync with head

Revision 1.74 / (download) - annotate - [select for diffs], Wed Dec 26 18:32:41 2012 UTC (11 years, 3 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base8
Changes since 1.73: +2 -0 lines
Diff to previous 1.73 (colored)

Add vfp_kernel_acquire and vfp_kernel_release prototypes.

Revision 1.62.14.1.2.1 / (download) - annotate - [select for diffs], Wed Nov 28 22:40:28 2012 UTC (11 years, 4 months ago) by matt
Branch: matt-nb6-plus
Changes since 1.62.14.1: +73 -60 lines
Diff to previous 1.62.14.1 (colored) next main 1.63 (colored)

Merge improved arm support (especially Cortex) from HEAD
including OMAP and BCM53xx support.

Revision 1.62.8.2 / (download) - annotate - [select for diffs], Tue Oct 30 17:19:04 2012 UTC (11 years, 5 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.62.8.1: +71 -58 lines
Diff to previous 1.62.8.1 (colored) to branchpoint 1.62 (colored)

sync with head

Revision 1.73 / (download) - annotate - [select for diffs], Fri Sep 7 11:48:59 2012 UTC (11 years, 7 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base7, yamt-pagecache-base6
Branch point for: tls-maxphys
Changes since 1.72: +1 -0 lines
Diff to previous 1.72 (colored)

Switch cortex_a9 back to need_ptesync = 1
Add code to disable the L2 cache on cortex-a9 (for now).
Add evcnt for all the fault types.
Move cache info in a structure and have one for the pcache and one for scache.
Probe L1/L2 caches properly for ARMv7

Revision 1.72 / (download) - annotate - [select for diffs], Wed Aug 29 23:10:31 2012 UTC (11 years, 7 months ago) by matt
Branch: MAIN
Changes since 1.71: +44 -23 lines
Diff to previous 1.71 (colored)

Don't use locations in .data to store exception temporaries, use decidicated
space in cpu_info instead.  This also moves undefined_handler_address into
cpu_info as well.
Use the new armreg* inlines for getting TPIDRPRW register.
Add MULTIPROCESSOR version of CPU_INFO_FOREACH

Revision 1.71 / (download) - annotate - [select for diffs], Wed Aug 29 18:44:56 2012 UTC (11 years, 7 months ago) by matt
Branch: MAIN
Changes since 1.70: +0 -2 lines
Diff to previous 1.70 (colored)

Remove undeeded struct device;

Revision 1.70 / (download) - annotate - [select for diffs], Wed Aug 29 17:44:25 2012 UTC (11 years, 7 months ago) by matt
Branch: MAIN
Changes since 1.69: +1 -1 lines
Diff to previous 1.69 (colored)

Use new armv7 CP15 register to print out cache types.
If the cpu_cc_freq is set, report it.
Add macros to make inlines for reading/writing co-processor registers.

Revision 1.69 / (download) - annotate - [select for diffs], Wed Aug 29 07:14:05 2012 UTC (11 years, 7 months ago) by matt
Branch: MAIN
Changes since 1.68: +5 -7 lines
Diff to previous 1.68 (colored)

Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP}
since TPIDRPRW is the cp15 register name.
Initialize it early in start along with CI_ARM_CPUID.
Remove other initializations.
We alays have ci_curlwp.
Enable TIPRPRW_IS_CURCPU in std.beagle.
[tested on a beaglboard (cortex-a8)]

Revision 1.68 / (download) - annotate - [select for diffs], Thu Aug 16 17:35:01 2012 UTC (11 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.67: +2 -3 lines
Diff to previous 1.67 (colored)

small rototill.
pcb_flags is dead.  PCB_NOALIGNFLT is now in stored l_md.md_flags as
MDLWP_NOALIGNFLT.  This avoids a few loads of the PCB in exception handling.
pcb_tf has been moved to l_md.md_tf.  Again this avoids a lot of pcb
references just to access or set this.  It also means that pcb doesn't
need to accessed by MI code.
Move pcb_onfault to after the pcb union.
Add pcb_sp macro to make code prettier.
Add lwp_settrapframe(l, tf) to set the l_md.md_tf field.
Use lwp_trapframe to access it (was process_frame but that name was changed
in a previous commit).
Kill off curpcb in acorn26.
Kill the checks for curlwp being NULL.
Move TRAP_USERMODE from arm32/fault.c to frame.h and a __PROG26 version.
Replace tests for usermode with that macro.

Revision 1.67 / (download) - annotate - [select for diffs], Tue Aug 14 20:42:33 2012 UTC (11 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.66: +7 -12 lines
Diff to previous 1.66 (colored)

Kill curpcb/ci_curpcb.  Use device_t in cpu_info.
Add ci_softc (where ci_curpcb was so cpu_info doesn't change).

Revision 1.66 / (download) - annotate - [select for diffs], Sun Aug 12 05:05:47 2012 UTC (11 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.65: +7 -6 lines
Diff to previous 1.65 (colored)

Rework VFP support to use PCU.
Add emulation of instruction which save/restore the VFP FPSCR.
Add a sysarch hook to VFP FPSCR manipulation.

[The emulation will be used by libc to store/fetch exception modes and
rounding mode on a per-thread basis.]

Revision 1.62.14.1 / (download) - annotate - [select for diffs], Thu Aug 9 06:36:47 2012 UTC (11 years, 8 months ago) by jdc
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, 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
Branch point for: matt-nb6-plus
Changes since 1.62: +1 -1 lines
Diff to previous 1.62 (colored) next main 1.63 (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.65 / (download) - annotate - [select for diffs], Thu Aug 2 15:56:07 2012 UTC (11 years, 8 months ago) by skrll
Branch: MAIN
Changes since 1.64: +3 -3 lines
Diff to previous 1.64 (colored)

Remove irqframe and replace with identical trapframe.

Revision 1.64 / (download) - annotate - [select for diffs], Mon Jul 16 06:26:43 2012 UTC (11 years, 9 months ago) by skrll
Branch: MAIN
Changes since 1.63: +1 -1 lines
Diff to previous 1.63 (colored)

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

Discussed with matt@. "Looks good to me"

Revision 1.62.8.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:06:05 2012 UTC (12 years ago) by yamt
Branch: yamt-pagecache
Changes since 1.62: +3 -3 lines
Diff to previous 1.62 (colored)

sync with head

Revision 1.62.12.1 / (download) - annotate - [select for diffs], Sat Feb 18 07:31:27 2012 UTC (12 years, 2 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.62: +3 -3 lines
Diff to previous 1.62 (colored) next main 1.63 (colored)

merge to -current.

Revision 1.63 / (download) - annotate - [select for diffs], Thu Feb 16 02:30:32 2012 UTC (12 years, 2 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, 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
Changes since 1.62: +3 -3 lines
Diff to previous 1.62 (colored)

expose cpu structures to kmemuser and prevent opt_*.h from being included
if kmemuser

Revision 1.59.4.1 / (download) - annotate - [select for diffs], Sat Mar 5 20:49:35 2011 UTC (13 years, 1 month ago) by rmind
Branch: rmind-uvmplock
Changes since 1.59: +6 -2 lines
Diff to previous 1.59 (colored) next main 1.60 (colored)

sync with head

Revision 1.62 / (download) - annotate - [select for diffs], Sat Nov 13 13:13:33 2010 UTC (13 years, 5 months ago) by uebayasi
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, uebayasi-xip-base7, uebayasi-xip-base6, rmind-uvmplock-nbase, rmind-uvmplock-base, netbsd-6-base, matt-mips64-premerge-20101231, jym-xensuspend-nbase, jym-xensuspend-base, jruoho-x86intr-base, jruoho-x86intr, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: yamt-pagecache, netbsd-6, jmcneill-usbmp
Changes since 1.61: +1 -0 lines
Diff to previous 1.61 (colored)

Include sys/device_if.h instead of sys/device.h.  machine/cpu.h is
one of the lower-most definitions.  Relying on the huge sys/device.h
is not a good idea.

Revision 1.61 / (download) - annotate - [select for diffs], Sat Nov 13 12:44:28 2010 UTC (13 years, 5 months ago) by uebayasi
Branch: MAIN
Changes since 1.60: +1 -1 lines
Diff to previous 1.60 (colored)

Include sys/evcnt.h for struct evcnt.

Revision 1.59.2.1 / (download) - annotate - [select for diffs], Tue Aug 17 06:44:03 2010 UTC (13 years, 8 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59: +4 -1 lines
Diff to previous 1.59 (colored) next main 1.60 (colored)

Sync with HEAD.

Revision 1.53.4.4 / (download) - annotate - [select for diffs], Wed Aug 11 22:51:41 2010 UTC (13 years, 8 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.53.4.3: +4 -1 lines
Diff to previous 1.53.4.3 (colored) to branchpoint 1.53 (colored) next main 1.54 (colored)

sync with head.

Revision 1.60 / (download) - annotate - [select for diffs], Wed Jul 7 01:17:27 2010 UTC (13 years, 9 months ago) by chs
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base5, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2
Changes since 1.59: +4 -1 lines
Diff to previous 1.59 (colored)

implement ucas_* for arm.

Revision 1.53.4.3 / (download) - annotate - [select for diffs], Thu Mar 11 15:02:06 2010 UTC (14 years, 1 month ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.53.4.2: +3 -4 lines
Diff to previous 1.53.4.2 (colored) to branchpoint 1.53 (colored)

sync with head

Revision 1.59 / (download) - annotate - [select for diffs], Thu Dec 10 05:10:01 2009 UTC (14 years, 4 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, uebayasi-xip-base1, uebayasi-xip-base, matt-premerge-20091211
Branch point for: uebayasi-xip, rmind-uvmplock
Changes since 1.58: +1 -1 lines
Diff to previous 1.58 (colored)

Rename L_ADDR to L_PCB and amend some comments accordingly.

Revision 1.58 / (download) - annotate - [select for diffs], Sat Nov 21 20:32:27 2009 UTC (14 years, 5 months ago) by rmind
Branch: MAIN
Changes since 1.57: +2 -3 lines
Diff to previous 1.57 (colored)

Use lwp_getpcb() on ARM (and acorn26/32), clean from struct user usage.

Revision 1.53.4.2 / (download) - annotate - [select for diffs], Mon May 4 08:10:42 2009 UTC (14 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.53.4.1: +17 -7 lines
Diff to previous 1.53.4.1 (colored) to branchpoint 1.53 (colored)

sync with head.

Revision 1.56.2.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:15:59 2009 UTC (15 years, 3 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.56: +15 -6 lines
Diff to previous 1.56 (colored) next main 1.57 (colored)

Sync with HEAD.

Revision 1.57 / (download) - annotate - [select for diffs], Sun Jan 18 00:36:29 2009 UTC (15 years, 3 months ago) by bjh21
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, jymxensuspend-base, jym-xensuspend
Changes since 1.56: +15 -6 lines
Diff to previous 1.56 (colored)

Define a version of GET_CURCPU, GET_CURLWP, and GET_CURPCB for use on
old uniprocessor ARMs, and re-arrange the ifdefs so that it gets
used on 26-bit systems as well.  This allows us to uniformly use these
macros everywhere.

Revision 1.54.6.1 / (download) - annotate - [select for diffs], Sun Oct 19 22:15:41 2008 UTC (15 years, 6 months ago) by haad
Branch: haad-dm
Changes since 1.54: +2 -1 lines
Diff to previous 1.54 (colored) next main 1.55 (colored)

Sync with HEAD.

Revision 1.51.6.3 / (download) - annotate - [select for diffs], Sun Sep 28 10:39:49 2008 UTC (15 years, 6 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.51.6.2: +2 -1 lines
Diff to previous 1.51.6.2 (colored) to branchpoint 1.51 (colored) next main 1.52 (colored)

Sync with HEAD.

Revision 1.54.2.1 / (download) - annotate - [select for diffs], Thu Sep 18 04:33:21 2008 UTC (15 years, 7 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.54: +2 -1 lines
Diff to previous 1.54 (colored) next main 1.55 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.56 / (download) - annotate - [select for diffs], Thu Aug 7 04:11:07 2008 UTC (15 years, 8 months ago) by matt
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, mjf-devfs2-base, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, matt-nb5-mips64
Changes since 1.55: +2 -1 lines
Diff to previous 1.55 (colored)

Only call dosoftints() is ci_intr_depth == 0

Revision 1.55 / (download) - annotate - [select for diffs], Thu Aug 7 03:58:15 2008 UTC (15 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.54: +1 -1 lines
Diff to previous 1.54 (colored)

Do fast softint processing in DO_AST_AND_RESTORE_ALIGNMENT_FAULTS.
Redo the softint mask so ci_softints >> ci_cpl != 0 becomes an easy
test for work to be done.

Revision 1.51.6.2 / (download) - annotate - [select for diffs], Mon Jun 2 13:21:54 2008 UTC (15 years, 10 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.51.6.1: +100 -10 lines
Diff to previous 1.51.6.1 (colored) to branchpoint 1.51 (colored)

Sync with HEAD.

Revision 1.53.2.1 / (download) - annotate - [select for diffs], Sun May 18 12:31:36 2008 UTC (15 years, 11 months ago) by yamt
Branch: yamt-pf42
Changes since 1.53: +100 -10 lines
Diff to previous 1.53 (colored) next main 1.54 (colored)

sync with head.

Revision 1.53.4.1 / (download) - annotate - [select for diffs], Fri May 16 02:21:56 2008 UTC (15 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.53: +100 -10 lines
Diff to previous 1.53 (colored)

sync with head.

Revision 1.54 / (download) - annotate - [select for diffs], Sun Apr 27 18:58:44 2008 UTC (15 years, 11 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, hpcarm-cleanup-nbase
Branch point for: wrstuden-revivesa, haad-dm
Changes since 1.53: +100 -10 lines
Diff to previous 1.53 (colored)

Merge kernel changes in matt-armv6 to HEAD.

Revision 1.51.6.1 / (download) - annotate - [select for diffs], Thu Apr 3 12:42:12 2008 UTC (16 years ago) by mjf
Branch: mjf-devfs2
Changes since 1.51: +9 -10 lines
Diff to previous 1.51 (colored)

Sync with HEAD.

Revision 1.51.2.1 / (download) - annotate - [select for diffs], Mon Mar 24 07:14:53 2008 UTC (16 years ago) by keiichi
Branch: keiichi-mipv6
Changes since 1.51: +9 -10 lines
Diff to previous 1.51 (colored) next main 1.52 (colored)

sync with head.

Revision 1.45.4.8 / (download) - annotate - [select for diffs], Sun Mar 23 02:03:55 2008 UTC (16 years, 1 month ago) by matt
Branch: matt-armv6
Changes since 1.45.4.7: +9 -10 lines
Diff to previous 1.45.4.7 (colored) to branchpoint 1.45 (colored) next main 1.46 (colored)

sync with HEAD

Revision 1.45.2.6 / (download) - annotate - [select for diffs], Fri Mar 21 13:34:41 2008 UTC (16 years, 1 month ago) by chris
Branch: chris-arm-intr-rework
Changes since 1.45.2.5: +9 -10 lines
Diff to previous 1.45.2.5 (colored) to branchpoint 1.45 (colored) next main 1.46 (colored)

Sync with head.

Revision 1.36.12.7 / (download) - annotate - [select for diffs], Mon Mar 17 09:14:15 2008 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.36.12.6: +9 -10 lines
Diff to previous 1.36.12.6 (colored) to branchpoint 1.36 (colored) next main 1.37 (colored)

sync with head.

Revision 1.53 / (download) - annotate - [select for diffs], Sat Mar 15 10:16:43 2008 UTC (16 years, 1 month ago) by rearnsha
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, chris-arm-intr-rework-base7, ad-socklock-base1
Branch point for: yamt-pf42, yamt-nfs-mp
Changes since 1.52: +9 -1 lines
Diff to previous 1.52 (colored)

VFP support.

Revision 1.44.6.4 / (download) - annotate - [select for diffs], Thu Feb 28 21:47:43 2008 UTC (16 years, 1 month ago) by rjs
Branch: hpcarm-cleanup
Changes since 1.44.6.3: +3 -4 lines
Diff to previous 1.44.6.3 (colored) to branchpoint 1.44 (colored) next main 1.45 (colored)

Sync with HEAD.

Revision 1.52 / (download) - annotate - [select for diffs], Wed Feb 27 18:26:15 2008 UTC (16 years, 1 month ago) by xtraeme
Branch: MAIN
Changes since 1.51: +1 -10 lines
Diff to previous 1.51 (colored)

Remove CTL_MACHDEP_NAMES, it's not used anywhere.

Ok by martin@.

Revision 1.51 / (download) - annotate - [select for diffs], Tue Feb 19 07:43:29 2008 UTC (16 years, 2 months ago) by dogcow
Branch: MAIN
CVS Tags: nick-net80211-sync-base, nick-net80211-sync, hpcarm-cleanup-base
Branch point for: mjf-devfs2, keiichi-mipv6
Changes since 1.50: +0 -4 lines
Diff to previous 1.50 (colored)

revert previous; as yamt pointed out, these bits are in <sys/cpu.h>.

Revision 1.50 / (download) - annotate - [select for diffs], Tue Feb 19 07:04:42 2008 UTC (16 years, 2 months ago) by dogcow
Branch: MAIN
Changes since 1.49: +5 -1 lines
Diff to previous 1.49 (colored)

cargo-cult CPU_INFOITERATOR and _FOREACH to make kern_prf.c build again.
These should probably be abstracted out to sys/cpu.h at some point, since
they don't really change from arch to arch.

Revision 1.47.2.1 / (download) - annotate - [select for diffs], Mon Feb 18 21:04:23 2008 UTC (16 years, 2 months ago) by mjf
Branch: mjf-devfs
Changes since 1.47: +3 -4 lines
Diff to previous 1.47 (colored) next main 1.48 (colored)

Sync with HEAD.

Revision 1.45.2.5 / (download) - annotate - [select for diffs], Sat Feb 9 17:32:42 2008 UTC (16 years, 2 months ago) by chris
Branch: chris-arm-intr-rework
Changes since 1.45.2.4: +2 -2 lines
Diff to previous 1.45.2.4 (colored) to branchpoint 1.45 (colored)

Fix acorn32 to boot.  Also fix cpu.h, a change sneaked in that isn't
currently being used.

Revision 1.45.2.4 / (download) - annotate - [select for diffs], Sat Feb 9 13:01:38 2008 UTC (16 years, 2 months ago) by chris
Branch: chris-arm-intr-rework
Changes since 1.45.2.3: +2 -2 lines
Diff to previous 1.45.2.3 (colored) to branchpoint 1.45 (colored)

Add initial reworking of acorn32 to use new interrupt code.

Note that cats probably won't work currently as acorn32 changed the way
that the pic is registered, it has to provide the irq lines as on acorn32
we attach the iomd after we need to register irqs for the pioc.  So we
setup the irqs for iomd before malloc etc are available.  This needs
to be fixed.

More work is still needed to update most of the podulebus drivers.
First I need to add podulebus wrapper for interrupts that handles the
maskaddr and maskbits.   Exposing them to the common irq code is wrong.

Revision 1.45.4.7 / (download) - annotate - [select for diffs], Mon Jan 28 18:20:39 2008 UTC (16 years, 2 months ago) by matt
Branch: matt-armv6
Changes since 1.45.4.6: +24 -3 lines
Diff to previous 1.45.4.6 (colored) to branchpoint 1.45 (colored)

Add fast softint switching support.

Revision 1.36.12.6 / (download) - annotate - [select for diffs], Mon Jan 21 09:35:41 2008 UTC (16 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.36.12.5: +4 -4 lines
Diff to previous 1.36.12.5 (colored) to branchpoint 1.36 (colored)

sync with head

Revision 1.45.2.3 / (download) - annotate - [select for diffs], Sun Jan 20 16:04:00 2008 UTC (16 years, 3 months ago) by chris
Branch: chris-arm-intr-rework
Changes since 1.45.2.2: +3 -4 lines
Diff to previous 1.45.2.2 (colored) to branchpoint 1.45 (colored)

Sync to HEAD.

Revision 1.45.4.6 / (download) - annotate - [select for diffs], Wed Jan 9 01:45:17 2008 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.45.4.5: +1 -1 lines
Diff to previous 1.45.4.5 (colored) to branchpoint 1.45 (colored)

sync with HEAD

Revision 1.47.8.2 / (download) - annotate - [select for diffs], Tue Jan 8 22:09:27 2008 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.47.8.1: +2 -3 lines
Diff to previous 1.47.8.1 (colored) to branchpoint 1.47 (colored) next main 1.48 (colored)

Sync with HEAD

Revision 1.49 / (download) - annotate - [select for diffs], Sun Jan 6 03:11:42 2008 UTC (16 years, 3 months ago) by matt
Branch: MAIN
CVS Tags: mjf-devfs-base, matt-armv6-base, chris-arm-intr-rework-base6, chris-arm-intr-rework-base5, chris-arm-intr-rework-base4, bouyer-xeni386-nbase, bouyer-xeni386-base
Changes since 1.48: +3 -4 lines
Diff to previous 1.48 (colored)

current_intr_depth is dead.  Make sure we don't use it anymore.

Revision 1.45.2.2 / (download) - annotate - [select for diffs], Tue Jan 1 15:39:29 2008 UTC (16 years, 3 months ago) by chris
Branch: chris-arm-intr-rework
Changes since 1.45.2.1: +3 -12 lines
Diff to previous 1.45.2.1 (colored) to branchpoint 1.45 (colored)

Sync with HEAD.

Revision 1.44.6.3 / (download) - annotate - [select for diffs], Wed Dec 26 22:24:38 2007 UTC (16 years, 3 months ago) by rjs
Branch: hpcarm-cleanup
Changes since 1.44.6.2: +2 -1 lines
Diff to previous 1.44.6.2 (colored) to branchpoint 1.44 (colored)

Sync with HEAD.

Revision 1.47.4.1 / (download) - annotate - [select for diffs], Wed Dec 26 19:42:01 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking2
Changes since 1.47: +2 -1 lines
Diff to previous 1.47 (colored) next main 1.48 (colored)

Sync with head.

Revision 1.47.8.1 / (download) - annotate - [select for diffs], Thu Dec 13 21:54:35 2007 UTC (16 years, 4 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.47: +2 -1 lines
Diff to previous 1.47 (colored)

Sync with HEAD

Revision 1.47.6.1 / (download) - annotate - [select for diffs], Thu Dec 13 05:05:13 2007 UTC (16 years, 4 months ago) by yamt
Branch: yamt-kmem
Changes since 1.47: +2 -1 lines
Diff to previous 1.47 (colored) next main 1.48 (colored)

sync with head.

Revision 1.48 / (download) - annotate - [select for diffs], Tue Dec 11 17:02:32 2007 UTC (16 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: yamt-kmem-base3, vmlocking2-base3, cube-autoconf-base, cube-autoconf, chris-arm-intr-rework-base3
Changes since 1.47: +2 -1 lines
Diff to previous 1.47 (colored)

Add cpu_intr_p().

Revision 1.45.4.5 / (download) - annotate - [select for diffs], Fri Nov 9 05:37:39 2007 UTC (16 years, 5 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.45.4.4: +15 -10 lines
Diff to previous 1.45.4.4 (colored) to branchpoint 1.45 (colored)

Make all the evbarm kernels build again.  Fix lossage from rebase.

Revision 1.45.4.4 / (download) - annotate - [select for diffs], Tue Nov 6 23:15:03 2007 UTC (16 years, 5 months ago) by matt
Branch: matt-armv6
Changes since 1.45.4.3: +1 -7 lines
Diff to previous 1.45.4.3 (colored) to branchpoint 1.45 (colored)

sync with HEAD

Revision 1.36.12.5 / (download) - annotate - [select for diffs], Sat Oct 27 11:25:23 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.36.12.4: +2 -12 lines
Diff to previous 1.36.12.4 (colored) to branchpoint 1.36 (colored)

sync with head.

Revision 1.47 / (download) - annotate - [select for diffs], Wed Oct 17 19:53:41 2007 UTC (16 years, 6 months ago) by garbled
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-kmem-base2, yamt-kmem-base, vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, jmcneill-base, bouyer-xenamd64-base2, bouyer-xenamd64-base
Branch point for: yamt-kmem, vmlocking2, mjf-devfs, bouyer-xeni386
Changes since 1.46: +1 -1 lines
Diff to previous 1.46 (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.42.4.4 / (download) - annotate - [select for diffs], Tue Oct 9 13:37:31 2007 UTC (16 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.42.4.3: +2 -12 lines
Diff to previous 1.42.4.3 (colored) to branchpoint 1.42 (colored) next main 1.43 (colored)

Sync with head.

Revision 1.44.6.2 / (download) - annotate - [select for diffs], Sat Oct 6 18:08:51 2007 UTC (16 years, 6 months ago) by rjs
Branch: hpcarm-cleanup
Changes since 1.44.6.1: +2 -12 lines
Diff to previous 1.44.6.1 (colored) to branchpoint 1.44 (colored)

Sync with HEAD.

Revision 1.45.6.1 / (download) - annotate - [select for diffs], Sat Oct 6 15:36:50 2007 UTC (16 years, 6 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.45: +2 -12 lines
Diff to previous 1.45 (colored) next main 1.46 (colored)

sync with head.

Revision 1.42.12.3 / (download) - annotate - [select for diffs], Wed Oct 3 19:22:41 2007 UTC (16 years, 6 months ago) by garbled
Branch: ppcoea-renovation
Changes since 1.42.12.2: +3 -12 lines
Diff to previous 1.42.12.2 (colored) to branchpoint 1.42 (colored) next main 1.43 (colored)

Sync with HEAD

Revision 1.44.8.2 / (download) - annotate - [select for diffs], Tue Oct 2 18:26:54 2007 UTC (16 years, 6 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.44.8.1: +2 -12 lines
Diff to previous 1.44.8.1 (colored) to branchpoint 1.44 (colored) next main 1.45 (colored)

Sync with HEAD.

Revision 1.44.6.1 / (download) - annotate - [select for diffs], Tue Oct 2 17:51:48 2007 UTC (16 years, 6 months ago) by rjs
Branch: hpcarm-cleanup
Changes since 1.44: +2 -1 lines
Diff to previous 1.44 (colored)

Sync with HEAD.

Revision 1.46 / (download) - annotate - [select for diffs], Tue Oct 2 11:07:20 2007 UTC (16 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base3, yamt-x86pmap-base2, vmlocking-base, ppcoea-renovation-base, bouyer-xenamd64
Changes since 1.45: +2 -12 lines
Diff to previous 1.45 (colored)

Make want_resched a member of cpu_info.

Revision 1.45.4.3 / (download) - annotate - [select for diffs], Sun Sep 9 00:39:48 2007 UTC (16 years, 7 months ago) by matt
Branch: matt-armv6
Changes since 1.45.4.2: +12 -2 lines
Diff to previous 1.45.4.2 (colored) to branchpoint 1.45 (colored)

Make sure we won't set NULL curlwp.

Revision 1.36.12.4 / (download) - annotate - [select for diffs], Mon Sep 3 14:23:19 2007 UTC (16 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.36.12.3: +19 -13 lines
Diff to previous 1.36.12.3 (colored) to branchpoint 1.36 (colored)

sync with head.

Revision 1.45.4.2 / (download) - annotate - [select for diffs], Wed Aug 29 03:05:04 2007 UTC (16 years, 7 months ago) by matt
Branch: matt-armv6
Changes since 1.45.4.1: +3 -1 lines
Diff to previous 1.45.4.1 (colored) to branchpoint 1.45 (colored)

If we are doing PROCESS_ID_IS_CURLWP, we don't need a ci_curlwp.

Revision 1.45.4.1 / (download) - annotate - [select for diffs], Tue Aug 28 16:54:46 2007 UTC (16 years, 7 months ago) by matt
Branch: matt-armv6
Changes since 1.45: +62 -14 lines
Diff to previous 1.45 (colored)

Move curpcb, curlwp, astpending, want_resched, current_spl_level,
and current_intr_depth to cpu_info.
Add support for storing either curlwp or curcpu in the ARMv6
supervisor process/thread id coprocessor register.
Add LWP0_CPU_INFO to store location of static cpu_info for lwp0 static
initialization.
Use cpsi[ed] on ARMv6.

Revision 1.42.4.3 / (download) - annotate - [select for diffs], Mon Aug 20 18:37:27 2007 UTC (16 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.42.4.2: +2 -1 lines
Diff to previous 1.42.4.2 (colored) to branchpoint 1.42 (colored)

Sync with HEAD.

Revision 1.44.4.1 / (download) - annotate - [select for diffs], Wed Aug 15 13:47:08 2007 UTC (16 years, 8 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.44: +2 -1 lines
Diff to previous 1.44 (colored) next main 1.45 (colored)

Sync with HEAD.

Revision 1.45.2.1 / (download) - annotate - [select for diffs], Sat Aug 11 21:14:51 2007 UTC (16 years, 8 months ago) by chris
Branch: chris-arm-intr-rework
Changes since 1.45: +13 -2 lines
Diff to previous 1.45 (colored)

Initial check-in of reworked arm interrupt routines.

Main things to note on this branch:
* spl routines are inlined, less complex, and small (kernel drops in size)
* interrupts are handled in priority order (for most things it doesn't
  matter, but pending ipls are used to determine if there is any work to do)
* arm_irqhandler.c is derived from footbridge_irqhandler.c, which was based
  on work by thorpej.
* The code tries to touch hardware as little as possible.
* spl masks are no longer tracked, as the system is based on pending ipls

The shared code uses global ipl lists to track which interrupt handlers
are attached to which ipl (arm_iplq[]).

Interrupt sources register with the common code to indicate:
* how many irq lines they have
* a function to set the hardware mask.
* call arm_intr_claim and arm_intr_disestablish to setup handlers

When an interrupt occurs the ipl is flagged as pending, in ipls_pending.
If it can be handled at the current_ipl_level the code does so.
If it can't be handled it's left until the current_ipl_level drops.

As the ipl level changes down a quick test is made of the new ipl level
against the ipls_pending value.  If an ipl is pending arm_intr_splx_lifter
is called to handle the pending ipls.

It should be noted that all interrupts are left enabled at the hardware
level, interrupts are only masked when they occur.  They are only
re-enabled after it's interrupt handler is called.  Hardware masks are not
changed at any other time.

Soft interrupts are treated the same as hardware interrupts, they
register as a provider, and do not get treated specially.  All the soft
interrupt handlers are placed onto the relevant global ipl queue, the same
as hard interrupts handlers.

At the moment only footbridge within a cats has been updated to use the new
handling.

Todo:
* change the handling of interrupts, so that the hardware doesn't register
  a routine to fetch the hardware status.  Instead is makes a call which
  provides the mask.  This removes the primary flag when registering an
  interrupt provider.  It also makes more sense with multiple interrupt
  sources.
* Arm v5 has the clz asm, which could be used instead of the carefully
  hand rolled arm_intr_fls function.
* switch cats isa support to use this framework.
* switch iomd and acorn32 to use this framework.
* switch shark to use this framework.
* port any other arm platforms that are interested
* examine overlaps between this code and ppcoea-renovation branch.
* add support for different trigger types (Edge, level, pulse, etc)

(note that iomd and shark currently touch hardware on every spl change,
hence why they're targets to port)

Revision 1.44.2.1 / (download) - annotate - [select for diffs], Tue Aug 7 18:05:01 2007 UTC (16 years, 8 months ago) by matt
Branch: matt-mips64
Changes since 1.44: +2 -1 lines
Diff to previous 1.44 (colored) next main 1.45 (colored)

Sync with HEAD.

Revision 1.44.8.1 / (download) - annotate - [select for diffs], Sat Aug 4 12:32:59 2007 UTC (16 years, 8 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.44: +2 -1 lines
Diff to previous 1.44 (colored)

Sync with HEAD.

Revision 1.45 / (download) - annotate - [select for diffs], Sat Aug 4 09:49:51 2007 UTC (16 years, 8 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base, nick-csl-alignment-base5, matt-mips64-base, chris-arm-intr-rework-base2, chris-arm-intr-rework-base
Branch point for: yamt-x86pmap, matt-armv6, chris-arm-intr-rework
Changes since 1.44: +2 -1 lines
Diff to previous 1.44 (colored)

Add ci_cpuid where it's missing.

Revision 1.42.6.1 / (download) - annotate - [select for diffs], Wed Jul 11 19:58:09 2007 UTC (16 years, 9 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.42: +18 -13 lines
Diff to previous 1.42 (colored) next main 1.43 (colored)

Sync with head.

Revision 1.42.12.2 / (download) - annotate - [select for diffs], Tue Jun 26 18:12:14 2007 UTC (16 years, 9 months ago) by garbled
Branch: ppcoea-renovation
Changes since 1.42.12.1: +4 -1 lines
Diff to previous 1.42.12.1 (colored) to branchpoint 1.42 (colored)

Sync with HEAD.

Revision 1.42.4.2 / (download) - annotate - [select for diffs], Sat Jun 9 23:54:57 2007 UTC (16 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.42.4.1: +4 -1 lines
Diff to previous 1.42.4.1 (colored) to branchpoint 1.42 (colored)

Sync with head.

Revision 1.44 / (download) - annotate - [select for diffs], Fri Jun 1 11:31:01 2007 UTC (16 years, 10 months ago) by skrll
Branch: MAIN
CVS Tags: nick-csl-alignment-base, mjf-ufs-trans-base
Branch point for: nick-csl-alignment, matt-mips64, jmcneill-pm, hpcarm-cleanup
Changes since 1.43: +4 -1 lines
Diff to previous 1.43 (colored)

Another missed changed for acorn26 idlelwp. Provide IRQenable/IRQdisable
macros.

Revision 1.42.4.1 / (download) - annotate - [select for diffs], Sun May 27 12:27:09 2007 UTC (16 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.42: +15 -13 lines
Diff to previous 1.42 (colored)

Sync with head.

Revision 1.42.12.1 / (download) - annotate - [select for diffs], Tue May 22 17:26:40 2007 UTC (16 years, 11 months ago) by matt
Branch: ppcoea-renovation
Changes since 1.42: +15 -13 lines
Diff to previous 1.42 (colored)

Update to HEAD.

Revision 1.43 / (download) - annotate - [select for diffs], Thu May 17 14:51:16 2007 UTC (16 years, 11 months ago) by yamt
Branch: MAIN
Changes since 1.42: +15 -13 lines
Diff to previous 1.42 (colored)

merge yamt-idlelwp branch.  asked by core@.  some ports still needs work.

from doc/BRANCHES:

	idle lwp, and some changes depending on it.

	1. separate context switching and thread scheduling.
	   (cf. gmcgarry_ctxsw)
	2. implement idle lwp.
	3. clean up related MD/MI interfaces.
	4. make scheduler(s) modular.

Revision 1.42.10.1 / (download) - annotate - [select for diffs], Thu Apr 19 01:04:20 2007 UTC (17 years ago) by thorpej
Branch: thorpej-atomic
Changes since 1.42: +1 -5 lines
Diff to previous 1.42 (colored) next main 1.43 (colored)

Convert to the new atomic ops API.

Revision 1.41.2.3 / (download) - annotate - [select for diffs], Sun Apr 8 08:17:52 2007 UTC (17 years ago) by skrll
Branch: yamt-idlelwp
Changes since 1.41.2.2: +6 -2 lines
Diff to previous 1.41.2.2 (colored) next main 1.42 (colored)

Set curlwp in cpu_switchto and provide a cpu_did_resched.

Who is copying who now?

Revision 1.41.2.2 / (download) - annotate - [select for diffs], Thu Mar 29 10:52:27 2007 UTC (17 years ago) by skrll
Branch: yamt-idlelwp
Changes since 1.41.2.1: +10 -12 lines
Diff to previous 1.41.2.1 (colored)

Adapt arm32. Thanks to scw for helping out.

Tested on my cats (SA1)

XXX hydra should die. i've made some changes, but no guarantees.

Revision 1.41.2.1 / (download) - annotate - [select for diffs], Tue Feb 27 16:49:35 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-idlelwp
Changes since 1.41: +6 -4 lines
Diff to previous 1.41 (colored)

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

Revision 1.36.12.3 / (download) - annotate - [select for diffs], Mon Feb 26 09:05:58 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.36.12.2: +6 -13 lines
Diff to previous 1.36.12.2 (colored) to branchpoint 1.36 (colored)

sync with head.

Revision 1.42 / (download) - annotate - [select for diffs], Sun Feb 18 07:25:35 2007 UTC (17 years, 2 months ago) by matt
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.41: +6 -4 lines
Diff to previous 1.41 (colored)

Changes for newlock2.

Revision 1.41 / (download) - annotate - [select for diffs], Fri Feb 16 02:53:44 2007 UTC (17 years, 2 months ago) by ad
Branch: MAIN
Branch point for: yamt-idlelwp
Changes since 1.40: +1 -10 lines
Diff to previous 1.40 (colored)

Remove spllowersoftclock() and CLKF_BASEPRI(), and always dispatch callouts
via a soft interrupt. In the near future, softclock will be run from process
context.

Revision 1.36.12.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:45:33 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.36.12.1: +18 -1 lines
Diff to previous 1.36.12.1 (colored) to branchpoint 1.36 (colored)

sync with head.

Revision 1.38.4.1 / (download) - annotate - [select for diffs], Sat Sep 9 02:37:59 2006 UTC (17 years, 7 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.38: +19 -2 lines
Diff to previous 1.38 (colored) next main 1.39 (colored)

sync with head

Revision 1.38.8.2 / (download) - annotate - [select for diffs], Fri Aug 11 15:41:10 2006 UTC (17 years, 8 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.38.8.1: +18 -1 lines
Diff to previous 1.38.8.1 (colored) to branchpoint 1.38 (colored) next main 1.39 (colored)

sync with head

Revision 1.40 / (download) - annotate - [select for diffs], Sat Aug 5 22:54:28 2006 UTC (17 years, 8 months ago) by bjh21
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-splraiseipl-base2, yamt-splraiseipl-base, yamt-splraiseipl, 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, post-newlock2-merge, newlock2-nbase, newlock2-base, newlock2, 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
Changes since 1.39: +18 -1 lines
Diff to previous 1.39 (colored)

Centralize the various checks for validity of a CPU context in one macro,
so we don't have to get it right in lots of different places.

Revision 1.36.12.1 / (download) - annotate - [select for diffs], Wed Jun 21 14:49:16 2006 UTC (17 years, 10 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.36: +7 -7 lines
Diff to previous 1.36 (colored)

sync with head.

Revision 1.38.12.1 / (download) - annotate - [select for diffs], Wed May 24 15:47:51 2006 UTC (17 years, 11 months ago) by tron
Branch: peter-altq
Changes since 1.38: +2 -2 lines
Diff to previous 1.38 (colored) next main 1.39 (colored)

Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.

Revision 1.38.6.1 / (download) - annotate - [select for diffs], Sat Apr 22 11:37:17 2006 UTC (18 years ago) by simonb
Branch: simonb-timecounters
CVS Tags: simonb-timcounters-final
Changes since 1.38: +2 -2 lines
Diff to previous 1.38 (colored) next main 1.39 (colored)

Sync with head.

Revision 1.38.10.1 / (download) - annotate - [select for diffs], Wed Apr 19 02:32:07 2006 UTC (18 years ago) by elad
Branch: elad-kernelauth
Changes since 1.38: +2 -2 lines
Diff to previous 1.38 (colored) next main 1.39 (colored)

sync with head - hopefully this will work

Revision 1.38.8.1 / (download) - annotate - [select for diffs], Tue Apr 11 11:53:26 2006 UTC (18 years ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.38: +2 -2 lines
Diff to previous 1.38 (colored)

sync with head

Revision 1.39 / (download) - annotate - [select for diffs], Wed Apr 5 00:15:25 2006 UTC (18 years ago) by uwe
Branch: MAIN
CVS Tags: yamt-pdpolicy-base6, yamt-pdpolicy-base5, yamt-pdpolicy-base4, simonb-timecounters-base, gdamore-uart-base, gdamore-uart, elad-kernelauth-base, chap-midi-nbase, chap-midi-base, chap-midi
Changes since 1.38: +2 -2 lines
Diff to previous 1.38 (colored)

Don't define, just declare want_resched here.

Revision 1.38 / (download) - annotate - [select for diffs], Sun Dec 11 12:16:46 2005 UTC (18 years, 4 months ago) by christos
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, peter-altq-base
Branch point for: yamt-pdpolicy, simonb-timecounters, rpaulo-netinet-merge-pcb, peter-altq, elad-kernelauth
Changes since 1.37: +1 -1 lines
Diff to previous 1.37 (colored)

merge ktrace-lwp.

Revision 1.34.2.5 / (download) - annotate - [select for diffs], Thu Nov 10 13:55:16 2005 UTC (18 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.34.2.4: +6 -6 lines
Diff to previous 1.34.2.4 (colored) next main 1.35 (colored)

Sync with HEAD. Here we go again...

Revision 1.37 / (download) - annotate - [select for diffs], Thu Aug 11 20:32:55 2005 UTC (18 years, 8 months ago) by cube
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
Changes since 1.36: +6 -6 lines
Diff to previous 1.36 (colored)

Change all archs that did:

#define clockframe somethingelse

to:

struct clockframe {
	struct somethingelse cf_se;
};

and change access macros accordingly.

That means that, at least for that very issue, things will not go
ka-boomy if you don't have the actual definition of struct clockframe
before including systm.h.

Revision 1.34.2.4 / (download) - annotate - [select for diffs], Fri Sep 24 10:53:16 2004 UTC (19 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.34.2.3: +3 -7 lines
Diff to previous 1.34.2.3 (colored)

Sync with HEAD.

Revision 1.36 / (download) - annotate - [select for diffs], Wed Sep 22 11:32:02 2004 UTC (19 years, 7 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
Branch point for: yamt-lazymbuf
Changes since 1.35: +3 -7 lines
Diff to previous 1.35 (colored)

move some per-cpu data definitions to MI place so that they can be modified
without touching all ports.  discussed on tech-kern@.

Revision 1.34.2.3 / (download) - annotate - [select for diffs], Tue Sep 21 13:13:19 2004 UTC (19 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.34.2.2: +1 -1 lines
Diff to previous 1.34.2.2 (colored)

Fix the sync with head I botched.

Revision 1.34.2.2 / (download) - annotate - [select for diffs], Sat Sep 18 14:32:24 2004 UTC (19 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.34.2.1: +0 -0 lines
Diff to previous 1.34.2.1 (colored)

Sync with HEAD.

Revision 1.34.2.1 / (download) - annotate - [select for diffs], Tue Aug 3 10:32:37 2004 UTC (19 years, 8 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.34: +1 -3 lines
Diff to previous 1.34 (colored)

Sync with HEAD

Revision 1.35 / (download) - annotate - [select for diffs], Sun Jan 4 11:33:29 2004 UTC (20 years, 3 months ago) by jdolecek
Branch: MAIN
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-base, 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-0, netbsd-2
Changes since 1.34: +1 -3 lines
Diff to previous 1.34 (colored)

Rearrange process exit path to avoid need to free resources from different
process context ('reaper').

From within the exiting process context:
* deactivate pmap and free vmspace while we can still block
* introduce MD cpu_lwp_free() - this cleans all MD-specific context (such
  as FPU state), and is the last potentially blocking operation;
  all of cpu_wait(), and most of cpu_exit(), is now folded into cpu_lwp_free()
* process is now immediatelly marked as zombie and made available for pickup
  by parent; the remaining last lwp continues the exit as fully detached
* MI (rather than MD) code bumps uvmexp.swtch, cpu_exit() is now same
  for both 'process' and 'lwp' exit

uvm_lwp_exit() is modified to never block; the u-area memory is now
always just linked to the list of available u-areas. Introduce (blocking)
uvm_uarea_drain(), which is called to release the excessive u-area memory;
this is called by parent within wait4(), or by pagedaemon on memory shortage.
uvm_uarea_free() is now private function within uvm_glue.c.

MD process/lwp exit code now always calls lwp_exit2() immediatelly after
switching away from the exiting lwp.

g/c now unneeded routines and variables, including the reaper kernel thread

Revision 1.34 / (download) - annotate - [select for diffs], Mon Jun 23 11:01:08 2003 UTC (20 years, 10 months ago) by martin
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.33: +2 -1 lines
Diff to previous 1.33 (colored)

Make sure to include opt_foo.h if a defflag option FOO is used.

Revision 1.33 / (download) - annotate - [select for diffs], Fri Jan 17 22:28:48 2003 UTC (21 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.32: +12 -5 lines
Diff to previous 1.32 (colored)

Merge the nathanw_sa branch.

Revision 1.16.2.13 / (download) - annotate - [select for diffs], Tue Dec 31 02:37:58 2002 UTC (21 years, 3 months ago) by thorpej
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.16.2.12: +6 -2 lines
Diff to previous 1.16.2.12 (colored) to branchpoint 1.16 (colored) next main 1.17 (colored)

Copy/initialize PMC state in cpu_proc_fork().

Revision 1.16.2.12 / (download) - annotate - [select for diffs], Fri Oct 18 02:35:27 2002 UTC (21 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.16.2.11: +10 -4 lines
Diff to previous 1.16.2.11 (colored) to branchpoint 1.16 (colored)

Catch up to -current.

Revision 1.32 / (download) - annotate - [select for diffs], Sun Oct 13 12:24:58 2002 UTC (21 years, 6 months ago) by bjh21
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base, kqueue-beforemerge, kqueue-aftermerge, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, fvdl_fs64_base, bjh21-hydra-base, bjh21-hydra
Changes since 1.31: +4 -4 lines
Diff to previous 1.31 (colored)

It appears that MI code requires ci_cpuid to be the CPU number of the CPU
in question, whereas the ARM code was using it to hold the model
identification.  To fix this, rename:

ci_cpuid -> ci_arm_cpuid
ci_cputype -> ci_arm_cputype (for consistency)
ci_cpurev -> ci_arm_cpurev (ditto)
ci_cpunum -> ci_cpuid

This makes top(1) give correct CPU numbers in its "STATE" column (all 0 for
now).

Revision 1.31 / (download) - annotate - [select for diffs], Sat Oct 12 21:06:47 2002 UTC (21 years, 6 months ago) by bjh21
Branch: MAIN
Changes since 1.30: +2 -1 lines
Diff to previous 1.30 (colored)

Remember the location of each CPU's idle PCB in struct cpu_info.
Move allocation of the idle PCB from hydra.c to cpu.c and add some
extra initialisation from cpu_fork().

Revision 1.30 / (download) - annotate - [select for diffs], Sat Oct 5 13:47:00 2002 UTC (21 years, 6 months ago) by bjh21
Branch: MAIN
Changes since 1.29: +6 -1 lines
Diff to previous 1.29 (colored)

Minimal changes to allow a kernel with "options MULTIPROCESSOR" to compile
and boot multi-user on a single-processor machine.  Many of these changes
are wildly inappropriate for actual multi-processor operation, and correcting
this will be my next task.

Revision 1.14.2.6 / (download) - annotate - [select for diffs], Fri Sep 6 08:32:36 2002 UTC (21 years, 7 months ago) by jdolecek
Branch: kqueue
Changes since 1.14.2.5: +15 -8 lines
Diff to previous 1.14.2.5 (colored) next main 1.15 (colored)

sync kqueue branch with HEAD

Revision 1.27.2.1 / (download) - annotate - [select for diffs], Fri Aug 30 00:19:11 2002 UTC (21 years, 7 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.27: +15 -8 lines
Diff to previous 1.27 (colored) next main 1.28 (colored)

catch up with -current.

Revision 1.16.2.11 / (download) - annotate - [select for diffs], Mon Aug 19 21:39:14 2002 UTC (21 years, 8 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.16.2.10: +15 -8 lines
Diff to previous 1.16.2.10 (colored) to branchpoint 1.16 (colored)

Partial (ARM only) sync with trunk -- significant performance improvements
for XScale-based systems.

Revision 1.29 / (download) - annotate - [select for diffs], Fri Aug 16 15:25:54 2002 UTC (21 years, 8 months ago) by thorpej
Branch: MAIN
CVS Tags: kqueue-base, gehenna-devsw-base
Changes since 1.28: +9 -2 lines
Diff to previous 1.28 (colored)

* Add a new machdep.powersave sysctl, which controls the use of
  the CPU's "sleep" function in the idle loop.
* Default all CPUs to not use powersave, except for the PDA processors
  (SA11x0 and PXA2x0).

This significantly reduces inteterrupt latency in high-performance
applications (and was good to squeeze another ~10% out of an XScale
IOP on a Gig-E benchmark).

Revision 1.28 / (download) - annotate - [select for diffs], Wed Aug 14 21:55:52 2002 UTC (21 years, 8 months ago) by briggs
Branch: MAIN
Changes since 1.27: +7 -7 lines
Diff to previous 1.27 (colored)

Inline SetCPSR calls where it seems prudent to do so.  This avoids two
branches and allows the compiler to better utilize registers around
calls to disable/enable/restore_interrupts().

Revision 1.14.2.5 / (download) - annotate - [select for diffs], Sun Jun 23 17:34:50 2002 UTC (21 years, 10 months ago) by jdolecek
Branch: kqueue
Changes since 1.14.2.4: +28 -8 lines
Diff to previous 1.14.2.4 (colored)

catch up with -current on kqueue branch

Revision 1.16.2.10 / (download) - annotate - [select for diffs], Thu Jun 20 03:38:09 2002 UTC (21 years, 10 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.16.2.9: +6 -5 lines
Diff to previous 1.16.2.9 (colored) to branchpoint 1.16 (colored)

Catch up to -current.

Revision 1.27 / (download) - annotate - [select for diffs], Wed May 8 22:22:46 2002 UTC (21 years, 11 months ago) by thorpej
Branch: MAIN
CVS Tags: netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6
Branch point for: gehenna-devsw
Changes since 1.26: +6 -5 lines
Diff to previous 1.26 (colored)

Hard-wire CLKF_BASEPRI() to 0 on the ARM, since spllowersoftclock() might
not actually be able to unblock the interrupt, which would cause us
to run the softclock interrupts with hardclock blocked.

Per discussion w/ Charles Hannum.

Revision 1.16.2.9 / (download) - annotate - [select for diffs], Wed Apr 17 00:02:29 2002 UTC (22 years ago) by nathanw
Branch: nathanw_sa
Changes since 1.16.2.8: +19 -2 lines
Diff to previous 1.16.2.8 (colored) to branchpoint 1.16 (colored)

Catch up to -current.

Revision 1.26 / (download) - annotate - [select for diffs], Fri Apr 12 18:50:29 2002 UTC (22 years ago) by thorpej
Branch: MAIN
Changes since 1.25: +2 -2 lines
Diff to previous 1.25 (colored)

Centralize ARM CPU configuration information by adding a new header
file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines
the following:
* CPU_NTYPES -- now many CPU types are configured into the kernel.  What
  you really want to know is "== 1" or "> 1".
* Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending
  on which ARM architecture versions are configured (based on CPU_*
  options).  Also defines ARM_NARCH to determins how many architecture
  versions are configured.
* Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on
  which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS
  to determine how many MMU classes are configured.

Remove the needless inclusion of "opt_cputypes.h" in several places.
Convert remaining users to <arm/cpuconf.h>.

Revision 1.25 / (download) - annotate - [select for diffs], Wed Apr 3 23:33:30 2002 UTC (22 years ago) by thorpej
Branch: MAIN
Changes since 1.24: +18 -1 lines
Diff to previous 1.24 (colored)

Clean up handling of the vector page on 32-bit ARM systems:
* Don't refer to VA 0, instead refer to a new variable: vector_page
* Delete the old zero_page_*() functions, replacing them with a new
  one: vector_page_setprot().
* When manipulating vector page mappings in user pmaps, only do so if
  the vector page is below KERNEL_BASE (if it's above KERNEL_BASE, the
  vector page is mapped by the kernel pmap).
* Add a new function, arm32_vector_init(), which takes the virtual
  address of the vector page (which MUST be valid when the function
  is called) and a bitmask of vectors the kernel is going to take
  over, and performs all vector page initialization, including setting
  the V bit in the CPU Control register ("relocate vectors to high
  address"), if necessary.

Revision 1.16.2.8 / (download) - annotate - [select for diffs], Mon Apr 1 07:39:10 2002 UTC (22 years ago) by nathanw
Branch: nathanw_sa
Changes since 1.16.2.7: +9 -2 lines
Diff to previous 1.16.2.7 (colored) to branchpoint 1.16 (colored)

Catch up to -current.
(CVS: It's not just a program. It's an adventure!)

Revision 1.24 / (download) - annotate - [select for diffs], Sun Mar 24 22:02:59 2002 UTC (22 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.23: +4 -2 lines
Diff to previous 1.23 (colored)

Cache the cpu type and cpu revision in cpu_info.

Revision 1.23 / (download) - annotate - [select for diffs], Sun Mar 24 15:49:40 2002 UTC (22 years, 1 month ago) by bjh21
Branch: MAIN
Changes since 1.22: +2 -2 lines
Diff to previous 1.22 (colored)

arm26->acorn26 transition.

Revision 1.14.2.4 / (download) - annotate - [select for diffs], Sat Mar 16 15:56:08 2002 UTC (22 years, 1 month ago) by jdolecek
Branch: kqueue
Changes since 1.14.2.3: +6 -1 lines
Diff to previous 1.14.2.3 (colored)

Catch up with -current.

Revision 1.22 / (download) - annotate - [select for diffs], Sun Mar 10 11:06:01 2002 UTC (22 years, 1 month ago) by bjh21
Branch: MAIN
CVS Tags: eeh-devprop-base, eeh-devprop
Changes since 1.21: +2 -1 lines
Diff to previous 1.21 (colored)

Add a ci_dev element to struct cpu_info, pointing to the device that
corresponds to the CPU.

Revision 1.21 / (download) - annotate - [select for diffs], Sat Mar 9 21:30:58 2002 UTC (22 years, 1 month ago) by bjh21
Branch: MAIN
CVS Tags: newlock-base, newlock
Changes since 1.20: +3 -1 lines
Diff to previous 1.20 (colored)

Replace cpu_id and cpu_ctrl in struct _cpu with ci_cpuid and ci_ctrl in
struct cpu_info.  Also kill the cpuctrl global while we're here, and make
identify_arm_cpu() take a struct cpu_info * as an argument alongside the CPU
number.

Revision 1.20 / (download) - annotate - [select for diffs], Sat Mar 9 19:11:21 2002 UTC (22 years, 1 month ago) by bjh21
Branch: MAIN
Changes since 1.19: +3 -1 lines
Diff to previous 1.19 (colored)

Move arm700bugcount into stuct cpu_info, and attach it in
identify_master_cpu().

Revision 1.16.2.7 / (download) - annotate - [select for diffs], Thu Feb 28 04:07:32 2002 UTC (22 years, 1 month ago) by nathanw
Branch: nathanw_sa
Changes since 1.16.2.6: +4 -1 lines
Diff to previous 1.16.2.6 (colored) to branchpoint 1.16 (colored)

Catch up to -current.

Revision 1.14.2.3 / (download) - annotate - [select for diffs], Mon Feb 11 20:07:20 2002 UTC (22 years, 2 months ago) by jdolecek
Branch: kqueue
Changes since 1.14.2.2: +4 -1 lines
Diff to previous 1.14.2.2 (colored)

Sync w/ -current.

Revision 1.19 / (download) - annotate - [select for diffs], Sun Jan 20 03:41:48 2002 UTC (22 years, 3 months ago) by thorpej
Branch: MAIN
CVS Tags: ifpoll-base
Changes since 1.18: +4 -1 lines
Diff to previous 1.18 (colored)

Some prototype cleanup.

Revision 1.14.2.2 / (download) - annotate - [select for diffs], Thu Jan 10 19:37:53 2002 UTC (22 years, 3 months ago) by thorpej
Branch: kqueue
Changes since 1.14.2.1: +9 -17 lines
Diff to previous 1.14.2.1 (colored)

Sync kqueue branch with -current.

Revision 1.16.2.6 / (download) - annotate - [select for diffs], Tue Jan 8 00:23:11 2002 UTC (22 years, 3 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.16.2.5: +7 -16 lines
Diff to previous 1.16.2.5 (colored) to branchpoint 1.16 (colored)

Catch up to -current.

Revision 1.18 / (download) - annotate - [select for diffs], Fri Dec 21 22:56:17 2001 UTC (22 years, 4 months ago) by bjh21
Branch: MAIN
Changes since 1.17: +1 -3 lines
Diff to previous 1.17 (colored)

Merge ast() and userret() between arm32 and arm26.  The implementation used
is the arm32 one.

Revision 1.16.2.5 / (download) - annotate - [select for diffs], Sat Dec 8 08:22:39 2001 UTC (22 years, 4 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.16.2.4: +2 -1 lines
Diff to previous 1.16.2.4 (colored) to branchpoint 1.16 (colored)

Add a cpu_proc_fork(), called from uvm_proc_fork(), which takes care
of machine-dependent handling a fork() time (this is different from
forking the actual context in an LWP world).  #define it away on
platforms which do not need it.

Problem noted by Gregory McGarry.

Revision 1.17 / (download) - annotate - [select for diffs], Thu Nov 22 18:00:00 2001 UTC (22 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.16: +6 -15 lines
Diff to previous 1.16 (colored)

Add 26-bit and 32-bit types.h files, which indicate the programming
model in use for a given platform (__PROG26 vs __PROG32), then pulls
in <arm/types.h>.  Change each ARM port to pull in <arm/arm26/types.h>
or <arm/arm32/types.h> as appropriate.  Change all references to PROG26
and PROG32 to __PROG26 and __PROG32.  Eliminate the opt_progmode.h
header file.

Revision 1.16.2.4 / (download) - annotate - [select for diffs], Thu Nov 15 08:16:26 2001 UTC (22 years, 5 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.16.2.3: +2 -4 lines
Diff to previous 1.16.2.3 (colored) to branchpoint 1.16 (colored)

Machine-dependent kernel mods for scheduler activations on
26-bit ARM processors.  Kernel builds, but I have no 26-bit
ARM with which I can test, at the moment.

Revision 1.16.2.3 / (download) - annotate - [select for diffs], Thu Nov 15 07:37:41 2001 UTC (22 years, 5 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.16.2.2: +4 -4 lines
Diff to previous 1.16.2.2 (colored) to branchpoint 1.16 (colored)

PROC_PC -> LWP_PC

Revision 1.16.2.2 / (download) - annotate - [select for diffs], Thu Nov 15 06:39:22 2001 UTC (22 years, 5 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.16.2.1: +266 -0 lines
Diff to previous 1.16.2.1 (colored) to branchpoint 1.16 (colored)

Machine-dependent kernel mods for scheduler activations on
32-bit ARM processors.  Kernel boots multi-user on an XScale,
but upcalls not yet tested.

Revision 1.15.4.1 / (download) - annotate - [select for diffs], Mon Nov 12 21:16:32 2001 UTC (22 years, 5 months ago) by thorpej
Branch: thorpej-mips-cache
Changes since 1.15: +4 -1 lines
Diff to previous 1.15 (colored) next main 1.16 (colored)

Sync the thorpej-mips-cache branch with -current.

Revision 1.16.2.1, Fri Nov 9 17:58:00 2001 UTC (22 years, 5 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.16: +0 -264 lines
FILE REMOVED

file cpu.h was added on branch nathanw_sa on 2001-11-15 06:39:22 +0000

Revision 1.16 / (download) - annotate - [select for diffs], Fri Nov 9 17:58:00 2001 UTC (22 years, 5 months ago) by thorpej
Branch: MAIN
CVS Tags: thorpej-mips-cache-base
Branch point for: nathanw_sa
Changes since 1.15: +4 -1 lines
Diff to previous 1.15 (colored)

Implement a badaddr_read() routine which performs a load of the
specified size for the caller, and returns true or false indicating
whether or not a Data Abort occurred (i.e. the address was "bad").

Revision 1.14.2.1 / (download) - annotate - [select for diffs], Fri Aug 3 04:11:01 2001 UTC (22 years, 8 months ago) by lukem
Branch: kqueue
Changes since 1.14: +1 -7 lines
Diff to previous 1.14 (colored)

update to -current

Revision 1.15 / (download) - annotate - [select for diffs], Tue Jul 10 20:43:57 2001 UTC (22 years, 9 months ago) by bjh21
Branch: MAIN
CVS Tags: thorpej-devvp-base3, thorpej-devvp-base2, thorpej-devvp-base, thorpej-devvp, pre-chs-ubcperf, post-chs-ubcperf
Branch point for: thorpej-mips-cache
Changes since 1.14: +1 -7 lines
Diff to previous 1.14 (colored)

Purge CPU_ARM7500.  Thanks to Reinoud's work, it's no longer needed.

Revision 1.14 / (download) - annotate - [select for diffs], Mon Jul 9 21:46:19 2001 UTC (22 years, 9 months ago) by reinoud
Branch: MAIN
Branch point for: kqueue
Changes since 1.13: +1 -10 lines
Diff to previous 1.13 (colored)

Initial commit for merging A7000/NC with the RISCPC in order to get _one_
bootable GENERAL kernel for the 3 machines.

This is done by integrating the ARM7500 in a better way. In various places
the IOMD ID is checked and action is taken at runtime compared to
compiletime.

The small piece of assembler that is changed now uses the flag
`arm7500_ioc_found' that is set up by iomd.c at startup. When this chip
isnt found at startup it will skip reading the ARM7500 extended IRQ
registers and wont clear them either.

The next step will be getting the mode-definition files to the bootloader.
Currently they are compiled in.

Revision 1.9.2.1 / (download) - annotate - [select for diffs], Thu Jun 21 19:18:56 2001 UTC (22 years, 10 months ago) by nathanw
Changes since 1.9: +69 -54 lines
Diff to previous 1.9 (colored) next main 1.10 (colored)

Catch up to -current.

Revision 1.13 / (download) - annotate - [select for diffs], Thu Jun 14 22:56:56 2001 UTC (22 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.12: +1 -4 lines
Diff to previous 1.12 (colored)

Don't need to prototype child_return() here, it's in <sys/proc.h>.

Revision 1.12 / (download) - annotate - [select for diffs], Sun May 13 14:17:37 2001 UTC (22 years, 11 months ago) by bjh21
Branch: MAIN
Changes since 1.11: +1 -4 lines
Diff to previous 1.11 (colored)

strstr() is no longer used in the kernel.  G/C it.

Revision 1.11 / (download) - annotate - [select for diffs], Tue Apr 24 18:20:21 2001 UTC (23 years ago) by bjh21
Branch: MAIN
CVS Tags: thorpej_scsipi_beforemerge
Changes since 1.10: +69 -51 lines
Diff to previous 1.10 (colored)

Rather large overhaul.  Mostly cosmetic, but also:

Provide PROC_PC on arm26.
Provide working CLKF_INTR on arm26.
Make setsoftast a macro everywhere.

Revision 1.9.4.3 / (download) - annotate - [select for diffs], Mon Apr 23 09:41:34 2001 UTC (23 years ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.9.4.2: +4 -1 lines
Diff to previous 1.9.4.2 (colored) next main 1.10 (colored)

Sync with HEAD.

Revision 1.10 / (download) - annotate - [select for diffs], Fri Apr 20 18:08:49 2001 UTC (23 years ago) by matt
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_base
Changes since 1.9: +4 -1 lines
Diff to previous 1.9 (colored)

Split cpu from mainbus so that cpu can attached to other buses (like ofbus).

Revision 1.9.4.2 / (download) - annotate - [select for diffs], Mon Mar 12 13:27:21 2001 UTC (23 years, 1 month ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.9.4.1: +261 -0 lines
Diff to previous 1.9.4.1 (colored)

Sync with HEAD.

Revision 1.9.4.1, Wed Feb 28 18:15:43 2001 UTC (23 years, 1 month ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.9: +0 -261 lines
FILE REMOVED

file cpu.h was added on branch thorpej_scsipi on 2001-03-12 13:27:21 +0000

Revision 1.9 / (download) - annotate - [select for diffs], Wed Feb 28 18:15:43 2001 UTC (23 years, 1 month ago) by bjh21
Branch: MAIN
Branch point for: thorpej_scsipi
Changes since 1.8: +4 -2 lines
Diff to previous 1.8 (colored)

PCB convergence, part the first:
Move the pointer to the current user trapframe from struct mdproc to struct
pcb (as on arm26).  Only tested by compiling kernels on arm32 and
hpcarm (dnard seems to be incomplete anyway).  Someone should try running one.

Revision 1.8 / (download) - annotate - [select for diffs], Wed Feb 28 00:17:18 2001 UTC (23 years, 1 month ago) by bjh21
Branch: MAIN
Changes since 1.7: +70 -28 lines
Diff to previous 1.7 (colored)

Large overhaul for arm26 compatibility.  This file is now even more of a mess
than it was.

Revision 1.7 / (download) - annotate - [select for diffs], Tue Feb 27 17:35:49 2001 UTC (23 years, 1 month ago) by bjh21
Branch: MAIN
Changes since 1.6: +12 -5 lines
Diff to previous 1.6 (colored)

Tidy up ARM7500 restrictions.
Also insist on precisely one of PROG32 and PROG26's being turned on.

Revision 1.6 / (download) - annotate - [select for diffs], Tue Feb 27 16:00:27 2001 UTC (23 years, 1 month ago) by reinoud
Branch: MAIN
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

cpu_number() macro has no args

Revision 1.5 / (download) - annotate - [select for diffs], Tue Feb 27 15:39:57 2001 UTC (23 years, 1 month ago) by reinoud
Branch: MAIN
Changes since 1.4: +3 -1 lines
Diff to previous 1.4 (colored)

Rollback of patch ... there was a bug in the proc.h

Revision 1.4 / (download) - annotate - [select for diffs], Tue Feb 27 00:16:48 2001 UTC (23 years, 1 month ago) by reinoud
Branch: MAIN
Changes since 1.3: +1 -4 lines
Diff to previous 1.3 (colored)

Due to changes in ../sys/proc.h ``cpu_wait(p)'' is now a function due to the
prototype defined it in ... added it to arm/vm_machdep.c since all ARM machines
are still single processor anyway

Revision 1.3 / (download) - annotate - [select for diffs], Sun Feb 25 21:31:13 2001 UTC (23 years, 1 month ago) by bjh21
Branch: MAIN
Changes since 1.2: +3 -106 lines
Diff to previous 1.2 (colored)

Move arm32 ports over to using <arm/armreg.h>, so <cpu.h> mostly contains
NetBSD-specific definitions.

This also entails some changes to the way CPU identification is done.  I hope
I've got it right.

Revision 1.2 / (download) - annotate - [select for diffs], Sun Feb 25 17:04:54 2001 UTC (23 years, 1 month ago) by bjh21
Branch: MAIN
Changes since 1.1: +1 -3 lines
Diff to previous 1.1 (colored)

COPY_SIGCODE is never referenced in the kernel, and the comment attached to it
is out of date. Assume it's obsolete and g/c it.

Revision 1.1 / (download) - annotate - [select for diffs], Fri Feb 23 21:23:47 2001 UTC (23 years, 1 month ago) by reinoud
Branch: MAIN

Big patch for merging common include files of the new hpcarm tree and the old arm32
tree into the new arm substree. All moved files are relinked with a stub that included
the file from the new location; this might be done better later.

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>