|
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE yamt-pagecache-base9 yamt-pagecache-tag8 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE rmind-smpnet-nbase rmind-smpnet-base agc-symver-base tls-maxphys-base yamt-pagecache-base8 yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase jym-xensuspend-nbase bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-nb5-pq3-base netbsd-5-1-RELEASE yamt-nfs-mp-base11 netbsd-5-1-RC4 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE yamt-nfs-mp-base8 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base haad-dm-base1 haad-dm-base simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase hpcarm-cleanup-base mjf-devfs2-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase reinoud-bufcleanup-base vmlocking2-base1 vmlocking-nbase bouyer-xenamd64-base mjf-devfs-base bouyer-xenamd64-base2 jmcneill-pm-base
|
| 1.1 |
10-Nov-2007 |
matt |
branches: 1.1.2; file arm1136_pmc.c was initially added on branch matt-nb4-arm.
|
| 1.9 |
19-Dec-2025 |
nia |
Remove the advertising clause from Microsoft's licenses.
Thanks to Scott Hanselman at Microsoft for turning the wheels to get this approved!
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.8 |
20-Jun-2020 |
skrll |
KNF #includes
Remove some unnecessary ones while I'm here.
|
| 1.7 |
20-Jun-2020 |
skrll |
Trailing whitespace
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
| 1.6 |
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728
|
| 1.5 |
12-Jul-2018 |
maxv |
Remove the kernel PMC code. Sent yesterday on tech-kern@.
This change:
* Removes "options PERFCTRS", the associated includes, and the associated ifdefs. In doing so, it removes several XXXSMPs in the MI code, which is good.
* Removes the PMC code of ARM XSCALE.
* Removes all the pmc.h files. They were all empty, except for ARM XSCALE.
* Reorders the x86 PMC code not to rely on the legacy pmc.h file. The definitions are put in sysarch.h.
* Removes the kern/sys_pmc.c file, and along with it, the sys_pmc_control and sys_pmc_get_info syscalls. They are marked as OBSOL in kern, netbsd32 and rump.
* Removes the pmc_evid_t and pmc_ctr_t types.
* Removes all the associated man pages. The sets are marked as obsolete.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-7-2-RELEASE netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.4 |
01-Dec-2013 |
joerg |
branches: 1.4.28; 1.4.30; Mark unused inline functions as such.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base uebayasi-xip-base6 uebayasi-xip-base5 netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 netbsd-5-1-RC4 matt-nb5-mips64-k15 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base simonb-wapbl-nbase simonb-wapbl-base mjf-devfs2-base
|
| 1.3 |
03-Jul-2008 |
matt |
branches: 1.3.14; 1.3.30; 1.3.40; 1.3.46; Fix a typo in the delay loop time delta calculation.
From Irme Desk <imre.deak@teleca.com>.
|
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
| 1.2 |
27-Apr-2008 |
matt |
branches: 1.2.2; 1.2.4; Merge kernel changes in matt-armv6 to HEAD.
|
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase reinoud-bufcleanup-base vmlocking2-base1 matt-armv6-base matt-armv6-nbase jmcneill-base mjf-devfs-base hpcarm-cleanup-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 vmlocking-base yamt-x86pmap-base2 jmcneill-pm-base
|
| 1.1 |
25-Sep-2007 |
matt |
branches: 1.1.2; 1.1.18; 1.1.20; 1.1.22; file arm11_pmc.c was initially added on branch matt-armv6.
|
| 1.46 |
19-Dec-2025 |
nia |
Remove the advertising clause from Microsoft's licenses.
Thanks to Scott Hanselman at Microsoft for turning the wheels to get this approved!
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base thorpej-ifq-base thorpej-altq-separation-base
|
| 1.45 |
22-Dec-2022 |
ryo |
Explicitly disable overflow interrupts before enabling the cycle counter.
|
|
Revision tags: netbsd-10-base bouyer-sunxi-drm-base
|
| 1.44 |
31-Oct-2021 |
skrll |
branches: 1.44.4; 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 tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 thorpej-i2c-spi-conf-base
|
| 1.43 |
03-Jun-2021 |
skrll |
Mirror changes to passing pages to UVM into aarch64_machdep.c
Two fixes for loading free pages into UVM
- Only consider a boot_physmem (inner loop) range that has its end (bp_end) after the bootconfig.dram (outer loop) range start (start). This was harmless as a later condition correctly checks there is only something to do if start < bp_end.
- Stop processing boot_physmem ranges if all the bootconfig.dram range has been passed to UVM. This fixes a boot problem for simon@
Copy a comment over and do the VPRINTF before the uvm_page_physload in the same way as aarch64_machdep.c as well.
|
|
Revision tags: cjep_sun2x-base
|
| 1.42 |
01-Jun-2021 |
skrll |
branches: 1.42.2; G/C
|
|
Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base
|
| 1.41 |
01-Dec-2020 |
rin |
branches: 1.41.4; Switch earmv6{,hf}eb to BE8 in kernel side.
My strategy here is to define _ARM_ARCH_BE8 macro in arm/cdefs.h, if __ARMEB__ && _ARM_ARCH_6.
Use this macro to determine whether system is compiled for and running on BE8 mode or not.
Note that, for __ARMEB__, some conditions become compile-time constants determined by _ARM_ARCH_BE8 macro, e.g., whether BE8 or BE32 are accepted as a userland binary, or unaligned memory access is possible or not.
|
| 1.40 |
11-Sep-2020 |
skrll |
branches: 1.40.2; Wrap a long comment
|
| 1.39 |
10-Jul-2020 |
skrll |
Add support for KASAN on ARMv[67]
Thanks to maxv for many pointers and reviews.
|
| 1.38 |
06-Jun-2020 |
skrll |
KNF
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
| 1.37 |
15-Feb-2020 |
skrll |
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 tags: ad-namecache-base2 ad-namecache-base1
|
| 1.36 |
08-Jan-2020 |
jmcneill |
cpu_hatch is too late to report AP topology, do it at attach time instead
|
|
Revision tags: ad-namecache-base
|
| 1.35 |
20-Dec-2019 |
ad |
branches: 1.35.2; Some more CPU topology stuff:
- Use cegger@'s ACPI SRAT parsing code to figure out NUMA node ID for each CPU as it is attached.
- For scheduler experiments with SMT, flag CPUs with the lowest numbered SMT IDs as "primaries", link back to the primaries from secondaries, and build a circular list of CPUs in each package with identical SMT IDs.
- No need for package/core/smt/numa IDs to be anything other than a u_int.
|
| 1.34 |
02-Dec-2019 |
ad |
Take the basic CPU topology information we already collect, and use it to make circular lists of CPU siblings in the same core, and in the same package. Nothing fancy, just enough to have a bit of fun in the scheduler trying out different tactics.
|
|
Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
| 1.33 |
16-Mar-2019 |
skrll |
branches: 1.33.4; Flush the BP cache just before starting APs so that cache coherency starts with a correct view.
|
| 1.32 |
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
|
Revision tags: pgoyette-compat-20190127
|
| 1.31 |
25-Jan-2019 |
skrll |
Make sure ci_{smt,core,package}_id are all filled in appropriately.
Previously the BP was missed and __SHIFTOUT wasn't used.
|
|
Revision tags: pgoyette-compat-20190118
|
| 1.30 |
03-Jan-2019 |
skrll |
Simplify
|
| 1.29 |
03-Jan-2019 |
jmcneill |
Read mpidr and cpuid from the secondary processor itself instead of the boot processor. While here, add Cortex-A15 r4p0 to supported list.
|
| 1.28 |
03-Jan-2019 |
skrll |
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 tags: pgoyette-compat-1226 pgoyette-compat-1126
|
| 1.27 |
31-Oct-2018 |
skrll |
Tidyup VERBOSE_INIT_ARM output
|
| 1.26 |
28-Oct-2018 |
skrll |
Fix a commit
|
|
Revision tags: pgoyette-compat-1020
|
| 1.25 |
18-Oct-2018 |
skrll |
Fix VPRINTF
|
| 1.24 |
18-Oct-2018 |
skrll |
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
|
| 1.23 |
14-Oct-2018 |
skrll |
Use __nothing
|
|
Revision tags: pgoyette-compat-0930
|
| 1.22 |
16-Sep-2018 |
skrll |
G/C
|
|
Revision tags: pgoyette-compat-0906
|
| 1.21 |
15-Aug-2018 |
skrll |
Sprinkle #include "opt_cputypes.h"
|
| 1.20 |
31-Jul-2018 |
skrll |
Define and use VPRINTF
|
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
| 1.19 |
02-Jul-2017 |
skrll |
branches: 1.19.4; 1.19.6; Consistency around the user trapframe for all LWPs and there's no need to keep assigning it in kernel entry points.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107
|
| 1.18 |
22-Dec-2016 |
cherry |
switch all ports to use uvm_init.c:uvm_md_init()
uvm_setpagesize() is now subsumed within this funciton.
|
|
Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
| 1.17 |
08-Mar-2016 |
skrll |
branches: 1.17.2; #if 0 a KASSERT for now as it doesn't apply to Raspberry Pi 3
|
|
Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
|
| 1.16 |
17-May-2015 |
matt |
KASSERT in cpu_hatch that AUXCTL.SMP is set for Cortex CPUs.
|
| 1.15 |
04-May-2015 |
matt |
Deal with 4GB overflow in arm32_kvminit.c
|
| 1.14 |
04-May-2015 |
matt |
Fix 4GB wraparound math.
|
| 1.13 |
04-May-2015 |
matt |
If not using LPAE, if memory ends at 4GB ignore the last page so physical_end doesn't wrap to 0.
|
|
Revision tags: nick-nhusb-base-20150406
|
| 1.12 |
12-Jan-2015 |
jakllsch |
use IPL_NONE for CPU attach message serialization mutex
|
| 1.11 |
13-Dec-2014 |
jmcneill |
serialize printing of secondary cpu info
|
|
Revision tags: nick-nhusb-base
|
| 1.10 |
04-Nov-2014 |
matt |
branches: 1.10.2; Fix the stacks used by the other CPU to not overlap with the boot cpu's stacks.
|
| 1.9 |
29-Oct-2014 |
skrll |
Sprinkle #include "opt_multiprocessor.h"
|
| 1.8 |
14-Sep-2014 |
ryo |
add memory access barrier
|
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.7 |
28-Mar-2014 |
matt |
branches: 1.7.4; Various MP changes.
|
|
Revision tags: riastradh-drm2-base3
|
| 1.6 |
03-Mar-2014 |
matt |
Further cpu_info inits in cpu_hatch
|
| 1.5 |
18-Aug-2013 |
matt |
branches: 1.5.2; 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 tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
| 1.4 |
12-Jun-2013 |
matt |
branches: 1.4.2; Add printfs around initializing the vector_page.
|
| 1.3 |
11-May-2013 |
skrll |
Include opt_{ddb,kgdb} and fix KGDB build
|
|
Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 matt-nb6-plus-base matt-nb6-plus-nbase yamt-pagecache-base6
|
| 1.2 |
17-Oct-2012 |
matt |
branches: 1.2.2; 1.2.4; Change the semantics of the boot_physmem array to select a freelist to use with uvm_page_physload. Reduces duplication of work.
|
| 1.1 |
31-Aug-2012 |
matt |
branches: 1.1.2; Make cpu_reset, most of initarm and the kvm init code common. Add MP hooks for cpu_need_resced Add idlestck which is allocated in arm32_kvminit
|
| 1.70 |
19-Dec-2025 |
nia |
Remove the advertising clause from Microsoft's licenses.
Thanks to Scott Hanselman at Microsoft for turning the wheels to get this approved!
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
| 1.69 |
02-Apr-2022 |
skrll |
Update to support EFI runtime outside the kernel virtual address space by creating an EFI RT pmap that can be activated / deactivated when required.
Adds support for EFI RT to ARM_MMU_EXTENDED (ASID) 32-bit Arm machines.
On Arm64 the usage of pmapboot_enter is reduced and the mappings are created much later in the boot process -- now in cpu_startup_hook. Backward compatiblity for KVA mapped RT from old bootaa64.efi is maintained.
Adding support to other platforms should be easier as a result.
|
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.68 |
21-Mar-2021 |
skrll |
-DKERNEL_BASE_VOFFSET= has annoyed me for the last time...
Introduce KERNEL_VOFFSET_RUNTIME which prevents the addition of -DKERNEL_BASE_VOFFSET= to the command line and use it on the __HAVE_GENERIC_START kernels which do runtime calculation of the offset.
|
| 1.67 |
12-Dec-2020 |
skrll |
branches: 1.67.2; Move evbarm/fdt/fdt_memory.[ch] to sys/dev/fdt and simplify the api and some operations. This allows other architectures to use it.
|
| 1.66 |
30-Oct-2020 |
skrll |
branches: 1.66.2; Retire arm_[di]sb in favour of the isb() and dsb(sy) macro invocations.
|
| 1.65 |
28-Aug-2020 |
skrll |
Some KASAN fixes and tweaks
- don't access BSS variables when __md_early - centralise the INIT_ARM_STACK_{SHIFT,SIZE} defines and create a new INIT_ARM_TOTAL_STACK - Only create L1PT entries in kasan_md_shadow_map_page if arm32_kernel_vm_init hasn't created the L2PTs (and their L1PT entries) - Add some comments to explain what's going on
|
| 1.64 |
10-Jul-2020 |
skrll |
Add support for KASAN on ARMv[67]
Thanks to maxv for many pointers and reviews.
|
| 1.63 |
03-Jul-2020 |
skrll |
Style and share a debug string
|
| 1.62 |
03-Jul-2020 |
skrll |
Use howmany()
|
| 1.61 |
03-Jul-2020 |
skrll |
Whitespace
|
| 1.60 |
26-Jun-2020 |
skrll |
Avoid unbounded stack usage warning
|
| 1.59 |
20-Jun-2020 |
skrll |
KNF #includes
Remove some unnecessary ones while I'm here.
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
| 1.58 |
04-Feb-2020 |
skrll |
KNF
|
| 1.57 |
04-Feb-2020 |
skrll |
grammar in a comment
|
| 1.56 |
02-Feb-2020 |
skrll |
G/C L1_TABLE_SIZE_REAL
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
|
| 1.55 |
08-May-2019 |
skrll |
branches: 1.55.4; Really go back to pre-whitespace change (1.52) arm32_kernel_vm_init
|
| 1.54 |
23-Apr-2019 |
skrll |
Revert the part of the previous Whitespace commit which clearly was functional.
This will probably come back with other changes and a proper commit message.
|
|
Revision tags: isaki-audio2-base
|
| 1.53 |
17-Mar-2019 |
skrll |
Whitespace
|
| 1.52 |
06-Feb-2019 |
skrll |
Make sure the start stacks are covered by the new translation tables. They *might* get placed after ARM_BOOTSTRAP_LxPT by the linker.
AP startup uses VA sp in cpu_init_secondary_processor
|
| 1.51 |
06-Feb-2019 |
skrll |
Misc style
|
| 1.50 |
06-Feb-2019 |
skrll |
Slight update to comment and KNF it while I'm here
|
| 1.49 |
04-Feb-2019 |
skrll |
Fix typo in VPRINTF
|
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
|
| 1.48 |
13-Nov-2018 |
skrll |
On second/third thoughts we can use the pages before the kernel everywhere.
|
| 1.47 |
20-Oct-2018 |
skrll |
Clean up around cpu_ttb and fix a bunch of builds
|
|
Revision tags: pgoyette-compat-1020
|
| 1.46 |
18-Oct-2018 |
skrll |
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
|
| 1.45 |
14-Oct-2018 |
skrll |
Use __nothing
|
|
Revision tags: pgoyette-compat-0930 pgoyette-compat-0906
|
| 1.44 |
03-Aug-2018 |
skrll |
Provide and use kern_vtopdiff in KERN_{VTOPHYS,PHYSTOV}. A step towards generic arm.
|
| 1.43 |
31-Jul-2018 |
martin |
#ifdef VERBOSE_INIT_ARM some format strings only used in that case.
|
| 1.42 |
31-Jul-2018 |
skrll |
Define and use VPRINTF
|
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
| 1.41 |
10-Dec-2017 |
skrll |
branches: 1.41.2; 1.41.4; FDTise RapberryPI support. Thanks for jmcneill for a lot of help with this.
The kernel image that the RPI firmware boots is now netbsd.img in the kernel build directory.
XXX fdtbus_get_reg needs reworking
|
|
Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
| 1.40 |
06-Jul-2017 |
skrll |
Now that we can... mark kernel text as non-writable on MMUs that support it.
|
| 1.39 |
01-Jul-2017 |
skrll |
Report an error if compiled with MULTIPROCESSOR support but without __HAVE_CPU_UAREA_ALLOC_IDLELWP
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107
|
| 1.38 |
24-Dec-2016 |
skrll |
Fix VERBOSE_INIT_ARM build
|
|
Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
| 1.37 |
25-Nov-2015 |
skrll |
branches: 1.37.2; In the ARM_MMU_EXTENDED case make sure the kernel mappings are marked with XN (eXecute Never) appropriately.
The XN logic is inconsistent and could do with changing to XN always set and cleared for VM_PROT_EXECUTE (or the inverse) everywhere.
|
| 1.36 |
25-Nov-2015 |
skrll |
Trailing whitespace.
|
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606
|
| 1.35 |
01-Jun-2015 |
matt |
pmap_directbase is a failed experiment, nuke it.
|
| 1.34 |
30-May-2015 |
matt |
Support directmapped systems with >1GB that start memory at 0x80000000.
|
| 1.33 |
04-May-2015 |
matt |
Deal with 2GB of ram or memory ending at or above 4GB.
|
|
Revision tags: nick-nhusb-base-20150406 nick-nhusb-base
|
| 1.32 |
29-Oct-2014 |
skrll |
branches: 1.32.2; Sprinkle #include "opt_multiprocessor.h"
|
| 1.31 |
24-Oct-2014 |
skrll |
Remove unnecessary #include
|
|
Revision tags: netbsd-7-base tls-earlyentropy-base tls-maxphys-base
|
| 1.30 |
23-May-2014 |
kiyohara |
branches: 1.30.2; Fix build failed with GUMSTIX(pxa2x0). build test only now.
|
|
Revision tags: yamt-pagecache-base9 rmind-smpnet-nbase rmind-smpnet-base
|
| 1.29 |
13-Apr-2014 |
matt |
When figuring out the physical size for direct-mapped systems, round up to L1_SS_SIZE.
|
| 1.28 |
11-Apr-2014 |
matt |
Add a kernel for the CUBIETRUCK (CUBIEBOARD3). Allow direct mapping of all memory (but for now allow the memory mapped above KERNEL_BASE to used for poolpages).
|
| 1.27 |
05-Apr-2014 |
matt |
If using arm32_kvminit, don't bother mapping msgbuf since it's already mapped.
|
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
| 1.26 |
01-Apr-2014 |
skrll |
branches: 1.26.2; Remove unnecessary { } around code block. No functional change.
|
| 1.25 |
28-Mar-2014 |
matt |
ARM_MMU_EXTENDED support.
|
|
Revision tags: riastradh-drm2-base3
|
| 1.24 |
05-Mar-2014 |
matt |
rearrange some printfs. when using the extended mmu, make sure to disable ttbr0 until there is an activated pmap.
|
| 1.23 |
03-Mar-2014 |
matt |
If we are going to map all of physical memory, we don't need to allocate l2 page tables for the kernel.
|
| 1.22 |
29-Aug-2013 |
riz |
branches: 1.22.2; Fix typo: VERBOSE_INIT_ARM, not VERBOSE_ARM_INIT. From Dennis Ferguson in PR#48163.
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
| 1.21 |
22-Jun-2013 |
matt |
branches: 1.21.2; Fix inverted logic for mapping exception vector.
|
| 1.20 |
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
| 1.19 |
12-Jun-2013 |
matt |
Add support for the VBAR (vector base address register) to remap the vectors into the kernel text segment. This register is available on arm1176 and all cortex processors since they all have the arm security (trustzone) extension. We avoid having to specially map either vector page (0x00000000 or 0xffff0000) and use VBAR to both to page0rel in the text segment. These vector group differs from the normal page0, that since it's in the kernel, it can branch directly to the exception routine, instead of loading the address into the PC. This should result in a tiny improvement in speed since we eliminate a TLB mapping the vector page and a load on every exception.
XXX Add __HAVE_ARM_TRUSTZONE cpp define and use that to eliminate all code have to do with manipulating the vector page.
|
|
Revision tags: agc-symver-base
|
| 1.18 |
27-Feb-2013 |
matt |
Actually use zero_p now that we pass it in.
|
| 1.17 |
27-Feb-2013 |
matt |
Add a zero flag to valloc_pages so that we can *not* zero the msgbuf so it will be preserved across boots.
|
|
Revision tags: yamt-pagecache-base8
|
| 1.16 |
31-Dec-2012 |
matt |
Correct one of the kernel_size calculations.
|
|
Revision tags: yamt-pagecache-base7
|
| 1.15 |
10-Dec-2012 |
matt |
if __HAVE_MM_MD_DIRECT_MAPPED_PHYS is defined, make sure mapallmem_p is true.
|
|
Revision tags: matt-nb6-plus-base matt-nb6-plus-nbase yamt-pagecache-base6
|
| 1.14 |
24-Oct-2012 |
skrll |
branches: 1.14.2; 1.14.4; Compare pointer against NULL not 0.
|
| 1.13 |
21-Oct-2012 |
matt |
Make sure when mapping all the kernel, start at KERNEL_BASE, not kernel_base.
|
| 1.12 |
19-Oct-2012 |
skrll |
Make sure that start.S and machdep.c don't disagree wrt L1 page table location during bootstrap.
|
| 1.11 |
19-Oct-2012 |
skrll |
slop wasn't sloppy enough in the kernel_size calculation. Add in the L2 page tables required as well.
Should fix the dockstar boot problem reported by Andy Ruhl on port-arm.
http://mail-index.netbsd.org/port-arm/2012/09/20/msg001471.html
|
| 1.10 |
19-Oct-2012 |
skrll |
Comments.
|
| 1.9 |
19-Oct-2012 |
skrll |
Print the message buffer VAs and number of pages. Other minor cosmetics.
|
| 1.8 |
17-Oct-2012 |
skrll |
Fix two off-by-one loops. Saves a whole two pages.
|
| 1.7 |
15-Oct-2012 |
skrll |
More VERBOSE_INIT_ARM output tweaks.
|
| 1.6 |
15-Oct-2012 |
skrll |
Typo in comment.
|
| 1.5 |
15-Oct-2012 |
skrll |
Print the system vectors in order so I don't get confused.
|
| 1.4 |
22-Sep-2012 |
matt |
Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead but add a second argument to it to indicate whether the TLB/caches need to be flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field to see if the fixed can be skipped. Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1) or enabeld (bit = 0).
With these changes, the A9 MMU can use traverse caches to do MMU tablewalks Also, make sure all memory has the shareable bit for the A9.
|
| 1.3 |
06-Sep-2012 |
matt |
branches: 1.3.2; Before setting the new TTB wbinv the caches.
|
| 1.2 |
05-Sep-2012 |
matt |
Print TTBR/TTBR1/TTBCR registers
|
| 1.1 |
31-Aug-2012 |
matt |
Make cpu_reset, most of initarm and the kvm init code common. Add MP hooks for cpu_need_resced Add idlestck which is allocated in arm32_kvminit
|
| 1.148 |
06-Sep-2025 |
thorpej |
Refactor the "platform" defitions into fdt_platform.h
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.147 |
05-Mar-2024 |
thorpej |
Move the at-shutdown call to resettodr() from cpu_reboot() to kern_reboot().
It's a small step, but it's a step.
|
|
Revision tags: thorpej-ifq-base thorpej-altq-separation-base
|
| 1.146 |
07-Apr-2023 |
skrll |
Rename ARM_PLATFORM to FDT_PLATFORM and make it available outside arm.
|
| 1.145 |
19-Jan-2023 |
mlelstv |
Support remaining common boot options.
|
|
Revision tags: netbsd-10-1-RELEASE 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 netbsd-10-base bouyer-sunxi-drm-base
|
| 1.144 |
28-Jul-2022 |
riastradh |
arm32: Refactor splhigh and restore in dosoftints.
No functional change intended. splhigh always returns ci->ci_cpl, which should not be changing at this point. Makes the bracketing by splhigh/splx clearer.
|
| 1.143 |
12-Mar-2022 |
skrll |
No need to call arm_fdt_platform twice.
|
| 1.142 |
13-Nov-2021 |
jmcneill |
Support 'boot -1' on arm
|
| 1.141 |
31-Oct-2021 |
skrll |
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
|
| 1.140 |
21-Oct-2021 |
skrll |
Whitespace in a comment
|
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.139 |
01-Dec-2020 |
rin |
Switch earmv6{,hf}eb to BE8 in kernel side.
My strategy here is to define _ARM_ARCH_BE8 macro in arm/cdefs.h, if __ARMEB__ && _ARM_ARCH_6.
Use this macro to determine whether system is compiled for and running on BE8 mode or not.
Note that, for __ARMEB__, some conditions become compile-time constants determined by _ARM_ARCH_BE8 macro, e.g., whether BE8 or BE32 are accepted as a userland binary, or unaligned memory access is possible or not.
|
| 1.138 |
30-Oct-2020 |
skrll |
branches: 1.138.2; Retire arm_[di]sb in favour of the isb() and dsb(sy) macro invocations.
|
| 1.137 |
28-Aug-2020 |
skrll |
Use C rather than assembly
|
| 1.136 |
10-Jul-2020 |
skrll |
Add support for KASAN on ARMv[67]
Thanks to maxv for many pointers and reviews.
|
| 1.135 |
21-Jun-2020 |
jmcneill |
Add support for installing modules that were loaded by the bootloader.
|
| 1.134 |
20-Jun-2020 |
skrll |
KNF
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1
|
| 1.133 |
18-Apr-2020 |
skrll |
PMAP_DEBUG has been deleted on arm
|
|
Revision tags: phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
| 1.132 |
15-Feb-2020 |
skrll |
branches: 1.132.4; 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}
|
| 1.131 |
02-Feb-2020 |
skrll |
KNF. One #include <sys/atomic.h> is enough
|
|
Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
| 1.130 |
27-Dec-2019 |
msaitoh |
branches: 1.130.2; s/sucess/success/ in comment.
|
| 1.129 |
18-Dec-2019 |
riastradh |
New function cpu_startup_hook on arm.
Called at end of cpu_startup. Can be defined in, e.g., evbarm to do additional stuff after cpu_startup. Defined as a weak alias to a function that does nothing, so optional.
ok jmcneill
|
|
Revision tags: netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
|
| 1.128 |
10-May-2019 |
skrll |
branches: 1.128.2; Fix a printf
|
|
Revision tags: isaki-audio2-base
|
| 1.127 |
04-Feb-2019 |
skrll |
Report hatched value after the atomic_or so the VERBOSE_INIT_ARM output doesn't get mangled.
We start a cpu and wait for it before progressing now.
|
|
Revision tags: pgoyette-compat-20190127
|
| 1.126 |
21-Jan-2019 |
skrll |
Wrong long lined comment
|
|
Revision tags: pgoyette-compat-20190118
|
| 1.125 |
03-Jan-2019 |
skrll |
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 tags: pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
|
| 1.124 |
19-Oct-2018 |
skrll |
Fix build for non-generic start kernels
|
| 1.123 |
18-Oct-2018 |
skrll |
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
|
| 1.122 |
14-Oct-2018 |
skrll |
Use __nothing
|
| 1.121 |
12-Oct-2018 |
jmcneill |
Add optional ap_startup callback to struct arm_platform. This allows for late (post-UVM init) initialization of platform specific stuff.
|
|
Revision tags: pgoyette-compat-0930 pgoyette-compat-0906
|
| 1.120 |
22-Aug-2018 |
skrll |
Use banner
|
| 1.119 |
15-Aug-2018 |
skrll |
G/C
|
| 1.118 |
05-Aug-2018 |
skrll |
Add prefixes to struct arm_platform{,_info} members.
No functional change.
|
| 1.117 |
05-Aug-2018 |
skrll |
Refactor code to split aarch{32,64} kernel page tables and VM setup. This will help re-build the kernel page tables on aarch64 with correct section mappings.
|
| 1.116 |
31-Jul-2018 |
skrll |
Define and use VPRINTF
|
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202
|
| 1.115 |
31-Oct-2017 |
martin |
branches: 1.115.2; 1.115.4; Allow architectures to define a macro PROC_MACHINE_ARCH(P) and PROC_MACHINE_ARCH32(P) to override the value for sysctl hw.machine_arch (native and netbsd32 commpat resp.).
Use these for arm and mips instead of the (not working, noisy, in case of arm) sysctl override and #ifdef __mips__ in architecture neutral code.
|
|
Revision tags: nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
| 1.114 |
02-Jul-2017 |
skrll |
Consistency around the user trapframe for all LWPs and there's no need to keep assigning it in kernel entry points.
|
| 1.113 |
02-Jul-2017 |
skrll |
Trailing whitespace
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726
|
| 1.112 |
16-Jul-2016 |
mrg |
apply some #if (ARM_MMU_V6 + ARM_MMU_V7) != 0. now this builds on pre v6-only.
|
| 1.111 |
15-Jul-2016 |
skrll |
Provide a mm_md_page_color and fix some kernel builds
|
|
Revision tags: pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
|
| 1.110 |
30-Apr-2016 |
ryo |
branches: 1.110.2; * fix checking physical address range. on some arm devices, physical memory doesn't start from 0x00000000. * allow /dev/mem to read/write memory mapped I/O area depending on kauth.
|
|
Revision tags: nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
|
| 1.109 |
11-Apr-2015 |
bouyer |
Handle boot option -x (alias 'debug') and set AB_DEBUG in boothowto.
|
|
Revision tags: nick-nhusb-base-20150406 nick-nhusb-base
|
| 1.108 |
19-Nov-2014 |
martin |
branches: 1.108.2; Add a machdep.unaligned_sigbus sysctl (just like alpha does), but on arm it is readonly (depends on architecture version).
|
| 1.107 |
29-Oct-2014 |
skrll |
Sprinkle #include "opt_multiprocessor.h"
|
| 1.106 |
25-Oct-2014 |
skrll |
Remove katelib.h and references to it.
{Read,Write}{Word,Byte} macros are provided in the files that still use them. Someone(tm) should convert them to bus_space(9)
|
|
Revision tags: netbsd-7-base tls-earlyentropy-base tls-maxphys-base
|
| 1.105 |
19-May-2014 |
rmind |
branches: 1.105.2; Implement MI IPI interface with cross-call support.
|
|
Revision tags: yamt-pagecache-base9 rmind-smpnet-nbase rmind-smpnet-base
|
| 1.104 |
11-Apr-2014 |
matt |
Add a kernel for the CUBIETRUCK (CUBIEBOARD3). Allow direct mapping of all memory (but for now allow the memory mapped above KERNEL_BASE to used for poolpages).
|
| 1.103 |
05-Apr-2014 |
matt |
If using arm32_kvminit, don't bother mapping msgbuf since it's already mapped.
|
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
| 1.102 |
28-Mar-2014 |
matt |
branches: 1.102.2; Various MP changes.
|
|
Revision tags: riastradh-drm2-base3
|
| 1.101 |
03-Mar-2014 |
matt |
Add most of the cpu_* variables to <arm/locore.h> Add and initialize cpu_synchprim_present
|
| 1.100 |
25-Feb-2014 |
pooka |
Ensure that the top level sysctl nodes (kern, vfs, net, ...) exist before the sysctl link sets are processed, and remove redundancy.
Shaves >13kB off of an amd64 GENERIC, not to mention >1k duplicate lines of code.
|
| 1.99 |
11-Jan-2014 |
matt |
Add hw.printfataltraps sysctl. Always print fatal traps for init. For all other processes, only do so if cpu_printfataltraps is true.
|
| 1.98 |
10-Sep-2013 |
matt |
Support an optional MARCH ELF tag. Store the MACHINE_ARCH of the executable in mdproc and override sysctl so that value returned.
|
| 1.97 |
07-Sep-2013 |
matt |
Add a machdep.hwdiv_present sysctl (cortex A7 and A15 have hwdiv instructions)
|
| 1.96 |
18-Aug-2013 |
matt |
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>
|
| 1.95 |
15-Aug-2013 |
matt |
Fix tpyo.
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
| 1.94 |
12-Jun-2013 |
matt |
branches: 1.94.2; Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
| 1.93 |
12-Jun-2013 |
matt |
Add support for the VBAR (vector base address register) to remap the vectors into the kernel text segment. This register is available on arm1176 and all cortex processors since they all have the arm security (trustzone) extension. We avoid having to specially map either vector page (0x00000000 or 0xffff0000) and use VBAR to both to page0rel in the text segment. These vector group differs from the normal page0, that since it's in the kernel, it can branch directly to the exception routine, instead of loading the address into the PC. This should result in a tiny improvement in speed since we eliminate a TLB mapping the vector page and a load on every exception.
XXX Add __HAVE_ARM_TRUSTZONE cpp define and use that to eliminate all code have to do with manipulating the vector page.
|
|
Revision tags: agc-symver-base
|
| 1.92 |
03-Feb-2013 |
matt |
Add a machdep.cpu_arch sysctl
|
| 1.91 |
31-Jan-2013 |
matt |
Add simple sysctls for cpu_id, fpu_id, neon_present, simd_present, simdex_present. Add struct sysctls to return the isar, mmfr, pfr, and mvfr sets.
|
| 1.90 |
28-Jan-2013 |
matt |
Add a machdep.fpu_present sysctl for ld.elf_so to use in ld.so.conf to load libc_vfp.so.
|
|
Revision tags: yamt-pagecache-base8
|
| 1.89 |
19-Jan-2013 |
skrll |
Add -d as a synonym for getting into DDB to match other ports.
|
| 1.88 |
31-Dec-2012 |
jmcneill |
reset todr clock on shutdown
|
|
Revision tags: yamt-pagecache-base7
|
| 1.87 |
10-Dec-2012 |
matt |
add mm_md_direct_mapped_phys
|
| 1.86 |
10-Dec-2012 |
matt |
Rename pcb_sp/PCB_SP to pcb_ksp/PCB_KSP so that ipsec.c will compile.
|
|
Revision tags: yamt-pagecache-base6
|
| 1.85 |
27-Oct-2012 |
chs |
split device_t/softc for all remaining drivers. replace "struct device *" with "device_t". use device_xname(), device_unit(), etc.
|
| 1.84 |
16-Sep-2012 |
rmind |
Rename kcpuset_copybits() to kcpuset_export_u32() and thus be more specific about the interface.
|
| 1.83 |
31-Aug-2012 |
matt |
branches: 1.83.2; Make cpu_reset, most of initarm and the kvm init code common. Add MP hooks for cpu_need_resced Add idlestck which is allocated in arm32_kvminit
|
| 1.82 |
16-Aug-2012 |
matt |
Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to <arm32/machdep.h> Move the extern for cpu_reset_address to the same file. Add cpu_reset_address_paddr. Kill cpu_reset_v4_MMU_disable. if cpu_reset_address is NULL, then the MMU will be disabled.
|
| 1.81 |
16-Aug-2012 |
matt |
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.
|
| 1.80 |
14-Aug-2012 |
matt |
Kill curpcb/ci_curpcb. Use device_t in cpu_info. Add ci_softc (where ci_curpcb was so cpu_info doesn't change).
|
| 1.79 |
29-Jul-2012 |
matt |
Fix more -fno-common fallout. Move more variables to common locations.
|
| 1.78 |
16-Jul-2012 |
skrll |
Make the result from SOFTIPLMASK match the comment.
"Wouldn't hurt" from matt@
|
| 1.77 |
16-Jul-2012 |
skrll |
Fix racy softint dispatch that lead to KASSERT(si->si_active) in softint_execute
Discussed with matt@. "Looks good to me"
|
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
| 1.76 |
30-Jun-2011 |
wiz |
branches: 1.76.2; 1.76.8; dependant -> dependent
|
| 1.75 |
12-Jun-2011 |
rmind |
Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 rmind-uvmplock-base jym-xensuspend-base
|
| 1.74 |
28-Nov-2010 |
hannken |
branches: 1.74.6; As md(4) no longer has "needs-count" there is no "md.h" anymore. Remove the inclusion of this file.
Acorn32 now always builds load_memory_disc_from_floppy(). This should not be a problem as all configs have md(4).
Observed by: Masao Uebayashi <uebayasi@netbsd.org>
|
|
Revision tags: uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
|
| 1.73 |
08-Feb-2010 |
joerg |
branches: 1.73.2; Remove separate mb_map. The nmbclusters is computed at boot time based on the amount of physical memory and limited by NMBCLUSTERS if present. Architectures without direct mapping also limit it based on the kmem_map size, which is used as backing store. On i386 and ARM, the maximum KVA used for mbuf clusters is limited to 64MB by default.
The old default limits and limits based on GATEWAY have been removed. key_registered_sb_max is hard-wired to a value derived from 2048 clusters.
|
|
Revision tags: uebayasi-xip-base
|
| 1.72 |
18-Jan-2010 |
jmmv |
branches: 1.72.2; Define an empty module_init_md function so that kernels with 'options MODULAR' can be built (at least in shark). Still not working due to some relocations resolving to too far away symbols though.
|
|
Revision tags: matt-premerge-20091211
|
| 1.71 |
29-Nov-2009 |
rmind |
Replace l_addr with uvm_lwp_getuarea() in various MD code, mostly cpu_lwp_fork().
|
| 1.70 |
27-Nov-2009 |
rmind |
- Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr. - Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb(). - Amend assembly in ports where it accesses PCB via struct user. - Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
|
| 1.69 |
26-Nov-2009 |
matt |
Kill proc0paddr. Use lwp0.l_addr instead.
|
| 1.68 |
21-Nov-2009 |
rmind |
Use lwp_getpcb() on ARM (and acorn26/32), clean from struct user usage.
|
| 1.67 |
07-Nov-2009 |
cegger |
Add a flags argument to pmap_kenter_pa(9). Patch showed on tech-kern@ http://mail-index.netbsd.org/tech-kern/2009/11/04/msg006434.html No objections.
|
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7
|
| 1.66 |
11-Aug-2009 |
matt |
Remove all declarations of physmem from sys/arch. Add an include of <sys/systm.h> to the one file that did not already contain it. This now means that physmem can be changed by updating systm.h and uvm_page.c (excluding fixing printfs)
|
|
Revision tags: jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base
|
| 1.65 |
15-Mar-2009 |
cegger |
ansify function definitions
|
| 1.64 |
14-Mar-2009 |
dsl |
Change about 4500 of the K&R function definitions to ANSI ones. There are still about 1600 left, but they have ',' or /* ... */ in the actual variable definitions - which my awk script doesn't handle. There are also many that need () -> (void). (The script does handle misordered arguments.)
|
| 1.63 |
14-Mar-2009 |
dsl |
Remove all the __P() from sys (excluding sys/dist) Diff checked with grep and MK1 eyeball. i386 and amd64 GENERIC and sys still build.
|
|
Revision tags: nick-hppapmap-base2
|
| 1.62 |
17-Jan-2009 |
bjh21 |
branches: 1.62.2; Remove the implementation of cpu_intr_p() from here now that it's in arm/arm_machdep.h. Should fix builds on arm32 platforms. Thanks to Matt Fleming for reporting the problem.
|
|
Revision tags: mjf-devfs2-base
|
| 1.61 |
16-Jan-2009 |
bjh21 |
cpu_info_store, machine, and machine_arch can all be shared by acorn26 and arm32, so share them.
|
| 1.60 |
16-Jan-2009 |
bjh21 |
acorn26 and arm32 have identical versions of cpu_need_resched(). Unify them. Similarly, with a small tweak acorn26 can use the same cpu_intr_p() as arm32, so those can be unified too.
|
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base
|
| 1.59 |
19-Nov-2008 |
matt |
Fix __HAVE_FAST_SOFTINTS (boolean dyslexia strikes again). Add some KASSERTS to make sure assumptions are valid.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
| 1.58 |
07-Aug-2008 |
matt |
branches: 1.58.2; 1.58.8; Commit missing part of __HAVE_FAST_SOFTINTS support.
|
|
Revision tags: simonb-wapbl-nbase simonb-wapbl-base
|
| 1.57 |
02-Jul-2008 |
ad |
branches: 1.57.2; Replce exec_map with a pool. Proposed on tech-kern@, reviewed by chs@.
|
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
| 1.56 |
27-Apr-2008 |
matt |
branches: 1.56.2; 1.56.4; Merge kernel changes in matt-armv6 to HEAD.
|
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
| 1.55 |
19-Jan-2008 |
chris |
branches: 1.55.6; 1.55.8; 1.55.10; With the removal of IPKDB on arm, the undefined stack is only used to bounce into SVC32 mode, there is no per-process data stored on it.
We can therefore use the undefined stack setup by the platform machdep.c as a system wide undefined stack.
This removes the need for a per-process undefined stack, and the processor mode switching overhead it causes in cpu_switchto.
The space freed in the USPACE is used to increase the per process kernel stack size.
|
| 1.54 |
19-Jan-2008 |
chris |
Remove arm support for IPKDB.
It hasn't worked since arm was broken out from arm32 in Jan 2001, and no-one has noticed or cared to fix it.
|
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 matt-armv6-base
|
| 1.53 |
16-Dec-2007 |
mrg |
move the arm32 cpu_intr_p() function into arm32_machdep.c from arm_machdep.c. this lets acorn26 link again.
|
|
Revision tags: yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
| 1.52 |
17-Oct-2007 |
garbled |
branches: 1.52.2; 1.52.4; 1.52.8; 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 tags: yamt-x86pmap-base3 yamt-x86pmap-base2 ppcoea-renovation-base vmlocking-base
|
| 1.51 |
02-Oct-2007 |
ad |
Make want_resched a member of cpu_info.
|
|
Revision tags: yamt-x86pmap-base
|
| 1.50 |
15-Sep-2007 |
scw |
branches: 1.50.2; ARM cpu_switchto() has been partially broken since yamt-idlelwp was merged as its cache/tlb management smarts relied too heavily on pre-merge context- switch behaviour. See PR kern/36548 for one manifestation of the breakage.
To address this: - Ditch the shadow pmap variables in the PCB (pagedir, l1vec, dacr, cstate) as it was too easy for them to get out of sync with the pmap. - Re-write (and fix) the convoluted cpuswitch.S cache/tlb ASM code in C. It's only slightly less efficient, but is much more readable/maintainable. - Document cpufuncs.cf_context_switch() as being C-callable. - pmap_activate() becomes a no-op if the lwp's vmspace is already active. (Good performance win, since pmap_activate() is now invoked on every context-switch, even though ARM's cpu_switchto() already does all the grunt work)
XXX: Some CPU-specific armXX_context_switch() implementations (arm67, arm7tdmi, arm8) always flush the I+D caches. This should not be necessary. Someone with access to hardware (acorn32?) needs to deal with this.
|
|
Revision tags: nick-csl-alignment-base5 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base mjf-ufs-trans-base
|
| 1.49 |
17-May-2007 |
yamt |
branches: 1.49.6; 1.49.8; 1.49.10; 1.49.12; 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 tags: yamt-idlelwp-base8 thorpej-atomic-base
|
| 1.48 |
04-Mar-2007 |
christos |
branches: 1.48.2; 1.48.4; 1.48.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
|
Revision tags: ad-audiomp-base
|
| 1.47 |
22-Feb-2007 |
thorpej |
TRUE -> true, FALSE -> false
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.46 |
11-Dec-2005 |
christos |
branches: 1.46.26; merge ktrace-lwp.
|
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base kent-audio2-base ktrace-lwp-base
|
| 1.45 |
25-Apr-2005 |
lukem |
branches: 1.45.2; Move the MI printing of `copyright' to the MD cpu_startup() code where the printing of `version' is already performed. This has the benefit of allowing the copyright to be available via dmesg(8) on platforms which need the `msgbuf' to be setup in cpu_startup() before printed output is remembered.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE 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-2-0-3-RELEASE 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 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-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-base
|
| 1.44 |
24-Mar-2004 |
atatat |
branches: 1.44.8; Tango on sysctl_createv() and flags. The flags have all been renamed, and sysctl_createv() now uses more arguments.
|
| 1.43 |
13-Feb-2004 |
wiz |
Uppercase CPU, plural is CPUs.
|
| 1.42 |
30-Dec-2003 |
pk |
Replace the traditional buffer memory management -- based on fixed per buffer virtual memory reservation and a private pool of memory pages -- by a scheme based on memory pools.
This allows better utilization of memory because buffers can now be allocated with a granularity finer than the system's native page size (useful for filesystems with e.g. 1k or 2k fragment sizes). It also avoids fragmentation of virtual to physical memory mappings (due to the former fixed virtual address reservation) resulting in better utilization of MMU resources on some platforms. Finally, the scheme is more flexible by allowing run-time decisions on the amount of memory to be used for buffers.
On the other hand, the effectiveness of the LRU queue for buffer recycling may be somewhat reduced compared to the traditional method since, due to the nature of the pool based memory allocation, the actual least recently used buffer may release its memory to a pool different from the one needed by a newly allocated buffer. However, this effect will kick in only if the system is under memory pressure.
|
| 1.41 |
13-Dec-2003 |
rearnsha |
The machdep.debug sysctl variable uses code CPU_DEBUG (not CPU_CONSDEV).
|
| 1.40 |
12-Dec-2003 |
atatat |
The machdep.debug node is an int, not a struct
|
| 1.39 |
04-Dec-2003 |
atatat |
Dynamic sysctl.
Gone are the old kern_sysctl(), cpu_sysctl(), hw_sysctl(), vfs_sysctl(), etc, routines, along with sysctl_int() et al. Now all nodes are registered with the tree, and nodes can be added (or removed) easily, and I/O to and from the tree is handled generically.
Since the nodes are registered with the tree, the mapping from name to number (and back again) can now be discovered, instead of having to be hard coded. Adding new nodes to the tree is likewise much simpler -- the new infrastructure handles almost all the work for simple types, and just about anything else can be done with a small helper function.
All existing nodes are where they were before (numerically speaking), so all existing consumers of sysctl information should notice no difference.
PS - I'm sorry, but there's a distinct lack of documentation at the moment. I'm working on sysctl(3/8/9) right now, and I promise to watch out for buses.
|
| 1.38 |
21-Sep-2003 |
matt |
Change some type-punning detected by gcc 3.3.1 to (void *).
|
| 1.37 |
15-Jul-2003 |
lukem |
__KERNEL_RCSID()
|
| 1.36 |
29-Jun-2003 |
fvdl |
branches: 1.36.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
| 1.35 |
29-Jun-2003 |
ichiro |
struct proc * -> struct lwp *
ixp425_com: add some status flags
|
| 1.34 |
04-Jun-2003 |
simonb |
Remove prototype for strtoul() that was in the wrong place.
|
| 1.33 |
21-May-2003 |
thorpej |
Remove #ifdefs supporting the old pmap, switching fully to the new.
|
| 1.32 |
18-Apr-2003 |
thorpej |
Add a comment indicating that the current method of enabling high vectors requires that the CPU control vector be properly readable. I believe that all CPUs that have high vector support have a readable CPU control register, but if we ever encounter one that does not, then we'll have to adjust this code.
|
| 1.31 |
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
| 1.30 |
18-Apr-2003 |
scw |
In arm32_vector_init(), if the vector page is ARM_VECTORS_HIGH, make sure the CPU_CONTROL_VECRELOC bit is set in the cpu control register before returning.
|
| 1.29 |
01-Apr-2003 |
thorpej |
Use PAGE_SIZE rather than NBPG.
|
| 1.28 |
23-Feb-2003 |
thorpej |
Change pcb32_pagedir to a paddr_t (after all, it's used as a paddr_t everywhere in the code).
|
| 1.27 |
17-Jan-2003 |
thorpej |
Merge the nathanw_sa branch.
|
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base gehenna-devsw-base kqueue-base
|
| 1.26 |
25-Aug-2002 |
thorpej |
Make nbuf, nswbuf, and bufpages unsigned. Make all operations on these variables unsigned, and update places where their values are printed.
|
| 1.25 |
16-Aug-2002 |
thorpej |
* 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 tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
| 1.24 |
05-May-2002 |
jdolecek |
branches: 1.24.2; Update to md(4) changes: memory_disk_size is now md_root_size, and type is size_t
|
| 1.23 |
10-Apr-2002 |
thorpej |
Remove the Control register handling from arm32_vector_init(). Apparently, the ARM6 and ARM7 do completely the wrong thing if you read this register, so we have to handle this a different way.
|
| 1.22 |
03-Apr-2002 |
thorpej |
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.
|
| 1.21 |
02-Apr-2002 |
lukem |
Rename MEMORY_DISK_SIZE (formerly MINIROOTSIZE) to MEMORY_DISK_ROOT_SIZE, which was suggested by Izumi Tsutsui <tsutsui@ceres.dti.ne.jp> as being more consistent with what it's controlling...
|
| 1.20 |
24-Mar-2002 |
thorpej |
* arm_byte_to_page() -> arm_btop() * arm_page_to_byte() -> arm_ptob()
|
| 1.19 |
23-Mar-2002 |
thorpej |
Garbage-collect the "pagehook" stuff.
|
| 1.18 |
23-Mar-2002 |
thorpej |
* Rename PROCESS_PAGE_TBLS_BASE -> PTE_BASE * Rename ALT_PAGE_TBLS_BASE -> APTE_BASE * Garbage-collect PAGE_TABLE_SPACE_START
|
|
Revision tags: eeh-devprop-base
|
| 1.17 |
10-Mar-2002 |
lukem |
* rename MINIROOTSIZE to MEMORY_DISK_SIZE, so that all md(4) options are now consistently named * fold opt_mdsize.h into opt_md.h
|
|
Revision tags: newlock-base ifpoll-base
|
| 1.16 |
21-Feb-2002 |
thorpej |
map_chunk() -> pmap_map_chunk(), and move it to pmap.c
|
| 1.15 |
20-Feb-2002 |
thorpej |
map_pagetable() -> pmap_link_l2pt(), and move it to pmap.c
|
| 1.14 |
20-Feb-2002 |
thorpej |
Collapse map_entry{,ro,nc}() into a single pmap_map_entry() that takes a prot and a "cacheable" indicator.
|
| 1.13 |
20-Feb-2002 |
thorpej |
Rename map_section() to pmap_map_section(), move it to pmap.c, and give it an extra argument (prot - specifies protection of the mapping).
|
| 1.12 |
10-Feb-2002 |
reinoud |
Add some extra comments for the `booted_kernel' variable.
|
| 1.11 |
20-Jan-2002 |
thorpej |
Some prototype cleanup.
|
| 1.10 |
12-Jan-2002 |
chris |
Make GENERIC cats kernel boot again. By allocating a 2nd second level page table for the kernel and stack space we can now have to 8MB of kernel and stacks (if the kernel ever gets really bloated might need to add a 3rd!) Also update the funcs in arm32_machdep.c that create the entries so that on cats they expect the 2 pagetables to be contiguous, note this means that for now cats is special cased in lots of funcs. I'll tidy this up to something a bit more sane soon, to avoid the multitude of #ifndef cats that I had to sprinkle in.
|
| 1.9 |
05-Jan-2002 |
chris |
Make some of the arm32 files build with LOOSE_PROTOTYPES not set in the makefile. Turned up a few mismatched functions. Note that this isn't all of the arm32 files. Aim will be to get arm32 kernels built with LOOSE_PROTOTYPES not set.
|
| 1.8 |
23-Nov-2001 |
thorpej |
No need to pull in <machine/pte.h> directly.
|
| 1.7 |
22-Nov-2001 |
thorpej |
Kill <machine/katelib.h>. Any place that still uses it should just reference <arm/arm32/katelib.h> until such time as all use of this file has been purged from the face of the earth.
|
|
Revision tags: thorpej-mips-cache-base
|
| 1.6 |
27-Oct-2001 |
rearnsha |
branches: 1.6.2; When creating section maps, use pte_cache_mode for setting the page attributes of cacheable pages.
|
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf
|
| 1.5 |
10-Sep-2001 |
chris |
branches: 1.5.2; Update pmap_update to now take the updated pmap as an argument. This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.
Currently this is a no-op on most platforms, so they should see no difference.
Reviewed by Jason.
|
| 1.4 |
09-Sep-2001 |
toshii |
Don't define pcb_* register macros. pcb_sp macro conflicts with sys/netinet6/ipsec.c.
|
|
Revision tags: thorpej-devvp-base
|
| 1.3 |
11-Aug-2001 |
chris |
branches: 1.3.2; Make use of pmap_kenter instead of pmap_enter for kernel buffers.
|
| 1.2 |
28-Jul-2001 |
chris |
branches: 1.2.2; A couple of tidy ups to pmap: pmap_t -> struct pmap * in pmap.c and pmap.h kernel_pmap -> pmap_kernel() everywhere.
Compiled and booted on riscpc and cats.
|
| 1.1 |
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
| 1.14 |
19-Dec-2025 |
nia |
Remove the advertising clause from Microsoft's licenses.
Thanks to Scott Hanselman at Microsoft for turning the wheels to get this approved!
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.13 |
20-Jun-2020 |
skrll |
KNF #includes
Remove some unnecessary ones while I'm here.
|
| 1.12 |
20-Jun-2020 |
skrll |
Trailing whitespace
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
| 1.11 |
31-May-2018 |
mrg |
docpureset() doesn't return anything, so mark it void. (probably could also be __dead.)
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
| 1.10 |
11-Nov-2015 |
jmcneill |
branches: 1.10.16; fix RB_POWERDOWN test
|
| 1.9 |
11-Nov-2015 |
jmcneill |
add support for optional RB_POWERDOWN handler
|
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
| 1.8 |
05-Jan-2015 |
joerg |
Mark end of cpu_reboot as unreachable.
|
| 1.7 |
02-Jan-2015 |
christos |
- print a warning about powerdown not supported like other ports do - merge duplicated code - if halt is requested and there is no console, keep looping instead of rebooting.
|
|
Revision tags: netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.6 |
18-Aug-2013 |
matt |
branches: 1.6.2; 1.6.6; 1.6.8; 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 tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
| 1.5 |
11-May-2013 |
skrll |
branches: 1.5.2; Move pmf_system_shutdown earlier and ensure interrupts are enabled.
|
| 1.4 |
05-May-2013 |
skrll |
Sprinkle cnpollc for correct (usb) keyboard handling.
|
|
Revision tags: agc-symver-base yamt-pagecache-base8
|
| 1.3 |
19-Jan-2013 |
skrll |
Avoid warning from cngetc byt doing the proper cnpollc dance
|
|
Revision tags: yamt-pagecache-base7 matt-nb6-plus-base matt-nb6-plus-nbase yamt-pagecache-base6
|
| 1.2 |
05-Sep-2012 |
skrll |
branches: 1.2.2; 1.2.4; 1.2.6; Call pmf_system_shutdown in cpu_reboot. OK matt
|
| 1.1 |
31-Aug-2012 |
matt |
Make cpu_reset, most of initarm and the kvm init code common. Add MP hooks for cpu_need_resced Add idlestck which is allocated in arm32_kvminit
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
| 1.15 |
02-Oct-2021 |
skrll |
Pass the pmap in tlb_set_asid for the benefit of aarch64.
|
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.14 |
30-Oct-2020 |
skrll |
Retire arm_[di]sb in favour of the isb() and dsb(sy) macro invocations.
|
| 1.13 |
29-Sep-2020 |
jmcneill |
Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime detection instead of ifdefs where required.
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
|
| 1.12 |
15-Aug-2018 |
skrll |
Sprinkle #include "opt_cputypes.h"
|
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825
|
| 1.11 |
24-Aug-2017 |
jmcneill |
branches: 1.11.2; 1.11.4; Do runtime detection of MP extensions to allow using a MULTIPROCESSOR kernel on CPUs without the MP extensions feature (like Cortex-A8).
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.10 |
11-Jul-2016 |
matt |
Adapt to common pmap changes.
|
|
Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
| 1.9 |
26-Mar-2015 |
hsuenaga |
don't use armreg_tlbiasidis_write() and armreg_icialluis_write() on single processor platforms.
|
| 1.8 |
07-Feb-2015 |
jmcneill |
fix CPU_CORTEXA5 && !MULTIPROCESSOR build
|
|
Revision tags: nick-nhusb-base
|
| 1.7 |
30-Oct-2014 |
skrll |
branches: 1.7.2; Part of break-before-make is to dsb after the TLB invalidation. Do it in tlb_invalidate_addr
|
| 1.6 |
30-Oct-2014 |
skrll |
s/0/KERNEL_PID/
isb after setting TTBCR_S_PD0 as per Example B3-5 Disable non-global mappings when changing ASID in the ARM ARM.
|
| 1.5 |
29-Oct-2014 |
skrll |
Sprinkle #include "opt_multiprocessor.h"
|
| 1.4 |
14-Oct-2014 |
matt |
armreg_tlbiasid_write -> armreg_tlbiasidis_write
|
| 1.3 |
14-Oct-2014 |
matt |
Use tlb is variants for MULTIPROCESSOR
|
|
Revision tags: tls-maxphys-base netbsd-7-base rmind-smpnet-base rmind-smpnet-nbase yamt-pagecache-base9 tls-earlyentropy-base
|
| 1.2 |
11-Apr-2014 |
matt |
branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; Deal with ASID tagged VIVT icaches (not that we have any cpus with them but...)
|
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
| 1.1 |
28-Mar-2014 |
matt |
branches: 1.1.2; Add tlb routines for pmap_tlb.c
|
|
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322
|
| 1.2 |
17-Mar-2018 |
ryo |
move from sys/arch/arm/arm32/armv7_generic_dma.c to sys/arch/arm/arm/arm_generic_dma.c, and change variable name from armv7_generic_dma_tag to arm_generic_dma_tag
no functional change. (preliminary changes for merging aarch64)
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base
|
| 1.1 |
28-May-2017 |
jmcneill |
branches: 1.1.6; 1.1.10; 1.1.12; Add a generic armv7 bus dma tag.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.13 |
30-Oct-2020 |
skrll |
Retire arm_[di]sb in favour of the isb() and dsb(sy) macro invocations.
|
| 1.12 |
20-Jun-2020 |
skrll |
KNF #includes
Remove some unnecessary ones while I'm here.
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
| 1.11 |
05-Feb-2020 |
skrll |
Fix the armv[67] memory attributes for uncached memory. Previously it was mapped as strongly-ordered which meant that unaligned accesses would fault.
armv7_generic_bs_map now maps pages with PMAP_DEV which is treated as SO
bus_dma continues to use PMAP_NOCACHE as appropriate, but this now get mapped to the correct memory attribute bits for armv[67]
DEVMAP_ENTRY usees a new flag PTE_DEV.
The workaround for the unaligned access faults is now removed.
XXX Other armv[67] boards bus_space implementations should be checked. XXX There is scope to reduce the difference to aarch64
|
|
Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
|
| 1.10 |
19-Nov-2018 |
jmcneill |
branches: 1.10.4; 1.10.6; On second thought, get rid of "bs_base" from struct bus_space and use a custom bs_map for acpipchb instead.
|
| 1.9 |
18-Nov-2018 |
jmcneill |
Add a "bs_base" field to struct bus_space. If present, use it to translate mappings by appending the value to the pa passed to bus_space_map.
|
|
Revision tags: pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
|
| 1.8 |
01-Apr-2018 |
ryo |
branches: 1.8.2; 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 tags: pgoyette-compat-0330 pgoyette-compat-0322
|
| 1.7 |
16-Mar-2018 |
ryo |
use designated initializer to make adaptability and flexibility for changing struct bus_space. no functional change.
|
|
Revision tags: pgoyette-compat-0315 pgoyette-compat-base
|
| 1.6 |
22-Jan-2018 |
skrll |
branches: 1.6.2; Pass PMAP_WRITE_COMBINE as appropriate in armv7_generic_bs_map, i.e. same fix as bcm283x_bs_map just got.
|
| 1.5 |
22-Jan-2018 |
skrll |
Trailing whitespace
|
|
Revision tags: tls-maxphys-base-20171202
|
| 1.4 |
27-Nov-2017 |
skrll |
branches: 1.4.2; KNF
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806
|
| 1.3 |
01-Aug-2016 |
jakllsch |
Add pointer to bus_space_set_region_4 implemenation in armv7_generic_bs_tag.
|
|
Revision tags: pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
| 1.2 |
18-Oct-2015 |
jmcneill |
branches: 1.2.2; mark a4x read region / write region as not implemented
|
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
| 1.1 |
29-Mar-2015 |
jmcneill |
branches: 1.1.2; Shared armv7 bus space implementation.
|
|
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE yamt-pagecache-base9 yamt-pagecache-tag8 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE rmind-smpnet-nbase rmind-smpnet-base agc-symver-base tls-maxphys-base yamt-pagecache-base8 yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase jym-xensuspend-nbase bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-nb5-pq3-base netbsd-5-1-RELEASE yamt-nfs-mp-base11 netbsd-5-1-RC4 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE yamt-nfs-mp-base8 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base haad-dm-base1 haad-dm-base simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base jmcneill-pm-base hpcarm-cleanup-base mjf-ufs-trans-base yamt-idlelwp-base8 ppcoea-renovation-base reinoud-bufcleanup-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 yamt-splraiseipl-base newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 elad-kernelauth-nbase yamt-pdpolicy-base4 yamt-pdpolicy-base3 yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 yamt-km-base2 yamt-km-base kent-audio2-base ktrace-lwp-base nathanw_sa_before_merge gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base bjh21-hydra-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base kqueue-base
|
| 1.5 |
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
| 1.4 |
29-Nov-2001 |
thorpej |
Remove some overly-paranoid debug code that grovels too much platform-specific internals.
|
| 1.3 |
26-Nov-2001 |
thorpej |
Don't include <machine/psl.h> directly.
|
| 1.2 |
23-Nov-2001 |
thorpej |
Use <arm/cpufunc.h>, not <machine/cpufunc.h>.
|
|
Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_base thorpej_scsipi_nbase
|
| 1.1 |
06-Mar-2001 |
matt |
branches: 1.1.2; 1.1.4; 1.1.6; 1.1.12; Move arm32/arm32/ast.c to arm/arm32/ast.c
|
|
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.6 |
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 rmind-uvmplock-base jym-xensuspend-base
|
| 1.5 |
07-Jul-2010 |
chs |
branches: 1.5.8; 1.5.18; 1.5.22; implement ucas_* for arm.
|
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base 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 haad-dm-base2 haad-nbase2 ad-audiomp2-base nick-hppapmap-base haad-dm-base mjf-devfs2-base
|
| 1.4 |
19-Nov-2008 |
matt |
branches: 1.4.6; 1.4.8; Use IF32_bits instead of I32_bit
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
| 1.3 |
27-Apr-2008 |
matt |
branches: 1.3.6; 1.3.8; 1.3.14; Merge kernel changes in matt-armv6 to HEAD.
|
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
| 1.2 |
13-Jan-2008 |
chris |
branches: 1.2.6; 1.2.8; 1.2.10; When manipulating the interrupt status for atomic ops use cpsr_c rather than cpsr_all, this avoids updating unnecessary fields in the cpsr.
As a side effect, the inline versions no longer clobber the condition codes.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase nick-csl-alignment-base5 bouyer-xeni386-merge1 wrstuden-fixsa-base-1 chris-arm-intr-rework-base3 vmlocking2-base3 netbsd-4-0-RELEASE yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 netbsd-4-0-RC5 matt-nb4-arm-base jmcneill-base netbsd-4-0-RC4 bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base netbsd-4-0-RC3 yamt-x86pmap-base3 yamt-x86pmap-base2 netbsd-4-0-RC2 yamt-x86pmap-base netbsd-4-0-RC1 matt-armv6-base chris-arm-intr-rework-base2 chris-arm-intr-rework-base jmcneill-pm-base nick-csl-alignment-base matt-mips64-base netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE yamt-idlelwp-base8 wrstuden-fixsa-base ppcoea-renovation-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE yamt-splraiseipl-base2 netbsd-3-1-RC4 yamt-splraiseipl-base netbsd-3-1-RC3 yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 netbsd-3-1-RC2 netbsd-3-1-RC1 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase netbsd-3-0-1-RELEASE gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 netbsd-2-0-3-RELEASE yamt-vop-base2 thorpej-vnode-attr-base netbsd-2-1-RELEASE yamt-vop-base netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-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-base ktrace-lwp-base nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base bjh21-hydra-base kqueue-aftermerge kqueue-beforemerge
|
| 1.1 |
19-Oct-2002 |
bsh |
branches: 1.1.2; 1.1.4; 1.1.26; 1.1.74; 1.1.84; 1.1.88; 1.1.90; 1.1.96; 1.1.104; non-inline version of atomic_{set,clear}_bit(), defined when ATOMIC_SET_BIT_NONINLINE_REQUIRED is defined. (extracted from arm/arm32/locore.S)
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.10 |
17-Dec-2013 |
joerg |
Write out register pairs for strd.
|
| 1.9 |
18-Aug-2013 |
matt |
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 tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base uebayasi-xip-base6 uebayasi-xip-base5 netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 netbsd-5-1-RC4 matt-nb5-mips64-k15 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 netbsd-4-0-1-RELEASE wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-fixsa-newbase nick-csl-alignment-base5 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 bouyer-xeni386-merge1 matt-armv6-prevmlocking wrstuden-fixsa-base-1 chris-arm-intr-rework-base3 vmlocking2-base3 netbsd-4-0-RELEASE bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 netbsd-4-0-RC5 matt-nb4-arm-base matt-armv6-nbase jmcneill-base netbsd-4-0-RC4 mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base netbsd-4-0-RC3 yamt-x86pmap-base3 yamt-x86pmap-base2 netbsd-4-0-RC2 yamt-x86pmap-base netbsd-4-0-RC1 matt-armv6-base chris-arm-intr-rework-base2 chris-arm-intr-rework-base jmcneill-pm-base hpcarm-cleanup-base nick-csl-alignment-base matt-mips64-base yamt-idlelwp-base8 wrstuden-fixsa-base ppcoea-renovation-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.8 |
11-Dec-2005 |
christos |
branches: 1.8.98; 1.8.114; 1.8.124; 1.8.130; merge ktrace-lwp.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 netbsd-2-0-3-RELEASE yamt-vop-base2 thorpej-vnode-attr-base netbsd-2-1-RELEASE yamt-vop-base netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-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-base ktrace-lwp-base
|
| 1.7 |
13-Oct-2003 |
scw |
Xscale-optimised b{copy,zero}_page().
Contributed by Wasabi Systems.
|
| 1.6 |
08-Apr-2003 |
thorpej |
branches: 1.6.2; Use PAGE_SIZE rather than NBPG.
|
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base gehenna-devsw-base kqueue-base
|
| 1.5 |
17-Aug-2002 |
thorpej |
More local label fixups.
|
| 1.4 |
15-Aug-2002 |
briggs |
* Use local label names (.Lfoo vs. (Lfoo or foo)) * When moving from cpsr, use "cpsr" instead of "cpsr_all" (which is provided, but doesn't make sense since mrs doesn't support fields like msr does).
|
| 1.3 |
07-Aug-2002 |
thorpej |
Speed up bcopy_page() on the XScale slightly by using the "pld" insn (prefetch) to look-ahead to the next chunk while we copy the current chunk.
This could probably use a bit more tuning.
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
| 1.2 |
11-Aug-2001 |
chris |
branches: 1.2.6; 1.2.14; Patch in Richard E's changes to bcopy page, the loop doesn't need unrolling as much as it currently is due to the overhead of the load/stores taking most of the time. (profiling shows minimal time difference)
|
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_base thorpej_scsipi_nbase
|
| 1.1 |
04-Mar-2001 |
matt |
branches: 1.1.4; 1.1.6; Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
|
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE yamt-pagecache-base9 yamt-pagecache-tag8 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE rmind-smpnet-nbase rmind-smpnet-base agc-symver-base tls-maxphys-base yamt-pagecache-base8 yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase jym-xensuspend-nbase bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-nb5-pq3-base netbsd-5-1-RELEASE yamt-nfs-mp-base11 netbsd-5-1-RC4 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE yamt-nfs-mp-base8 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base haad-dm-base1 haad-dm-base simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base jmcneill-pm-base hpcarm-cleanup-base mjf-ufs-trans-base yamt-idlelwp-base8 ppcoea-renovation-base reinoud-bufcleanup-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 yamt-splraiseipl-base newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 elad-kernelauth-nbase yamt-pdpolicy-base4 yamt-pdpolicy-base3 yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 yamt-km-base2 yamt-km-base kent-audio2-base ktrace-lwp-base nathanw_sa_before_merge gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base bjh21-hydra-base gehenna-devsw-base
|
| 1.6 |
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base kqueue-base
|
| 1.5 |
23-Mar-2002 |
thorpej |
branches: 1.5.2; 1.5.4; * Rename PROCESS_PAGE_TBLS_BASE -> PTE_BASE * Rename ALT_PAGE_TBLS_BASE -> APTE_BASE * Garbage-collect PAGE_TABLE_SPACE_START
|
|
Revision tags: eeh-devprop-base newlock-base
|
| 1.4 |
03-Mar-2002 |
chris |
Implement pmap_growkernel for arm32 based ports. Note that this has been compiled on some systems, cats, IQ80310, IPAQ, netwinder and shark (note that shark's build is currently broken due to other reasons), but only actually run on cats. Shark doesn't make use of the functionality as I believe there has to be a correlation between OFW and the kernel tables so that calls into OFW work.
|
|
Revision tags: ifpoll-base
|
| 1.3 |
20-Nov-2001 |
chris |
Correct comment to avoid confusion, it really means 32 bits not 32 bites.
|
|
Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2
|
| 1.2 |
28-Sep-2001 |
chris |
branches: 1.2.4; Note the alignment state of the stack. This is part of the work to get the stack 8byte aligned for ELF
|
|
Revision tags: post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_base thorpej_scsipi_nbase
|
| 1.1 |
04-Mar-2001 |
matt |
branches: 1.1.2; 1.1.4; 1.1.6; Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
| 1.151 |
08-Dec-2025 |
andvar |
Fix few typos in comments: s/aready/already/ s/aleady/already/ s/imcoming/incoming/
|
| 1.150 |
26-Sep-2025 |
skrll |
arm: Adjust barriers issued in bus_dmamap_sync for the coherent case.
PR/59654
This change adjusts the memory barriers issued by bus_dmamap_sync for the coherent case. In the non-coherent case the CPU cache operations are expected to provide any, and all required barriers.
These barriers are emitted after bouncing for PREWRITE and before bouncing for POSTREAD.
A new indrection is introduced to deal with the differencs in barrier (dsb) options between Arm V8 and V7, the lack of options in Arm V6, and the need to use cpu_drain_writebuf for all other earlier versions.
The Arm V8 Net change is:
op old new
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| 1.149 |
08-Mar-2025 |
jmcneill |
branches: 1.149.2; arm: Support BUS_DMA_NOCACHE
|
| 1.148 |
10-Dec-2024 |
msaitoh |
arm/bus_dma: Sprinkle error check with __predict_{true,false}.
Sprinkle error check in bus_dmamap_load*() and bus_dmamap_sync() with __predict_{true,false} to improve performance.
|
| 1.147 |
20-Oct-2024 |
skrll |
Revert previous - I misread the code.
|
| 1.146 |
20-Oct-2024 |
skrll |
G/C an unused event counter.
|
| 1.145 |
20-Oct-2024 |
skrll |
Sync with the RISC-V version. Mostly
Use PRI{u,x}{BUSSIZE,VADDR,PADDR}
|
|
Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base thorpej-ifq-base thorpej-altq-separation-base
|
| 1.144 |
28-Jul-2023 |
rin |
branches: 1.144.6; arm/bus_dma: Fix misleading comment:
- * For a virtually-indexed write-back cache, we need - * to do the following things: + * For a write-back cache, we need to do the following things:
This comment was written long ago when we supported only virtually- indexed caches for arm. But subsequent comments are valid also for physically-indexed cache.
|
| 1.143 |
03-Apr-2023 |
skrll |
Use PRI{u,x}{BUSSIZE,VADDR,PADDR} etc
|
| 1.142 |
03-Apr-2023 |
skrll |
More KNF
|
| 1.141 |
03-Apr-2023 |
skrll |
Some KNF
|
| 1.140 |
03-Apr-2023 |
skrll |
spaces -> TAB
|
| 1.139 |
25-Feb-2023 |
skrll |
Don't refer to physical_{start,end} here and just pass minimum (0UL) address and maximum (~0UL) physical address. The values are passed through to uvm_pglistalloc which knows about the RAM ranges.
|
|
Revision tags: netbsd-10-1-RELEASE 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 netbsd-10-base
|
| 1.138 |
11-Oct-2022 |
andvar |
branches: 1.138.2; fix typos in log messages s/bus_dmamem_create/bus_dmamap_create/ and s/bus_dmamem_load/bus_dmamap_load/. Inspired by recent similar fixes in OpenBSD.
|
|
Revision tags: bouyer-sunxi-drm-base
|
| 1.137 |
26-Jul-2022 |
andvar |
s/functin/function/ in copy pasted comment.
|
| 1.136 |
24-May-2022 |
andvar |
s/entrace/entrance/ in copy pasted comment.
|
| 1.135 |
06-Feb-2022 |
mrg |
if we have to bounce a buffer, clear our anything already setup in the map before trying again.
riastradh@ noticed that a map had two types of mbuf types, and this seems to avoid it as seen on eqos(4) on quartz64.
add a couple more event counts for bus dma events.
ok @skrll @raistradh @jmcneill
XXX: pullup-8 and pullup-9 probably.
|
| 1.134 |
20-Dec-2021 |
skrll |
_bus_dmatag_subregion is always EOPNOTSUPP for !_ARM32_NEED_BUS_DMA_BOUNCE No need to check {min,max}_addr. Compiler did the right thing, but...
|
| 1.133 |
30-Aug-2021 |
jmcneill |
Add storage for an iommu cookie in bus_dmamap_t and store untranslated CPU address in bus_dma_segment_t.
|
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.132 |
07-Feb-2021 |
skrll |
Check for programming errors in _bus_dmamap_load_buffer
|
| 1.131 |
07-Feb-2021 |
skrll |
pretty print
|
| 1.130 |
07-Feb-2021 |
skrll |
Consistently use %#x, etc
|
| 1.129 |
22-Dec-2020 |
skrll |
Count bus_dmamap_sync events for coherent ranges and non-coherent ranges
|
| 1.128 |
20-Dec-2020 |
jmcneill |
style fix
|
| 1.127 |
19-Dec-2020 |
jmcneill |
No need to allocate bounce buffers if we have a single range that covers all of physical memory.
|
| 1.126 |
04-Dec-2020 |
skrll |
Use __func__ in panic calls (and misc style changes)
|
| 1.125 |
04-Dec-2020 |
skrll |
Update stats in the coherent case. Reported by jmcneill.
|
| 1.124 |
24-Oct-2020 |
skrll |
branches: 1.124.2; Fix the logic around "parent is a subset and can be re-used" in bus_dmatag_subregion. Thanks to mrg@ for spotting the problem.
|
| 1.123 |
08-Sep-2020 |
skrll |
A few bus_dmatag_subregion fixes
- return EOPNOTSUPP if min_addr isn't less than max_addr - fix the subset check to ensure that all the ranges in the parent tag are within the {min,max}_addr range. If so we can just continue to use the parent tag. - when building the new ranges read the parent tag range rather than un- initialised memory. - remove the max_addr != 0xffffffff check - the overflow should be handled by the unsigned arithmetic for arm32. - add a KASSERT - add comments
|
| 1.122 |
20-Jun-2020 |
skrll |
KNF #includes
Remove some unnecessary ones while I'm here.
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
|
| 1.121 |
14-Mar-2020 |
ad |
- Hide the details of SPCF_SHOULDYIELD and related behind a couple of small functions: preempt_point() and preempt_needed().
- preempt(): if the LWP has exceeded its timeslice in kernel, strip it of any priority boost gained earlier from blocking.
|
|
Revision tags: is-mlppp-base ad-namecache-base3
|
| 1.120 |
22-Feb-2020 |
skrll |
Fix previous for _ARM32_NEED_BUS_DMA_BOUNCE
|
| 1.119 |
21-Feb-2020 |
maya |
Make sure to convey a failure to the calling function
Likely fix for PR kern/54999, but that was a one-off panic.
|
|
Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
|
| 1.118 |
05-Nov-2019 |
jmcneill |
branches: 1.118.2; Do not try to use direct map for prefetchable mappings
|
| 1.117 |
05-Nov-2019 |
jmcneill |
bus_dmamem_map: honour BUS_DMA_PREFETCHABLE hint
|
| 1.116 |
24-Aug-2019 |
jmcneill |
bus_dmamap_load_raw: support coherent mappings bus_dmamap_sync: support syncing "raw" buffer types
|
|
Revision tags: netbsd-9-base
|
| 1.115 |
14-Jun-2019 |
skrll |
branches: 1.115.2; Simplify the _ARM32_NEED_BUS_DMA_BOUNCE #ifdefs and rely on compiler optimisation of the bouncing = false case.
Drain the write buf (aka DSB) in more cases
Catch all CPUs that support speculation. (thunderx isn't CPU_CORTEX)
|
|
Revision tags: phil-wifi-20190609
|
| 1.114 |
08-Jun-2019 |
skrll |
Fix comment
|
|
Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
|
| 1.113 |
14-Sep-2018 |
skrll |
Fix BUS_DMASYNC_PREREAD|BUS_DMASYNC_PREWRITE for aarch64.
The readonly mbuf optimisation is for the old arm pmap.
|
|
Revision tags: pgoyette-compat-0906
|
| 1.112 |
03-Sep-2018 |
riastradh |
Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
|
Revision tags: pgoyette-compat-0728
|
| 1.111 |
17-Jul-2018 |
christos |
use unintmax_t instead of u_quad_t.
|
| 1.110 |
17-Jul-2018 |
martin |
Revert previous and cast to u_quad_t instead (t is for ptrdiff_t and off_t does not match that on all arm)
|
| 1.109 |
16-Jul-2018 |
christos |
fix incorrect printf format (off_t needs t)
|
|
Revision tags: phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502
|
| 1.108 |
27-Apr-2018 |
maxv |
branches: 1.108.2; M_CLUSTER -> M_EXT_CLUSTER
|
|
Revision tags: pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
|
| 1.107 |
01-Apr-2018 |
ryo |
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 tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
| 1.106 |
04-Mar-2018 |
skrll |
branches: 1.106.2; Less ifdefs -> more readable.
NFC intended
|
| 1.105 |
03-Mar-2018 |
skrll |
Style
|
| 1.104 |
03-Mar-2018 |
skrll |
Rely on the cache operations to perform the necessary barriers.
|
| 1.103 |
03-Mar-2018 |
skrll |
Wrap some long lines
|
| 1.102 |
03-Mar-2018 |
skrll |
Remove unnecessary includes
|
| 1.101 |
29-Dec-2017 |
skrll |
More KNF
|
| 1.100 |
29-Dec-2017 |
skrll |
KNF cvS: ----------------------------------------------------------------------
|
|
Revision tags: tls-maxphys-base-20171202
|
| 1.99 |
03-Nov-2017 |
skrll |
Fix a comment
|
|
Revision tags: netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107
|
| 1.98 |
05-Jan-2017 |
msaitoh |
branches: 1.98.8; Update the dmamp argument only when the allocation succeeded.
|
| 1.97 |
23-Dec-2016 |
cherry |
"Make NetBSD great again!"
Introduce uvm_hotplug(9) to the kernel.
Many thanks, in no particular order to:
TNF, for funding the project.
Chuck Silvers - for multiple API reviews and feedback. Nick Hudson - for testing on multiple architectures and bugfix patches. Everyone who helped with boot testing.
KeK (http://www.kek.org.in) for hosting the primary developers.
|
|
Revision tags: nick-nhusb-base-20161204
|
| 1.96 |
05-Nov-2016 |
skrll |
Also return early from _bus_dmamap_sync if we're not bouncing and there are no {pre,post} ops
Now the KASSERT doesn't fire on cats
|
|
Revision tags: pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
|
| 1.95 |
18-Jun-2016 |
skrll |
branches: 1.95.2; Trailing whitespace.
|
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
| 1.94 |
18-Oct-2015 |
jmcneill |
implement _bus_dmamap_load_raw, ok skrll@
|
|
Revision tags: nick-nhusb-base-20150921
|
| 1.93 |
24-Aug-2015 |
matt |
Fix mbuf dmasyncing for extended MMU kernels.
|
| 1.92 |
21-Aug-2015 |
matt |
Assert we aren't trying to sync a read-only mbuf as PREREAD.
|
|
Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
| 1.91 |
25-Feb-2015 |
joerg |
Improve inline asm around dsb/dmb/isb: - always use volatile and mark them as memory barrier - use the common version from locore.h in all places not included from userland
|
| 1.90 |
12-Feb-2015 |
joerg |
Kill redundant semicolons.
|
|
Revision tags: nick-nhusb-base
|
| 1.89 |
09-Nov-2014 |
skrll |
branches: 1.89.2; Post a dmb before invalidating the cache in the post-{read,write} operations to ensure that any/all cachelines brought in via speculation are really flushed.
|
| 1.88 |
18-Oct-2014 |
snj |
src is too big these days to tolerate superfluous apostrophes. It's "its", people!
|
| 1.87 |
08-Sep-2014 |
matt |
With PMAP_NEED_ALLOC_POOLPAGE, before using pmap_map_poolpage make sure the page comes from the same freelist that pmap_map_poolpage uses.
|
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.86 |
10-Apr-2014 |
matt |
branches: 1.86.2; Deal with non-4KB pages properly.
|
| 1.85 |
06-Apr-2014 |
skrll |
Remove a comment that became largely redundant with the PMAP_NOCACHE change.
|
| 1.84 |
02-Apr-2014 |
matt |
branches: 1.84.2; Deal with bus_dmamem_unmap of direct mapped KVA.
|
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
| 1.83 |
24-Mar-2014 |
christos |
use cpu_{g,s}etmodel
|
|
Revision tags: riastradh-drm2-base3
|
| 1.82 |
26-Feb-2014 |
skrll |
Fix off by one in _bus_dma_{paddr_inrange,_to_paddr} when checking the dma range.
|
| 1.81 |
26-Feb-2014 |
matt |
Use kmem instead of malloc. Fix various corner cases with bounce buffers. Use PMAP_NOCACHE instead of manipulating PTEs directly.
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
|
| 1.80 |
18-Feb-2013 |
matt |
branches: 1.80.2; Disable when using extended MMU support.
|
| 1.79 |
16-Feb-2013 |
matt |
Use KASSERT* in preference to #ifdef DIAGNOSTIC / panic
|
| 1.78 |
15-Feb-2013 |
matt |
Actually use the calculated uboundary.
|
| 1.77 |
14-Feb-2013 |
matt |
Make sync counters only count when caches ops are performed.
|
| 1.76 |
14-Feb-2013 |
matt |
Rework counters. Get rid of a badly done goto. Properly deal with boundary in bus_dmamem_alloc_range.
|
| 1.75 |
14-Feb-2013 |
matt |
fix writebuf draining fix.
|
| 1.74 |
13-Feb-2013 |
matt |
bounce buffer fixes + convert some kassert -> kassertmsg
|
| 1.73 |
04-Feb-2013 |
macallan |
support BUS_DMA_PREFETCHABLE in bus_dmamem_mmap()
|
| 1.72 |
28-Jan-2013 |
skrll |
Move and tweak an #if 0 printf
|
| 1.71 |
27-Jan-2013 |
matt |
Get rid of _BUS_DMAMAP_MEM_XLATE
|
| 1.70 |
27-Jan-2013 |
matt |
Add a _BUS_DMAMAP_NOALLOC which tells bus_dmamem_alloc to skip that dmarange when allocating memory. Add a second dmarange to bcm23xx obio to allow it to map coherently mapped memory.
|
| 1.69 |
27-Jan-2013 |
matt |
Make _BUS_DMAMAP_MEM_XLATE supplied by the caller.
|
| 1.68 |
27-Jan-2013 |
matt |
Add a flag to make bus_dmamem_map use the bus/sys transation table when mapping bus addresses. Make bcm2835 obio use it.
|
|
Revision tags: yamt-pagecache-base8
|
| 1.67 |
16-Jan-2013 |
matt |
On Cortex, speculative loads can cache lines to be populated after then they've been invalidated for a DMA read. So after the DMA read we have to reinvalidate them again. We have to both invalidates since the former prevents dirty lines overwriting just DMAed data.
|
|
Revision tags: yamt-pagecache-base7 yamt-pagecache-base6
|
| 1.66 |
23-Oct-2012 |
skrll |
Correct inverted boolean logic for the coherent flag introduced in r1.61
Fixes slow nfs seen by msaitoh@
|
| 1.65 |
22-Oct-2012 |
matt |
Only call cpu_{,s}dcache_inv_range if len > 0
|
| 1.64 |
21-Oct-2012 |
matt |
Use right flag name for bus_dmamem_map (fixes usb on BCM53xx).
|
| 1.63 |
19-Oct-2012 |
matt |
Make IS_BOUNCING a map flag and use it to simplify code and to avoid calling the sync routines if (COHERENT|IS_BOUNCING) == COHERENT. (this eeks out a little bit more performance).
|
| 1.62 |
19-Oct-2012 |
matt |
Make bus_dmamem_map aware of coherent dma regions. Also, take advantage of the use/existance of PMAP_MAP_POOLPAGE to avoid redundant mappings.
|
| 1.61 |
17-Oct-2012 |
matt |
Add per-segment and per-ragne flag (to store _BUS_DMAMAP_COHERENT). Use the per-range flag to set the per-segment flag. This allows bus_dma to skip flushing for known coherent memory regions.
|
| 1.60 |
06-Oct-2012 |
matt |
Fix a cut&paste error with supersections.
|
| 1.59 |
22-Sep-2012 |
matt |
Add busaddr to paddr routine and use it. cleanup the PREREAD sync case.
|
| 1.58 |
18-Sep-2012 |
matt |
Add bounce buffer support for ARM bus_dma(9). Add macros to help initialize bus_dma_tag structures.
|
| 1.57 |
11-Sep-2012 |
matt |
branches: 1.57.2; Rework dmasync routines so that secondary caches can be flushed as well as the primary caches.
|
| 1.56 |
02-Sep-2012 |
matt |
Supersections are on armv6 too.
|
| 1.55 |
02-Sep-2012 |
matt |
Make bus_dma understand supersections.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
| 1.54 |
01-Jul-2011 |
dyoung |
branches: 1.54.2; 1.54.10; #include <sys/bus.h> instead of <machine/bus.h>.
|
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 rmind-uvmplock-base jym-xensuspend-base
|
| 1.53 |
06-Nov-2010 |
uebayasi |
Machine dependent code is considered as part of UVM. Include internal API header.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 netbsd-5-1-RC4 matt-nb5-mips64-k15 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base wrstuden-revivesa-base mjf-devfs2-base
|
| 1.52 |
04-Jun-2008 |
ad |
branches: 1.52.16; 1.52.18; 1.52.20; vm_page: put TAILQ_ENTRY into a union with LIST_ENTRY, so we can use both.
|
|
Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2
|
| 1.51 |
28-Apr-2008 |
martin |
branches: 1.51.2; Remove clause 3 and 4 from TNF licenses
|
|
Revision tags: nick-csl-alignment-base5 yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 bouyer-xeni386-merge1 matt-armv6-prevmlocking chris-arm-intr-rework-base3 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-armv6-base chris-arm-intr-rework-base2 chris-arm-intr-rework-base jmcneill-pm-base hpcarm-cleanup-base nick-csl-alignment-base matt-mips64-base yamt-idlelwp-base8 ppcoea-renovation-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base
|
| 1.50 |
04-Mar-2007 |
christos |
branches: 1.50.42; 1.50.44; 1.50.46; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 elad-kernelauth-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.49 |
10-Apr-2006 |
simonb |
branches: 1.49.14; Unwrap a not-too-long-line.
|
|
Revision tags: yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base
|
| 1.48 |
01-Mar-2006 |
yamt |
branches: 1.48.2; 1.48.4; 1.48.6; merge yamt-uio_vmspace branch.
- use vmspace rather than proc or lwp where appropriate. the latter is more natural to specify an address space. (and less likely to be abused for random purposes.) - fix a swdmover race.
|
|
Revision tags: yamt-uio_vmspace-base5
|
| 1.47 |
24-Dec-2005 |
perry |
branches: 1.47.2; 1.47.4; 1.47.6; Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
| 1.46 |
11-Dec-2005 |
christos |
merge ktrace-lwp.
|
|
Revision tags: yamt-readahead-base3 ktrace-lwp-base
|
| 1.45 |
24-Nov-2005 |
yamt |
bus_dmamem_map: honour BUS_DMA_NOWAIT. noted by Manuel Bouyer. bus_space_map: always do NOWAIT allocation as it used to be before yamt-km.
we have too many copies!
|
|
Revision tags: yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base kent-audio2-base
|
| 1.44 |
01-Apr-2005 |
yamt |
branches: 1.44.2; 1.44.8; merge yamt-km branch. - don't use managed mappings/backing objects for wired memory allocations. save some resources like pv_entry. also fix (most of) PR/27030. - simplify kernel memory management API. - simplify pmap bootstrap of some ports. - some related cleanups.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE 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 yamt-km-base4 yamt-km-base3 netbsd-3-base
|
| 1.43 |
09-Mar-2005 |
matt |
Add a dm_maxsegsz public member to bus_dmamap_t. This allows a user of the API to select the maximum segment size for each bus_dmamap_load (up to the maxsegsz supplied to bus_dmamap_create). dm_maxsegsz is reset to the value supplied to bus_dmamap_create when the dmamap is unloaded.
|
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge
|
| 1.42 |
02-Jan-2005 |
chris |
branches: 1.42.2; 1.42.4; Remove direct references to TAILQ internal structures.
No functional change, just tidying up code.
|
|
Revision tags: kent-audio1-base
|
| 1.41 |
28-Nov-2004 |
thorpej |
Sync with i386 bus_dma.
|
| 1.40 |
06-Oct-2004 |
scw |
Apply patch provided by Hiroki Nakano in PR kern/27159 to fix compilation with DEBUG_DMA defined.
|
| 1.39 |
19-Jun-2004 |
thorpej |
Merge x86/bus_dma.c 1.11 by yamt:
Simplify bus_dma internal "load" functions by eliminating the "first" variable, using seg == -1 instead.
|
|
Revision tags: netbsd-2-0-3-RELEASE 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-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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-base
|
| 1.38 |
30-Oct-2003 |
scw |
In bus_dmamap_sync(), we can no longer rely on the data cache being flushed on every context switch as an indicator that a mapping is not resident in the cache.
Instead, used the per-pmap flag maintained by the cpu_switch/pmap code.
|
| 1.37 |
29-Oct-2003 |
mycroft |
If something goes wrong, we want to return ENOMEM, not 0!
|
| 1.36 |
26-Oct-2003 |
chris |
Fix up some unitialised variables.
|
| 1.35 |
06-Sep-2003 |
rearnsha |
Make sure _ARM32_BUS_DMA_PRIVATE is defined before we pull in any include files to avoid problems with the rats nest of dependencies.
|
| 1.34 |
24-Jul-2003 |
briggs |
Clear ARM32_DMAMAP_COHERENT in _bus_dmamap_load_buffer for userspace mappings.
|
| 1.33 |
15-Jul-2003 |
lukem |
__KERNEL_RCSID()
|
| 1.32 |
29-Jun-2003 |
fvdl |
branches: 1.32.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
| 1.31 |
28-Jun-2003 |
darrenr |
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
| 1.30 |
21-May-2003 |
thorpej |
Remove #ifdefs supporting the old pmap, switching fully to the new.
|
| 1.29 |
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
| 1.28 |
09-Apr-2003 |
thorpej |
Use cached physical addresses for mbufs and clusters to save having to extract the physical address from the virtual.
On the ARM, also use the "read-only at MMU" indication to avoid a redundant cache clean operation.
Other platforms should use these two as examples of how to use these new pool/mbuf features to improve network performance. Note this requires a platform to provide a working POOL_VTOPHYS().
Part 3 in a series of simple patches contributed by Wasabi Systems to improve network performance.
|
| 1.27 |
01-Apr-2003 |
thorpej |
Use PAGE_SIZE rather than NBPG.
|
| 1.26 |
27-Mar-2003 |
mycroft |
Remove references to variables that aren't used here.
|
| 1.25 |
03-Feb-2003 |
chris |
bus dma memory is allocated as M_DMAMAP so free it as M_DMAMAP, not DEVBUF.
|
| 1.24 |
02-Feb-2003 |
wiz |
guarantee, not guarentee. Idea from miod@openbsd.
|
| 1.23 |
17-Jan-2003 |
thorpej |
Merge the nathanw_sa branch.
|
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base kqueue-base
|
| 1.22 |
25-Sep-2002 |
thorpej |
Don't include <sys/map.h>.
|
|
Revision tags: gehenna-devsw-base
|
| 1.21 |
22-Aug-2002 |
thorpej |
* Add PTE_SYNC() and PTE_SYNC_RANGE() macros. These don't actually do anything yet. * Use PTE_SYNC() and PTE_SYNC_RANGE() in some obvious places, i.e. where vtopte() is used.
|
| 1.20 |
17-Aug-2002 |
briggs |
Do not trim 'offset' from 'len' in _bus_dmamap_sync_linear().
|
| 1.19 |
17-Aug-2002 |
briggs |
Inline bus_dma_inrange() and bus_dmamap_sync_*().
|
| 1.18 |
14-Aug-2002 |
thorpej |
When doing PREREAD sync operations, if the start and end addresses of the range are aligned to a cacheline boundary, when do a dcache-inv operation, rather than a dcache-wbinv operation.
XXX It could be a little smarter (align using wbinv, inv, then finish up using wbinv), but even this simple change is good for a nearly 40% improvement in my test case on XScale.
|
| 1.17 |
14-Aug-2002 |
thorpej |
* Add an ARM32_DMAMAP_COHERENT flag to indicate that a loaded DMA map contains "coherent" (non-cached in ARM-land) mappings. * Set ARM32_DMAMAP_COHERENT in the map at the start of a load operation, and clear it in _bus_dmamap_load_buffer() if we encounter any cacheable mappings. * In _bus_dmamap_sync(), if the map is marked COHERENT, skip any cache flushing.
|
| 1.16 |
14-Aug-2002 |
thorpej |
Whe making a mapping "coherent", clear *ALL* the cache bits, not just L2_B and L2_C.
|
| 1.15 |
31-Jul-2002 |
thorpej |
Overhaul how DMA ranges work in the ARM bus_dma implementation.
A new "arm32_dma_range" structure now describes a DMA window, with a system address base, bus address base, and length. In addition to providing info about which memory regions are legal for DMA, the new structure provides address translation support, as well.
As before, if a tag does not list any ranges, then all addresses are considered valid, and no DMA address translation is performed.
This allows us to remove a large chunk of code which was duplicated and tweaked slightly (to do the address translation) from the stock ARM bus_dma in the XScale IOP and ARM Integrator ports.
Test compiled on all ARM platforms, test booted on Intel IQ80321 and Shark.
|
| 1.14 |
28-Jul-2002 |
thorpej |
Change the way that DMA map syncs are done. Instead of remembering the virtual address for each DMA segment, just cache a pointer to the original buffer/buftype used to load the DMA map, and use that. This lets us shrink the bus_dma_segment_t down from 12 bytes to 8, and the cache flushing is also more efficient.
Tested on an i80321 -- changes to others are mechanical.
|
| 1.13 |
28-Jun-2002 |
briggs |
Remove complaint: bus_dmamap_destroy() called for map with valid mappings bus_dma(9) states: "In the event that the DMA handle contains a valid mapping, the mapping will be unloaded via the same mechanism used by bus_dmamap_unload()." And some drivers do mean to skip the unload step.
|
| 1.12 |
02-Jun-2002 |
drochner |
move initialization of the "struct pglist" returned by uvm_pglistalloc() from the calling code into uvm_pglistalloc() itself for consistency and easier error handling
|
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
| 1.11 |
10-Apr-2002 |
thorpej |
branches: 1.11.2; 1.11.4; vm_offset_t -> vaddr_t,paddr_t
|
| 1.10 |
05-Apr-2002 |
thorpej |
* Rewrite the 32-bit ARM pte.h based on the ARM architecture manual. Significant cleanup, here, including better PTE bit names. * Add XScale PTE extensions (ECC enable, write-allocate cache mode). * Mechanical changes everywhere else to update for new pte.h. While doing this, two bugs (as a result of typos) were fixed in
arm/arm32/bus_dma.c evbarm/integrator/int_bus_dma.c
|
| 1.9 |
24-Mar-2002 |
thorpej |
* arm_byte_to_page() -> arm_btop() * arm_page_to_byte() -> arm_ptob()
|
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
| 1.8 |
25-Jan-2002 |
thorpej |
Overhaul bus_dmamap_sync for the ARM: * Track which process (XXX really, vmspace) owns the mapping. When we sync the map, if the mapping doesn't belong to the kernel or to the current process (XXX really, vmspace), then no cache fobbing is necessary, since the cache is Wb-Inv'd on context switch (XXX need to revisit this when we support FCSE). * Be smarter about which cache operation we do when sync'ing the map: - PREREAD -- Invalidate D$ (XXX right now, we actually do Wb-Inv) - PREWRITE -- Write-back D$ (note, we do NOT invalidate here) - PREREAD|PREWRITE -- Wb-Inv D$
More work is needed here. In particular, a version for CPUs with write-through caches should be provided, to eliminate the write-back steps (which are noops on such CPUs, but skipping two branches would be nice).
|
| 1.7 |
25-Jan-2002 |
thorpej |
ANSI'ify function decls.
|
| 1.6 |
25-Jan-2002 |
thorpej |
Overhaul of the ARM cache code. This is mostly a simplification pass. Rather than providing a whole slew of cache operations that aren't ever used, distill them down to some useful primitives:
icache_sync_all Synchronize I-cache icache_sync_range Synchronize I-cache range
dcache_wbinv_all Write-back and Invalidate D-cache dcache_wbinv_range Write-back and Invalidate D-cache range dcache_inv_range Invalidate D-cache range dcache_wb_range Write-back D-cache range
idcache_wbinv_all Write-back and Invalidate D-cache, Invalidate I-cache idcache_wbinv_range Write-back and Invalidate D-cache, Invalidate I-cache range
Note: This does not yet include an overhaul of the actual asm files that implement the primitives. Instead, we've provided a safe default for each CPU type, and the individual CPU types can now be optimized one at a time.
|
| 1.5 |
26-Nov-2001 |
thorpej |
Don't include <machine/psl.h> directly.
|
| 1.4 |
23-Nov-2001 |
thorpej |
Use <arm/cpufunc.h>, not <machine/cpufunc.h>.
|
|
Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf
|
| 1.3 |
12-Sep-2001 |
rearnsha |
branches: 1.3.4; Fix warning errors for printing size_t types when compiling with DEBUG_DMA (uses casts due to a.out and ELF having different base types for size_t).
|
| 1.2 |
10-Sep-2001 |
chris |
Update pmap_update to now take the updated pmap as an argument. This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.
Currently this is a no-op on most platforms, so they should see no difference.
Reviewed by Jason.
|
|
Revision tags: thorpej-devvp-base
|
| 1.1 |
28-Jul-2001 |
chris |
branches: 1.1.2; 1.1.4; Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
|
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE yamt-pagecache-base9 yamt-pagecache-tag8 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE rmind-smpnet-nbase rmind-smpnet-base agc-symver-base tls-maxphys-base yamt-pagecache-base8 yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase jym-xensuspend-nbase bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-nb5-pq3-base netbsd-5-1-RELEASE yamt-nfs-mp-base11 netbsd-5-1-RC4 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE yamt-nfs-mp-base8 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base haad-dm-base1 haad-dm-base simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base jmcneill-pm-base hpcarm-cleanup-base mjf-ufs-trans-base yamt-idlelwp-base8 ppcoea-renovation-base reinoud-bufcleanup-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 yamt-splraiseipl-base newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 elad-kernelauth-nbase yamt-pdpolicy-base4 yamt-pdpolicy-base3 yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 yamt-km-base2 yamt-km-base kent-audio2-base ktrace-lwp-base nathanw_sa_end nathanw_sa_before_merge gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base bjh21-hydra-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base thorpej-devvp-base kqueue-base thorpej_scsipi_beforemerge thorpej_scsipi_base thorpej_scsipi_nbase
|
| 1.2 |
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
| 1.1 |
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
|
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE yamt-pagecache-base9 yamt-pagecache-tag8 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE rmind-smpnet-nbase rmind-smpnet-base agc-symver-base tls-maxphys-base yamt-pagecache-base8 yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase jym-xensuspend-nbase bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-nb5-pq3-base netbsd-5-1-RELEASE yamt-nfs-mp-base11 netbsd-5-1-RC4 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE yamt-nfs-mp-base8 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base haad-dm-base1 haad-dm-base simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base jmcneill-pm-base hpcarm-cleanup-base mjf-ufs-trans-base yamt-idlelwp-base8 ppcoea-renovation-base reinoud-bufcleanup-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 yamt-splraiseipl-base newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 elad-kernelauth-nbase yamt-pdpolicy-base4 yamt-pdpolicy-base3 yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 yamt-km-base2 yamt-km-base kent-audio2-base ktrace-lwp-base nathanw_sa_before_merge gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base bjh21-hydra-base
|
| 1.20 |
26-Oct-2002 |
jdolecek |
now that mem_no is emitted by config(8), there is no reason to keep copy of more or less identical iskmemdev() for every arch; move the function to spec_vnop.c, and g/c machine-dependant copies
|
|
Revision tags: kqueue-aftermerge kqueue-beforemerge kqueue-base
|
| 1.19 |
06-Sep-2002 |
gehenna |
Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to dynamically generated by config(8).
- All device switches is defined as a constant structure in device drivers.
- The new grammer ``device-major'' is introduced to ``files''.
device-major <prefix> char <num> [block <num>] [<rules>]
- All device major numbers must be listed up in port dependent majors.<arch> by using this grammer.
- Added the new naming convention. The name of the device switch must be <prefix>_[bc]devsw for auto-generation of device switch tables.
- The backward compatibility of loading block/character device switch by LKM framework is broken. This is necessary to convert from block/character device major to device name in runtime and vice versa.
- The restriction to assign device major by LKM is completely removed. We don't need to reserve LKM entries for dynamic loading of device switch.
- In compile time, device major numbers list is packed into the kernel and the LKM framework will refer it to assign device major number dynamically.
|
|
Revision tags: gehenna-devsw-base
|
| 1.18 |
02-Aug-2002 |
thorpej |
Add dmoverio.
|
| 1.17 |
29-Jul-2002 |
thorpej |
Add sysmon at cdev 101.
|
| 1.16 |
22-Jul-2002 |
ichiro |
cdev_tty_init(NIXPCOM,ixpcom) move to end of cdevsw array
|
| 1.15 |
20-Jul-2002 |
simonb |
Add an "#ifndef NIXPCOM" check so that this builds on non-evbarm.
|
| 1.14 |
19-Jul-2002 |
thorpej |
Rename cdev_systrace_init() to cdev_clonemisc_init(), so it can be properly used by any misc. cloning device. While here, correct a comment to indicate that "open" is the only entry point and that everything else is handled with fileops.
|
| 1.13 |
16-Jul-2002 |
ichiro |
add ixpcom to cdevsw
|
| 1.12 |
30-Jun-2002 |
thorpej |
Add kttcp device.
|
| 1.11 |
17-Jun-2002 |
christos |
MD systrace gluons.
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
| 1.10 |
19-Apr-2002 |
wiz |
branches: 1.10.2; Complete renaming of opms to opms (was partly named pms, externally and internally). Move arm/iomd/pms* to arm/iomd/opms*. Mechanical change, tested by cross-compiling a kernel from i386.
Approved by christos.
XXX: What are arm/arm32/conf.c and arm/include/conf.h good for?
|
|
Revision tags: eeh-devprop-base
|
| 1.9 |
18-Mar-2002 |
briggs |
Fix typo: ISDNCTL -> NISDNCTL.
|
| 1.8 |
16-Mar-2002 |
martin |
Rename ISDN devices, per discussion on tech-kern. The network devices become ippp (ISDN ppp) and irip (ISDN raw IP). The character device now are called: /dev/isdn (isdnd <-> kernel communication), /dev/isdnctl (dialing and other control), /dev/isdntrc* (tracing), /dev/isdnbchan* (raw B channel access, i.e. for user land PPP) and /dev/isdntel* (telephone devices, i.e. for answering machines).
|
|
Revision tags: newlock-base ifpoll-base
|
| 1.7 |
05-Jan-2002 |
chris |
Update with radio, cir and irframe. also add block device for ld. Update other tables in file as appropriate.
|
| 1.6 |
11-Dec-2001 |
chris |
Add clockctl device. Note that someone needs to tidy this up, we've got 92 block devices, which just ain't true. Also appears we're actually missing some, eg the ld block device.
|
|
Revision tags: thorpej-mips-cache-base
|
| 1.5 |
27-Oct-2001 |
rearnsha |
branches: 1.5.2; Add the IFPGA console device.
|
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2
|
| 1.4 |
16-Sep-2001 |
matt |
branches: 1.4.2; Add missing devices (IOP,MLX,MLY,LD), PCI, stub AGP, ...
|
|
Revision tags: post-chs-ubcperf pre-chs-ubcperf
|
| 1.3 |
09-Sep-2001 |
toshii |
branches: 1.3.2; Readd sacom to cdevsw.
|
|
Revision tags: thorpej-devvp-base
|
| 1.2 |
04-Sep-2001 |
wiz |
branches: 1.2.2; Fix typos (CONS instead of CONF, and specifc instead of specific).
|
| 1.1 |
03-Sep-2001 |
matt |
Switch netwinder to use a common conf.c for the arm ports.
|
|
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE yamt-pagecache-base9 yamt-pagecache-tag8 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE rmind-smpnet-nbase rmind-smpnet-base agc-symver-base tls-maxphys-base yamt-pagecache-base8 yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase jym-xensuspend-nbase bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-nb5-pq3-base netbsd-5-1-RELEASE yamt-nfs-mp-base11 netbsd-5-1-RC4 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE yamt-nfs-mp-base8 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base haad-dm-base1 haad-dm-base simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base jmcneill-pm-base hpcarm-cleanup-base mjf-ufs-trans-base yamt-idlelwp-base8 ppcoea-renovation-base reinoud-bufcleanup-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 yamt-splraiseipl-base newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 elad-kernelauth-nbase yamt-pdpolicy-base4 yamt-pdpolicy-base3 yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 yamt-km-base2 yamt-km-base kent-audio2-base ktrace-lwp-base nathanw_sa_before_merge gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base bjh21-hydra-base gehenna-devsw-base
|
| 1.6 |
11-Aug-2002 |
bjh21 |
Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
| 1.5 |
09-Aug-2002 |
thorpej |
Reduce stalls on StrongARM and XScale by waiting one insn before using the result of a load.
|
| 1.4 |
09-Aug-2002 |
thorpej |
Use ldrbt/strbt. Some other random cleanup.
|
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base eeh-devprop-base newlock-base kqueue-base
|
| 1.3 |
03-Mar-2002 |
chris |
branches: 1.3.6; 1.3.8; Implement pmap_growkernel for arm32 based ports. Note that this has been compiled on some systems, cats, IQ80310, IPAQ, netwinder and shark (note that shark's build is currently broken due to other reasons), but only actually run on cats. Shark doesn't make use of the functionality as I believe there has to be a correlation between OFW and the kernel tables so that calls into OFW work.
|
|
Revision tags: ifpoll-base thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2
|
| 1.2 |
28-Sep-2001 |
chris |
branches: 1.2.4; Note the alignment state of the stack. This is part of the work to get the stack 8byte aligned for ELF
|
|
Revision tags: post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_base thorpej_scsipi_nbase
|
| 1.1 |
04-Mar-2001 |
matt |
branches: 1.1.2; 1.1.4; 1.1.6; Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
| 1.9 |
19-Dec-2025 |
nia |
Remove the advertising clause from Microsoft's licenses.
Thanks to Scott Hanselman at Microsoft for turning the wheels to get this approved!
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.8 |
20-Jun-2020 |
skrll |
KNF #includes
Remove some unnecessary ones while I'm here.
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
| 1.7 |
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728
|
| 1.6 |
12-Jul-2018 |
maxv |
Remove the kernel PMC code. Sent yesterday on tech-kern@.
This change:
* Removes "options PERFCTRS", the associated includes, and the associated ifdefs. In doing so, it removes several XXXSMPs in the MI code, which is good.
* Removes the PMC code of ARM XSCALE.
* Removes all the pmc.h files. They were all empty, except for ARM XSCALE.
* Reorders the x86 PMC code not to rely on the legacy pmc.h file. The definitions are put in sysarch.h.
* Removes the kern/sys_pmc.c file, and along with it, the sys_pmc_control and sys_pmc_get_info syscalls. They are marked as OBSOL in kern, netbsd32 and rump.
* Removes the pmc_evid_t and pmc_ctr_t types.
* Removes all the associated man pages. The sets are marked as obsolete.
|
|
Revision tags: phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
| 1.5 |
04-Dec-2017 |
skrll |
branches: 1.5.2; 1.5.4; KNF
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
| 1.4 |
13-Aug-2015 |
knakahara |
fix: Cortex delay() shorten rarely.
|
|
Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
| 1.3 |
08-Feb-2015 |
skrll |
RCSid police
|
|
Revision tags: netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
|
| 1.2 |
29-Aug-2012 |
matt |
branches: 1.2.2; 1.2.12; 1.2.16; 1.2.18; Since the PMC cycle counter is started in cpufunc no reason to do so here. Use curcpu()->ci_data.cpu_cc_freq and new armreg* inlines.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 jym-xensuspend-base uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
| 1.1 |
19-Jun-2010 |
matt |
branches: 1.1.2; 1.1.4; 1.1.6; 1.1.14; 1.1.22; Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
|
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base yamt-pagecache-base9 yamt-pagecache-tag8 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base agc-symver-base tls-maxphys-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase jym-xensuspend-nbase rmind-uvmplock-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base jym-xensuspend-base yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
| 1.2 |
19-Jun-2010 |
matt |
This was renamed to cortex_pmc.c
|
| 1.1 |
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
| 1.155 |
09-Oct-2025 |
skrll |
Add the beginnings of a GENERIC_V5 kernel that targets armv5 boards and uses FDT.
In this first iteration some support is added for OLinuXino boards.
Thanks to Yuri Honegger for doing the vast majority of the work.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.154 |
09-May-2024 |
pho |
kern/58195: arm: Support drvctl -d and -r for cpufeaturebus
This is required for detaching and re-attaching the vmt(4) driver on aarch64.
|
|
Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
| 1.153 |
03-Mar-2022 |
riastradh |
arm: Use device_set_private for cpuN.
For cpu at fdt, nix the fdt softc -- this was leaked and never used for anything. The device's private storage is the cpu_info.
|
| 1.152 |
31-Oct-2021 |
skrll |
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
|
| 1.151 |
11-Oct-2021 |
rin |
For some classic CPUs, info->[id]cache_sets are not initialized. Calculate and print numbers of sets in this case.
|
| 1.150 |
11-Oct-2021 |
rin |
pN steppings are used for ARM926EJ-S, although only r0 seems to be available.
|
| 1.149 |
23-Sep-2021 |
skrll |
Print the cache information in similar formats and arm and aarch64, e.g.
arm before [ 1.0000000] cpu0: 32KB/64B 2-way L1 PIPT Instruction cache [ 1.0000000] cpu0: 32KB/64B 2-way write-back-locking-C L1 PIPT Data cache [ 1.0000000] cpu0: 2304KB/64B 16-way write-through L2 PIPT Unified cache
arm after [ 1.0000000] cpu0: L1 32KB/64B 2-way (256 set) PIPT Instruction cache [ 1.0000000] cpu0: L1 32KB/64B 2-way (256 set) write-back-locking-C PIPT Data cache [ 1.0000000] cpu0: L2 2304KB/64B 16-way (2304 set) write-through PIPT Unified cache
aarch64 before [ 1.0000030] cpu1: L1 48KB/64B*256L*3W PIPT Instruction cache [ 1.0000030] cpu1: L1 32KB/64B*256L*2W PIPT Data cache [ 1.0000030] cpu1: L2 2048KB/64B*2048L*16W PIPT Unified cache
aarch64 after [ 1.0000030] cpu1: L1 48KB/64B 3-way (256 set) PIPT Instruction cache [ 1.0000030] cpu1: L1 32KB/64B 2-way (256 set) PIPT Data cache [ 1.0000030] cpu1: L2 2048KB/64B 16-way (2048 set) PIPT Unified cache
|
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
|
| 1.148 |
06-Jul-2021 |
skrll |
Assume all ARM11[37]6 r0 variants are missing ISAR and friends. This is certainly the case for r0 variants I could find TRMs for.
PR/50596 CPU_ID_ARM1136JS r0p4 does not support feature registers
|
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base
|
| 1.147 |
02-Jul-2020 |
martin |
branches: 1.147.6; Initialize ci_kfpu_spl earlier for secondary CPUs. From riastradh
|
| 1.146 |
29-Jun-2020 |
riastradh |
Implement fpu_kern_enter/leave for arm32.
|
| 1.145 |
20-Jun-2020 |
skrll |
KNF #includes
Remove some unnecessary ones while I'm here.
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
| 1.144 |
15-Feb-2020 |
skrll |
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 tags: ad-namecache-base2
|
| 1.143 |
22-Jan-2020 |
skrll |
#ifdef whack-a-mole for the pmap_maxproc_set functionality
|
| 1.142 |
20-Jan-2020 |
skrll |
s/_ARM_ARCH_6/ARM_MMU_EXTENDED/ in the #ifdef for the recent 4k pages change
|
| 1.141 |
18-Jan-2020 |
skrll |
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 tags: ad-namecache-base1
|
| 1.140 |
15-Jan-2020 |
mrg |
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.
|
| 1.139 |
09-Jan-2020 |
ad |
- Many small tweaks to the SMT awareness in the scheduler. It does a much better job now at keeping all physical CPUs busy, while using the extra threads to help out. In particular, during preempt() if we're using SMT, try to find a better CPU to run on and teleport curlwp there.
- Change the CPU topology stuff so it can work on asymmetric systems. This mainly entails rearranging one of the CPU lists so it makes sense in all configurations.
- Add a parameter to cpu_topology_set() to note that a CPU is "slow", for where there are fast CPUs and slow CPUs, like with the Rockwell RK3399. Extend the SMT awareness to try and handle that situation too (keep fast CPUs busy, use slow CPUs as helpers).
|
| 1.138 |
09-Jan-2020 |
martin |
When attaching the first fdtbus, use the root "comptabile" (or failing that: "model") property to set the cpu model (in userland aka sysctl hw.model). When attaching the first cpu, do not overwrite a cpu model if it already had been set.
|
| 1.137 |
08-Jan-2020 |
jmcneill |
cpu_hatch is too late to report AP topology, do it at attach time instead
|
|
Revision tags: ad-namecache-base
|
| 1.136 |
20-Dec-2019 |
ad |
branches: 1.136.2; Some more CPU topology stuff:
- Use cegger@'s ACPI SRAT parsing code to figure out NUMA node ID for each CPU as it is attached.
- For scheduler experiments with SMT, flag CPUs with the lowest numbered SMT IDs as "primaries", link back to the primaries from secondaries, and build a circular list of CPUs in each package with identical SMT IDs.
- No need for package/core/smt/numa IDs to be anything other than a u_int.
|
| 1.135 |
02-Dec-2019 |
ad |
Take the basic CPU topology information we already collect, and use it to make circular lists of CPU siblings in the same core, and in the same package. Nothing fancy, just enough to have a bit of fun in the scheduler trying out different tactics.
|
|
Revision tags: phil-wifi-20191119
|
| 1.134 |
20-Oct-2019 |
jmcneill |
cpu_hatched_p only for MULTIPROCESSOR
|
| 1.133 |
19-Oct-2019 |
jmcneill |
Increase aarch64 MAXCPUS to 256.
|
| 1.132 |
29-Sep-2019 |
skrll |
aprint_debug_dev output alignment
|
| 1.131 |
08-Sep-2019 |
tnn |
report A12 as A17 to the user. A12 is retcon'ed by ARM.
|
| 1.130 |
07-Sep-2019 |
tnn |
Cortex A12 is marketed as A17 but has a distinct part number
observed on Rockchip RK3288
|
|
Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
| 1.129 |
17-Mar-2019 |
skrll |
branches: 1.129.4; Wrap arm_cpu_marker if #ifdef MPDEBUG.
One day a9_mpsubr.S will die
|
| 1.128 |
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
|
Revision tags: pgoyette-compat-20190127
|
| 1.127 |
25-Jan-2019 |
skrll |
Make sure ci_{smt,core,package}_id are all filled in appropriately.
Previously the BP was missed and __SHIFTOUT wasn't used.
|
|
Revision tags: pgoyette-compat-20190118
|
| 1.126 |
03-Jan-2019 |
jmcneill |
Read mpidr and cpuid from the secondary processor itself instead of the boot processor. While here, add Cortex-A15 r4p0 to supported list.
|
| 1.125 |
03-Jan-2019 |
skrll |
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.
|
| 1.124 |
02-Jan-2019 |
skrll |
Don't overwrite the setting of cpu_core_id from mpidr
|
|
Revision tags: pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
|
| 1.123 |
18-Oct-2018 |
skrll |
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
|
| 1.122 |
08-Oct-2018 |
skrll |
Trialing whitespace
|
| 1.121 |
06-Oct-2018 |
skrll |
Use __BIT. NFC.
|
|
Revision tags: pgoyette-compat-0930 pgoyette-compat-0906
|
| 1.120 |
15-Aug-2018 |
skrll |
KNF
|
| 1.119 |
15-Aug-2018 |
skrll |
Fix includes (sys/cdefs.h then sys/param.h)
|
| 1.118 |
15-Aug-2018 |
skrll |
Sprinkle #include "opt_cputypes.h"
|
| 1.117 |
10-Aug-2018 |
maxv |
Retire CPU_ARM2, CPU_ARM250 and CPU_ARM3, they are all leftovers of acorn26.
ok jmcneill@ skrll@
|
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202
|
| 1.116 |
16-Sep-2017 |
matt |
branches: 1.116.2; 1.116.4; Add Cortex-A35 CPU ID.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base
|
| 1.115 |
01-Jun-2017 |
chs |
branches: 1.115.6; remove checks for failure after memory allocation calls that cannot fail:
kmem_alloc() with KM_SLEEP kmem_zalloc() with KM_SLEEP percpu_alloc() pserialize_create() psref_class_create()
all of these paths include an assertion that the allocation has not failed, so callers should not assert that again.
|
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.114 |
11-Jul-2016 |
kiyohara |
Add Cortex-A9 r1.
|
|
Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
| 1.113 |
03-Mar-2016 |
skrll |
Get the RPI3 working (in aarch32 mode) by recognising Cortex A53 CPUs. While I'm here add some A57/A72 info as well.
My RPI3 works with FB console - the uart needs some help with its clocks.
|
| 1.112 |
23-Jan-2016 |
christos |
Rename the cpu_id() define to cpu_idnum() so that it does not conflict with dtrace and friends.
|
|
Revision tags: nick-nhusb-base-20151226
|
| 1.111 |
12-Nov-2015 |
jmcneill |
change some register dumps from aprint_verbose to aprint_debug
|
|
Revision tags: nick-nhusb-base-20150921
|
| 1.110 |
08-Jul-2015 |
skrll |
aprint_verbose [sa]ctlr
|
|
Revision tags: nick-nhusb-base-20150606
|
| 1.109 |
05-Jun-2015 |
skrll |
Print the Revision ID regster (verbose)
|
| 1.108 |
17-May-2015 |
matt |
Print out mpidr on MP systems (verbose print)
|
|
Revision tags: nick-nhusb-base-20150406
|
| 1.107 |
03-Mar-2015 |
jmcneill |
cache type 12 is "write-back", from matt
|
|
Revision tags: nick-nhusb-base
|
| 1.106 |
27-Nov-2014 |
matt |
branches: 1.106.2; Add entry for Cortex-A17 r1
|
| 1.105 |
01-Sep-2014 |
reinoud |
Increase the `freqbuf' buffer that holds the result of humanize_number(). Now it prints 1600 Mhz instead of 1 Ghz. Pitty enough humanize_number(9) doesn't do 1.6 Ghz type output.
|
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.104 |
28-Mar-2014 |
matt |
branches: 1.104.4; Various MP changes.
|
| 1.103 |
24-Mar-2014 |
christos |
use cpu_{g,s}etmodel
|
| 1.102 |
20-Mar-2014 |
matt |
Define cache type 13
|
|
Revision tags: riastradh-drm2-base3
|
| 1.101 |
03-Mar-2014 |
matt |
Add most of the cpu_* variables to <arm/locore.h> Add and initialize cpu_synchprim_present
|
| 1.100 |
20-Feb-2014 |
matt |
Keep track of what each cache is (VIVT/VIPT/PIPT).
cpu0: 32KB/32B 2-way L1 VIPT Instruction cache cpu0: 32KB/64B 4-way write-back-locking-C L1 PIPT Data cache cpu0: 256KB/64B 8-way write-through L2 PIPT Unified cache
|
| 1.99 |
07-Sep-2013 |
matt |
Add a machdep.hwdiv_present sysctl (cortex A7 and A15 have hwdiv instructions)
|
| 1.98 |
07-Sep-2013 |
matt |
Add CPU_ID_CORTEXA7R0 entry
|
| 1.97 |
18-Aug-2013 |
matt |
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 tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
| 1.96 |
12-Jun-2013 |
matt |
branches: 1.96.2; Nuke cpu_pfr, just use the armreg_pfr?_read inlines
|
| 1.95 |
12-Jun-2013 |
matt |
Use the armreg_pfr?_read inlines.
|
| 1.94 |
19-May-2013 |
rkujawa |
Plug support for PJ4B into our ARM CPU infrastructure.
Obtained from Marvell, Semihalf.
|
|
Revision tags: agc-symver-base
|
| 1.93 |
03-Feb-2013 |
matt |
Add a machdep.cpu_arch sysctl
|
| 1.92 |
31-Jan-2013 |
matt |
Add simple sysctls for cpu_id, fpu_id, neon_present, simd_present, simdex_present. Add struct sysctls to return the isar, mmfr, pfr, and mvfr sets.
|
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
| 1.91 |
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
| 1.90 |
30-Nov-2012 |
msaitoh |
Use snprintf() instead of sprintf().
|
| 1.89 |
30-Nov-2012 |
msaitoh |
s/,/;/
|
| 1.88 |
12-Nov-2012 |
skrll |
C99 types
|
|
Revision tags: yamt-pagecache-base6
|
| 1.87 |
22-Sep-2012 |
matt |
Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead but add a second argument to it to indicate whether the TLB/caches need to be flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field to see if the fixed can be skipped. Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1) or enabeld (bit = 0).
With these changes, the A9 MMU can use traverse caches to do MMU tablewalks Also, make sure all memory has the shareable bit for the A9.
|
| 1.86 |
07-Sep-2012 |
matt |
branches: 1.86.2; 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
|
| 1.85 |
29-Aug-2012 |
matt |
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.
|
| 1.84 |
14-Aug-2012 |
matt |
Use device_t
|
| 1.83 |
12-Aug-2012 |
matt |
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.]
|
| 1.82 |
14-Jul-2012 |
matt |
Refresh cortex cpus
|
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5
|
| 1.81 |
20-May-2012 |
skrll |
Remove the ARM1156T2 bloat - it only has an MPU. Prompted by matt@
|
| 1.80 |
20-May-2012 |
skrll |
Add the ARM1156T2-S
|
| 1.79 |
20-May-2012 |
skrll |
Add the 'Z' to the 1176 cpu product name.
ok matt@
|
|
Revision tags: jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
| 1.78 |
10-Mar-2011 |
bsh |
branches: 1.78.4; 1.78.8; 1.78.10; add MPCore to CPU-ID table add branch predict bit to arm11_options
|
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
| 1.77 |
02-Oct-2010 |
kiyohara |
branches: 1.77.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
| 1.76 |
19-Jun-2010 |
matt |
Fix cache probing on Cortex. Add missing CORTEX dependency in cpu.c
|
| 1.75 |
19-Jun-2010 |
matt |
Fix c&p error.
|
| 1.74 |
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
| 1.73 |
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
| 1.72 |
23-Jan-2010 |
mrg |
branches: 1.72.2; 1.72.4; rename a local cpu_name structure member to avoid potential conflict with <sys/cpu.h>'s.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base haad-dm-base mjf-devfs2-base
|
| 1.71 |
25-Oct-2008 |
matt |
branches: 1.71.4; 1.71.12; Fix some missing things for CPU_ID_FA526.
|
|
Revision tags: matt-mips64-base2
|
| 1.70 |
24-Oct-2008 |
matt |
Add entry for FA526.
|
| 1.69 |
21-Oct-2008 |
matt |
Add Cortex cpus
|
|
Revision tags: haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
| 1.68 |
27-Apr-2008 |
matt |
branches: 1.68.6; Merge kernel changes in matt-armv6 to HEAD.
|
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
| 1.67 |
15-Mar-2008 |
rearnsha |
branches: 1.67.2; 1.67.4; VFP support.
|
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 bouyer-xeni386-merge1 chris-arm-intr-rework-base3 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
| 1.66 |
17-Oct-2007 |
garbled |
branches: 1.66.12; 1.66.16; 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 tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
| 1.65 |
17-May-2007 |
yamt |
branches: 1.65.10; 1.65.12; 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 tags: yamt-idlelwp-base8 thorpej-atomic-base ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
| 1.64 |
06-Jan-2007 |
christos |
branches: 1.64.2; 1.64.6; 1.64.8; 1.64.14; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
| 1.63 |
06-Jan-2007 |
christos |
From Scott Alan in http://mail-index.netbsd.org/port-arm/2006/07/26/0000.html identify_arm_cpu() prints out a helpful message when it detects that you're trying to run on a CPU that you didn't configure for. Unfortunately, the check for class_option being NULL is backward, so it either won't print the class_option, or it will try to dereference a NULL. The patch just flips the != NULL to be == NULL.
|
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base elad-kernelauth-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.62 |
15-Mar-2006 |
drochner |
branches: 1.62.10; 1.62.14; use km_alloc to get wired kernel memory for kernel stacks of idle processes for secondary CPUs (affects the MULTIPROCESSOR case only - does this exist?) (untested)
|
|
Revision tags: yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
|
| 1.61 |
11-Dec-2005 |
christos |
branches: 1.61.4; 1.61.6; 1.61.8; 1.61.10; merge ktrace-lwp.
|
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
| 1.60 |
20-Jul-2005 |
nonaka |
Added i80219.
|
| 1.59 |
04-Jul-2005 |
bsh |
branches: 1.59.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
| 1.58 |
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
| 1.57 |
10-May-2005 |
rearnsha |
Add support for arm1026ej-s.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE 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 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
| 1.56 |
14-Apr-2004 |
bsh |
distinguish PXA255/26x from PXA2[15]0 in CPU attach message
|
|
Revision tags: netbsd-2-0-3-RELEASE 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-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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-base
|
| 1.55 |
13-Feb-2004 |
wiz |
Uppercase CPU, plural is CPUs.
|
| 1.54 |
26-Oct-2003 |
chris |
Fix up some unitialised variables.
|
| 1.53 |
06-Sep-2003 |
rearnsha |
Support for ARM10E class devices.
|
| 1.52 |
03-Sep-2003 |
mycroft |
Recognize some TI processors -- not that you'd want to use them.
|
| 1.51 |
23-Jun-2003 |
martin |
branches: 1.51.2; Make sure to include opt_foo.h if a defflag option FOO is used.
|
| 1.50 |
23-May-2003 |
ichiro |
support IXP425 Intel Network Processor running on BigEndian
|
| 1.49 |
29-Apr-2003 |
thorpej |
Use aprint*().
|
| 1.48 |
14-Feb-2003 |
rjs |
Add CPU IDs for PXA B2 and C0 steppings.
|
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
| 1.47 |
06-Jan-2003 |
wiz |
specified, not specifed.
|
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base
|
| 1.46 |
17-Nov-2002 |
chs |
change uvm_uarea_alloc() to indicate whether the returned uarea is already backed by physical pages (ie. because it reused a previously-freed one), so that we can skip a bunch of useless work in that case. this fixes the underlying problem behind PR 18543, and also speeds up fork() quite a bit (eg. 7% on my pc, 1% on my ultra2) when we get a cache hit.
|
|
Revision tags: kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
| 1.45 |
13-Oct-2002 |
chris |
branches: 1.45.2; Fix arm kernel build breaks for non multiprocessor systems.
|
| 1.44 |
13-Oct-2002 |
bjh21 |
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).
|
| 1.43 |
12-Oct-2002 |
bjh21 |
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 tags: kqueue-base
|
| 1.42 |
01-Oct-2002 |
bjh21 |
constify various string tables.
|
| 1.41 |
06-Sep-2002 |
gehenna |
Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to dynamically generated by config(8).
- All device switches is defined as a constant structure in device drivers.
- The new grammer ``device-major'' is introduced to ``files''.
device-major <prefix> char <num> [block <num>] [<rules>]
- All device major numbers must be listed up in port dependent majors.<arch> by using this grammer.
- Added the new naming convention. The name of the device switch must be <prefix>_[bc]devsw for auto-generation of device switch tables.
- The backward compatibility of loading block/character device switch by LKM framework is broken. This is necessary to convert from block/character device major to device name in runtime and vice versa.
- The restriction to assign device major by LKM is completely removed. We don't need to reserve LKM entries for dynamic loading of device switch.
- In compile time, device major numbers list is packed into the kernel and the LKM framework will refer it to assign device major number dynamically.
|
|
Revision tags: gehenna-devsw-base
|
| 1.40 |
22-Jul-2002 |
briggs |
Handle i80200 step D0 and i80321 step B0
|
| 1.39 |
10-Jul-2002 |
ichiro |
add cpu id for "PXA250/210 3rd version CPUcore".
for using many PDA/xscale-core.
|
| 1.38 |
07-Jun-2002 |
thorpej |
Add the CPU ID for the 600MHz i80321 part.
|
|
Revision tags: netbsd-1-6-base
|
| 1.37 |
12-May-2002 |
ichiro |
branches: 1.37.2; 1.37.4; change ICP12x0 steppings. define CPU_IXP12X0
|
| 1.36 |
10-May-2002 |
thorpej |
Add IXP1200 steppings.
|
| 1.35 |
03-May-2002 |
thorpej |
Add support for the Intel PXA210 and PXA250. From Hiroyuki Bessho, PR 16617.
|
| 1.34 |
02-May-2002 |
rjs |
Enable CPU_CLASS_SA1 for SA1100 and SA1110.
|
| 1.33 |
12-Apr-2002 |
thorpej |
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>.
|
| 1.32 |
27-Mar-2002 |
thorpej |
The 80321 manual lies; it does have a CPU ID distinct from the 80200. Add that CPU ID, and add a case for it.
|
| 1.31 |
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
| 1.30 |
24-Mar-2002 |
thorpej |
Cache the cpu type and cpu revision in cpu_info.
|
|
Revision tags: eeh-devprop-base
|
| 1.29 |
16-Mar-2002 |
bjh21 |
Only put the CPU type into cpu_model, not the state of the control register. Instead, print the control register state on the next line at startup.
|
| 1.28 |
16-Mar-2002 |
bjh21 |
Add CPU ID for the ARM1022ES. Also add a CPU class for ARM10E processors in general.
|
| 1.27 |
11-Mar-2002 |
reinoud |
When ARMFPE wasn't enabled the `usearmfpe' flag was statically initialised but not used resulting in a compiler error. By splitting the declaration and the initialisation this is solved.
Better would be to not even declare the flag when ARMFPE isnt enabled but that would just add to the #ifdef jungle.
|
| 1.26 |
10-Mar-2002 |
bjh21 |
__RCSID -> __KERNEL_RCSID
|
| 1.25 |
10-Mar-2002 |
bjh21 |
Re-work the way that FPAs are handled. If ARMFPE isn't configured, don't even bother probing for an FPA. If ARMFPE is configured, always use it, even if there's an FPA (since it provides the FPA support code). Move all printfs about FPAs into armfpe_init.c.
This means I can delete the last two elements from struct _cpu, so that the structure, and the whole of <arm/cpus.h> is redundant and can be deleted.
|
| 1.24 |
10-Mar-2002 |
bjh21 |
Remove fpu_model from struct _cpu. Instead, have initialise_arm_fpe() printf() the FPE version number itself.
|
| 1.23 |
10-Mar-2002 |
bjh21 |
Add a ci_dev element to struct cpu_info, pointing to the device that corresponds to the CPU.
|
|
Revision tags: newlock-base
|
| 1.22 |
10-Mar-2002 |
bjh21 |
Kill the fpu_flags element from struct _cpu. It was only ever set to 0 anyway.
|
| 1.21 |
10-Mar-2002 |
bjh21 |
Clean up inline assembler. Rather than saving R0, copying FPSR to R0, copying it to the output register and then restoring R0, just copy the FPSR straight to the output.
|
| 1.20 |
09-Mar-2002 |
bjh21 |
Remove the cpu_model member from struct _cpu, and just use the cpu_model variable directly. While we're at it, make cpu_model rather larger.
|
| 1.19 |
09-Mar-2002 |
bjh21 |
Remove the cpu_class element from struct _cpu, and make it a local variable in identify_arm_cpu(), since it's almost unused elsewhere.
Change the detection of bugged StrongARMs to use the cpu ID rather than the class. This turns "almost" into "entirely".
|
| 1.18 |
09-Mar-2002 |
bjh21 |
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.
|
| 1.17 |
09-Mar-2002 |
bjh21 |
Move arm700bugcount into stuct cpu_info, and attach it in identify_master_cpu().
|
|
Revision tags: ifpoll-base
|
| 1.16 |
17-Feb-2002 |
bjh21 |
Our assembler handles FPA instructions fine, so don't use .word for them.
|
| 1.15 |
17-Feb-2002 |
bjh21 |
ANSIfy, and othe KNF cleanup.
|
| 1.14 |
27-Jan-2002 |
bjh21 |
Add revision->stepping maps for the SA-110, SA-1100 and SA-1110. Those for the SA-1100 and SA-1110 are from Intel's documentation. The mapping for the SA-110 is from various sources on the net, since Intel don't seem to document it.
Also, change the layout of the maps to have four steppings per line, so they aren't quite so unwieldy.
|
| 1.13 |
24-Jan-2002 |
thorpej |
Use a table to look up stepping names. Add a generic stepping table ("rev 0", "rev 1", etc.) and an i80200 stepping table that has the stepping names that appear in the i80200 manuals/errata..
|
| 1.12 |
29-Nov-2001 |
thorpej |
Fetch cache info from the Cache Type register on ARM7TDMI and "greater" processors. Report this when the processor is attached.
|
| 1.11 |
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
| 1.10 |
23-Nov-2001 |
thorpej |
Use <arm/undefined.h> instead of <machine/undefined.h>.
|
|
Revision tags: thorpej-mips-cache-base
|
| 1.9 |
06-Nov-2001 |
thorpej |
branches: 1.9.2; Const poisoning of cpu/class names.
|
| 1.8 |
06-Nov-2001 |
thorpej |
"i80200", not "80200".
|
| 1.7 |
06-Nov-2001 |
thorpej |
"XScale", not "Xscale".
|
| 1.6 |
18-Oct-2001 |
rearnsha |
branches: 1.6.2; Support for ARM9.
|
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2
|
| 1.5 |
28-Sep-2001 |
chris |
Add extra arg to fpa_test as it should have 4 args. Also add prototypes for fpa_test and fpa_handler.
|
|
Revision tags: post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
| 1.4 |
05-Sep-2001 |
matt |
branches: 1.4.2; Flesh XSCALE support.
|
| 1.3 |
03-Jun-2001 |
chris |
branches: 1.3.2; 1.3.4; Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
| 1.2 |
13-May-2001 |
bjh21 |
Use get_bootconf_option() to find boot options, rather than home-grown strstr()-based hacks.
|
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_base thorpej_scsipi_nbase
|
| 1.1 |
20-Apr-2001 |
matt |
branches: 1.1.2; Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
| 1.108 |
07-Oct-2025 |
skrll |
Retire the locore.h assembly versions of IRQ{enable,disable} in favour of the "experimental" cpuswitch.S versions, but rename them
IRQ_{DISABLE,ENABLE}
and have them take a temporary register which is only used for < armv6.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base thorpej-ifq-base thorpej-altq-separation-base
|
| 1.107 |
01-Mar-2023 |
riastradh |
arm32: Optimization: Omit needless membar when triggering softint.
When we are triggering a softint, it can't already hold any mutexes. So any path to mutex_exit(mtx) must go via mutex_enter(mtx), which is always done with atomic r/m/w, and we need not issue any explicit barrier between ci->ci_curlwp = softlwp and a potential load of mtx->mtx_owner in mutex_exit.
PR kern/57240
XXX pullup-8 XXX pullup-9 XXX pullup-10
|
| 1.106 |
23-Feb-2023 |
riastradh |
arm32: Add missing barriers in cpu_switchto.
Details in comments.
PR kern/57240
XXX pullup-8 XXX pullup-9 XXX pullup-10
|
|
Revision tags: netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 thorpej-i2c-spi-conf-base
|
| 1.105 |
30-May-2021 |
dholland |
branches: 1.105.12; typo in comment
|
|
Revision tags: cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base
|
| 1.104 |
21-Nov-2020 |
skrll |
branches: 1.104.4; 1.104.6; Ensure that r5 contains curlwp before DO_AST_AND_RESTORE_ALIGNMENT_FAULTS in lwp_trampoline as required by the move to make ASTs operate per-LWP rather than per-CPU.
Thanks to martin@ for bisecting the amap corruption he was seeing and testing this fix.
|
| 1.103 |
15-Aug-2020 |
skrll |
branches: 1.103.2; #ifdef _ARM_ARCH_7 the dmbs
|
| 1.102 |
14-Aug-2020 |
skrll |
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().
|
| 1.101 |
10-Jul-2020 |
skrll |
Add support for KASAN on ARMv[67]
Thanks to maxv for many pointers and reviews.
|
| 1.100 |
06-Jul-2020 |
skrll |
Whitespace
|
| 1.99 |
03-Jul-2020 |
skrll |
KNF (sort #includes)
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
| 1.98 |
11-Feb-2020 |
skrll |
G/C
|
|
Revision tags: ad-namecache-base2 ad-namecache-base1
|
| 1.97 |
08-Jan-2020 |
skrll |
oldlwp is always non-NULL in cpu_switchto so remove the test for NULL.
|
| 1.96 |
08-Jan-2020 |
ad |
Hopefully fix some problems seen with MP support on non-x86, in particular where curcpu() is defined as curlwp->l_cpu:
- mi_switch(): undo the ~2007ish optimisation to unlock curlwp before calling cpu_switchto(). It's not safe to let other actors mess with the LWP (in particular l->l_cpu) while it's still context switching. This removes l->l_ctxswtch.
- Move the LP_RUNNING flag into l->l_flag and rename to LW_RUNNING since it's now covered by the LWP's lock.
- Ditch lwp_exit_switchaway() and just call mi_switch() instead. Everything is in cache anyway so it wasn't buying much by trying to avoid saving old state. This means cpu_switchto() will never be called with prevlwp == NULL.
- Remove some KERNEL_LOCK handling which hasn't been needed for years.
|
|
Revision tags: ad-namecache-base phil-wifi-20191119
|
| 1.95 |
29-Oct-2019 |
joerg |
branches: 1.95.2; Explicitly annotate FPU requirements for LLVM MC.
When using GCC, this annotations change the global state, but there is no push/pop functionality for .fpu to avoid this problem. The state is local to each inline assembler block with LLVM MC.
|
| 1.94 |
13-Sep-2019 |
skrll |
Typo in comment
|
|
Revision 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 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
|
| 1.93 |
22-Nov-2018 |
skrll |
branches: 1.93.4; Typo in comment
|
|
Revision tags: pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
| 1.92 |
01-Jul-2017 |
skrll |
branches: 1.92.4; 1.92.6; Whitespace (align comments)
|
| 1.91 |
01-Jul-2017 |
skrll |
Trailing whitespace
|
|
Revision 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 matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base 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
|
| 1.90 |
08-Apr-2015 |
matt |
branches: 1.90.10; Make TPIDRPRW_IS_CURLWP work for MULTIPROCESSOR. get curcpu() from new lwp. don't set lwp l_cpu (already done). Remove support for __HAVE_UNNESTED_INTRS don't set curlwp until after we are done saving the oldlwp. disable interrupts when setting curlwp/kernel stack pointer. Overall, these changes simplify cpu_switchto even more.
|
|
Revision tags: nick-nhusb-base-20150406
|
| 1.89 |
24-Mar-2015 |
skrll |
There is no need to save/restore l_private in softint_switch now that cpu_switchto is fixed
|
| 1.88 |
24-Mar-2015 |
matt |
Rework register usage in cpu_switchto so curcpu() is preserved across ras_lookup. Only set vfp & tpid registers and do ras lookups if new lwp is not LW_SYSTEM. (tested on RPI and atf tests on BPI by skrll).
|
| 1.87 |
22-Mar-2015 |
matt |
Fix register usage in softint_switch. load / restore l_private across softint_dispatch
|
| 1.86 |
22-Mar-2015 |
matt |
Make sure to save the user thread point in softint_switch in case it was set just before we got an interrupt. Otherwise if the softint blocks, the old value would be restored and change lost.
|
|
Revision tags: nick-nhusb-base
|
| 1.85 |
18-Oct-2014 |
snj |
branches: 1.85.2; src is too big these days to tolerate superfluous apostrophes. It's "its", people!
|
|
Revision tags: netbsd-7-base tls-earlyentropy-base tls-maxphys-base
|
| 1.84 |
15-Jun-2014 |
ozaki-r |
branches: 1.84.2; Fix wrong instruction; mcr => mrc
|
|
Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base
|
| 1.83 |
28-Mar-2014 |
matt |
branches: 1.83.2; ARM_MMU_EXTENDED support.
|
|
Revision tags: riastradh-drm2-base3
|
| 1.82 |
26-Feb-2014 |
matt |
Move pmap_recent_user to ci->ci_pmap_lastuser and pmap_previous_active_lwp to ci->ci_lastlwp. Fix some comments.
|
| 1.81 |
26-Dec-2013 |
joerg |
Replicate mcr with equivalent vms instruction.
|
| 1.80 |
01-Dec-2013 |
joerg |
For load/store double, name the second register explicitly.
|
| 1.79 |
18-Aug-2013 |
matt |
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>
|
| 1.78 |
18-Aug-2013 |
matt |
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 tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
|
| 1.77 |
27-Feb-2013 |
matt |
branches: 1.77.6; Don't include <machine/param.h> since we should be getting that stuff from "assym.h"
|
|
Revision tags: yamt-pagecache-base8
|
| 1.76 |
17-Dec-2012 |
matt |
Make sure to load the FPEXC context on context switch (if there a VFP) so that the VFP state will be what the LWP expects. (This isn't needed on PPC or MIPS since their FPU/VEC state is reflected in the PSL/CPO_STATUS which is handled automatically.)
|
|
Revision tags: yamt-pagecache-base7
|
| 1.75 |
10-Dec-2012 |
matt |
Rename pcb_sp/PCB_SP to pcb_ksp/PCB_KSP so that ipsec.c will compile.
|
| 1.74 |
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
| 1.73 |
08-Nov-2012 |
skrll |
Use ENTRY_NP for lwp_trampoline
|
|
Revision tags: yamt-pagecache-base6
|
| 1.72 |
05-Sep-2012 |
matt |
branches: 1.72.2; After calling lwp_startup, set fp to 0 to terminate call stack.
|
| 1.71 |
01-Sep-2012 |
matt |
Need to do a GET_CURCPU(r4) before invoking DO_AST_AND_RESTORE_ALIGNMENT_FAULTS
|
| 1.70 |
01-Sep-2012 |
matt |
blx reg is V5, not V4T
|
| 1.69 |
31-Aug-2012 |
skrll |
DO_AST_AND_RESTORE_ALIGNMENT_FAULTS needs AST_ALIGNMENT_FAULT_LOCALS
|
| 1.68 |
29-Aug-2012 |
matt |
Fix typo.
|
| 1.67 |
29-Aug-2012 |
matt |
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)]
|
| 1.66 |
16-Aug-2012 |
matt |
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.
|
| 1.65 |
14-Aug-2012 |
matt |
Kill curpcb/ci_curpcb. Use device_t in cpu_info. Add ci_softc (where ci_curpcb was so cpu_info doesn't change).
|
| 1.64 |
12-Aug-2012 |
matt |
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 tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
| 1.63 |
07-Apr-2011 |
matt |
branches: 1.63.4; 1.63.12; Fetch user read-only thread and process id from l->l_private, not the pcb. (need to g/c the pcb field formerly used for this).
|
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base
|
| 1.62 |
01-Feb-2011 |
matt |
include "assym.h" instead of pte.h
|
|
Revision tags: jruoho-x86intr-base
|
| 1.61 |
14-Jan-2011 |
rmind |
branches: 1.61.2; 1.61.4; Retire struct user, remove sys/user.h inclusions. Note sys/user.h header as obsolete. Remove USER_TO_UAREA/UAREA_TO_USER macros.
Various #include fixes and review by matt@.
|
|
Revision tags: matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211
|
| 1.60 |
10-Dec-2009 |
rmind |
branches: 1.60.4; Rename L_ADDR to L_PCB and amend some comments accordingly.
|
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base 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 haad-dm-base2 haad-nbase2 ad-audiomp2-base nick-hppapmap-base haad-dm-base mjf-devfs2-base
|
| 1.59 |
19-Nov-2008 |
matt |
Use IF32_bits instead of I32_bit. Only disable/irq is __HAVE_UNNESTED_IRQS is undefined.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
| 1.58 |
27-Apr-2008 |
matt |
branches: 1.58.6; 1.58.8; 1.58.14; Merge kernel changes in matt-armv6 to HEAD.
|
|
Revision tags: yamt-nfs-mp-base
|
| 1.57 |
20-Apr-2008 |
scw |
branches: 1.57.2; There's really no need to switch VM contexts within cpu_switchto() as MI code always calls pmap_deactivate/pmap_activate on context switch.
Instead, just record the last active lwp (or NULL if it exited) and defer switching VM context to pmap_activate(). This saves an additional function call overhead in cpu_switchto().
While here, g/c unused cpuswitch.S local .Lblock_userspace_access.
|
|
Revision tags: yamt-pf42-baseX yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
| 1.56 |
15-Mar-2008 |
rearnsha |
branches: 1.56.2; VFP support.
|
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base mjf-devfs-base hpcarm-cleanup-base
|
| 1.55 |
19-Jan-2008 |
chris |
branches: 1.55.2; 1.55.6; Optimize cpu_switchto to store the new PCB address in r7, rather than loading it from memory in 3 places.
Also adjust ordering of a few loads to try and avoid stalling.
|
| 1.54 |
19-Jan-2008 |
chris |
With the removal of IPKDB on arm, the undefined stack is only used to bounce into SVC32 mode, there is no per-process data stored on it.
We can therefore use the undefined stack setup by the platform machdep.c as a system wide undefined stack.
This removes the need for a per-process undefined stack, and the processor mode switching overhead it causes in cpu_switchto.
The space freed in the USPACE is used to increase the per process kernel stack size.
|
| 1.53 |
13-Jan-2008 |
chris |
Take a micro-optimization from FreeBSD/arm.
When switching from SVC32->UND32 to read/write R13_und we don't need to clear the mode bits as: PSR_SVC32_MODE | PSR_UND32_MODE = PSR_UND32_MODE
While reading the code I also noted that interrupts are enabled for most of the function as pmap_switch returns with interrupts in the state they are on entry. This appears to be different to what the code after pmap_switch expects, in that the behaviour suggests they should be disabled.
Because of this I've made the writing of R13_und explicitly disable. interupts as part of the mode switch.
This also means that the IRQenableALL call is now redundant as the interrupts are already enabled.
XXX: it's not clear if arm_fpe_core_changecontext should be called with interrupts disabled.
Remove unused items: IRQdisableALL, IRQenableALL & Lcpufuncs.
Tested on cats. lmbench shows no performance change.
|
| 1.52 |
12-Jan-2008 |
skrll |
Add and fix a couple of comments.
|
| 1.51 |
12-Jan-2008 |
skrll |
Push a switchframe in dumpsys and cpu_switchto, but as dumpsys calls other funcs a switchframe needs to be a multiple of 8 bytes. Stash sp as well in the switchframe to bump it to 24bytes.
Setup the switchframe appropriately in cpu_lwp_fork.
Remove savectx - nothing uses it.
All of this make gdb's life much easier when dealing with crash dumps and live kernels.
Reviewd by chris.
|
|
Revision tags: bouyer-xeni386-merge1 chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base reinoud-bufcleanup-base
|
| 1.50 |
17-Oct-2007 |
garbled |
branches: 1.50.2; 1.50.8; 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 tags: yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base ppcoea-renovation-base vmlocking-base
|
| 1.49 |
15-Sep-2007 |
scw |
ARM cpu_switchto() has been partially broken since yamt-idlelwp was merged as its cache/tlb management smarts relied too heavily on pre-merge context- switch behaviour. See PR kern/36548 for one manifestation of the breakage.
To address this: - Ditch the shadow pmap variables in the PCB (pagedir, l1vec, dacr, cstate) as it was too easy for them to get out of sync with the pmap. - Re-write (and fix) the convoluted cpuswitch.S cache/tlb ASM code in C. It's only slightly less efficient, but is much more readable/maintainable. - Document cpufuncs.cf_context_switch() as being C-callable. - pmap_activate() becomes a no-op if the lwp's vmspace is already active. (Good performance win, since pmap_activate() is now invoked on every context-switch, even though ARM's cpu_switchto() already does all the grunt work)
XXX: Some CPU-specific armXX_context_switch() implementations (arm67, arm7tdmi, arm8) always flush the I+D caches. This should not be necessary. Someone with access to hardware (acorn32?) needs to deal with this.
|
|
Revision tags: nick-csl-alignment-base5 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base mjf-ufs-trans-base
|
| 1.48 |
25-May-2007 |
skrll |
branches: 1.48.6; 1.48.8; 1.48.10; 1.48.12; No need to check if oldl == newl in cpu_switchto. All the callers ensure this is never the case.
Fixup a few comments while I'm here.
|
| 1.47 |
17-May-2007 |
yamt |
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 tags: yamt-idlelwp-base8 thorpej-atomic-base ad-audiomp-base
|
| 1.46 |
19-Feb-2007 |
briggs |
branches: 1.46.4; 1.46.6; 1.46.12; Get DOMAIN_CLIENT directly from arm/arm32/pte.h instead of from genassym to avoid redefinition when both assymh and pte.h are included (as in INTEGRATOR's intmmu.S, which uses more macros from pte.h).
|
|
Revision tags: post-newlock2-merge
|
| 1.45 |
09-Feb-2007 |
ad |
branches: 1.45.2; Merge newlock2 to head.
|
|
Revision tags: newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.44 |
13-May-2006 |
skrll |
branches: 1.44.8; 1.44.12; Fix some more comments.
|
|
Revision tags: elad-kernelauth-base
|
| 1.43 |
10-May-2006 |
skrll |
Fix some comments.
|
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
|
| 1.42 |
11-Dec-2005 |
christos |
branches: 1.42.4; 1.42.6; 1.42.8; 1.42.10; 1.42.12; merge ktrace-lwp.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 netbsd-2-0-3-RELEASE yamt-vop-base2 thorpej-vnode-attr-base netbsd-2-1-RELEASE yamt-vop-base netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-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-base ktrace-lwp-base
|
| 1.41 |
15-Nov-2003 |
scw |
branches: 1.41.16; - Add LOCKDEBUG-protected calls to sched_lock_idle() to cpu_switchto and the idle loop. They seem to have gone AWOL sometime in the past. Fixes port-arm/23390. - While here, tidy up the idle loop. - Add a cheap DIAGNOSTIC check for run queue sanity.
|
| 1.40 |
04-Nov-2003 |
scw |
Fix a braino introduced in r1.37. Thanks to Tom Spindler for spotting it.
|
| 1.39 |
04-Nov-2003 |
dsl |
Remove p_nras from struct proc - use LIST_EMPTY(&p->p_raslist) instead. Remove p_raslock and rename p_lwplock p_lock (one lock is enough). Simplify window test when adding a ras and correct test on VM_MAXUSER_ADDRESS. Avoid unpredictable branch in i386 locore.S (pad fields left in struct proc to avoid kernel bump)
|
| 1.38 |
23-Oct-2003 |
scw |
Don't drop to spl0 in cpu_switch/cpu_switchto. Do it in the idle loop instead.
With this change, we no longer need to save the current interrupt level in the switchframe. This is no great loss since both cpu_switch and cpu_switchto are always called at splsched, so the process' spl is effectively saved somewhere in the callstack.
This fixes an evbarm problem reported by Allen Briggs:
lwp gets into sa_switch -> mi_switch with newl != NULL when it's the last element on the runqueue, so it hits the second bit of: if (newl == NULL) { retval = cpu_switch(l, NULL); } else { remrunqueue(newl); cpu_switchto(l, newl); retval = 0; }
mi_switch calls remrunqueue() and cpu_switchto()
cpu_switchto unlocks the sched lock cpu_switchto drops CPU priority softclock is received schedcpu is called from softclock schedcpu hits the first if () {} block here: if (l->l_priority >= PUSER) { if (l->l_stat == LSRUN && (l->l_flag & L_INMEM) && (l->l_priority / PPQ) != (l->l_usrpri / PPQ)) { remrunqueue(l); l->l_priority = l->l_usrpri; setrunqueue(l); } else l->l_priority = l->l_usrpri; }
Since mi_switch has already run remrunqueue, the LWP has been removed, but it's not been put back on any queue, so the remrunqueue panics.
|
| 1.37 |
13-Oct-2003 |
scw |
A couple of Xscale tweaks:
- Use the "clz" instruction to pick a run-queue, instead of using the ffs-by-table-lookup method. - Use strd instead of stmia where possible. - Use multiple ldr instructions instead of ldmia where possible.
|
| 1.36 |
23-Jun-2003 |
martin |
branches: 1.36.2; Make sure to include opt_foo.h if a defflag option FOO is used.
|
| 1.35 |
23-Jun-2003 |
chris |
Fix for port-arm/21962. Rather than fixing the #ifndef spl0, I removed the test as spl0 is actually a macro for splx(0). The code now calls splx(0)
(note building with the #ifdef fixed, caused the build to fail on a GENERIC acorn32 kernel.)
|
| 1.34 |
31-May-2003 |
kristerw |
Fix LINTSTUB comments.
|
| 1.33 |
21-May-2003 |
thorpej |
Remove #ifdefs supporting the old pmap, switching fully to the new.
|
| 1.32 |
26-Apr-2003 |
chris |
Remove a strh. I don't think it's available on archv3 and it doesn't work on acorn32's with an SA110 in them as the bus doesn't support halfword transfers.
|
| 1.31 |
22-Apr-2003 |
thorpej |
Some ARM32_PMAP_NEW-related cleanup: * Define a new "MMU type", ARM_MMU_SA1. While the SA-1's MMU is basically compatible with the generic, the SA-1 cache does not have a write-through mode, and it is useful to know have an indication of this. * Add a new PMAP_NEEDS_PTE_SYNC indicator, and try to evaluate it at compile time. We evaluate it like so: - If SA-1-style MMU is the only type configured -> 1 - If SA-1-style MMU is not configured -> 0 - Otherwise, defer to a run-time variable. If PMAP_NEEDS_PTE_SYNC might evaluate to true (SA-1 only or run-time check), then we also define PMAP_INCLUDE_PTE_SYNC so that e.g. assembly code can include the necessary run-time support. PMAP_INCLUDE_PTE_SYNC largely replaces the ARM32_PMAP_NEEDS_PTE_SYNC manual setting Steve included with the original new pmap. * In the new pmap, make pmap_pte_init_generic() check to see if the CPU has a write-back cache. If so, init the PT cache mode to C=1,B=0 to get write-through mode. Otherwise, init the PT cache mode to C=1,B=1. * Add a new pmap_pte_init_arm8(). Old pmap, same as generic. New pmap, sets page table cacheability to 0 (ARM8 has a write-back cache, but flushing it is quite expensive). * In the new pmap, make pmap_pte_init_arm9() reset the PT cache mode to C=1,B=0, since the write-back check in generic gets it wrong for ARM9, since we use write-through mode all the time on ARM9 right now. (What this really tells me is that the test for write-through cache is less than perfect, but we can fix that later.) * Add a new pmap_pte_init_sa1(). Old pmap, same as generic. New pmap, does generic initialization, then resets page table cache mode to C=1,B=1, since C=1,B=0 does not produce write-through on the SA-1.
|
| 1.30 |
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
| 1.29 |
17-Jan-2003 |
thorpej |
Merge the nathanw_sa branch.
|
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
| 1.28 |
19-Oct-2002 |
bjh21 |
branches: 1.28.2; Undo recent cpu_switch register usage changes in order to decrease nathanw_sa merge pain.
|
| 1.27 |
18-Oct-2002 |
bjh21 |
The grand cpu_switch register reshuffle!
In particular, use r8 to hold the old process, and r7 for medium-term scratch, saving r0-r3 for things we don't need saved over function calls. This gets rid of five register-to-register MOVs.
|
| 1.26 |
18-Oct-2002 |
bjh21 |
In cpu_switch(), stack more registers at the start of the function, and hence save fewer into the PCB. This should give me enough free registers in cpu_switch to tidy things up and support MULTIPROCESSOR properly. While we're here, make the stacked registers into an APCS stack frame, so that DDB backtraces through cpu_switch() will work.
This also affects cpu_fork(), which has to fabricate a switchframe and PCB for the new process.
|
| 1.25 |
15-Oct-2002 |
bjh21 |
Switch to using the MI C versions of setrunqueue() and remrunqueue(). GCC produces almost exactly the same instructions as the hand-assembled versions, albeit in a different order. It even found one place where it could shave one off. Its insistence on creating a stack frame might slow things down marginally, but not, I think, enough to matter.
|
| 1.24 |
14-Oct-2002 |
bjh21 |
Continue the " - . - 8" purge. Specifically:
add rd, pc, #foo - . - 8 -> adr rd, foo ldr rd, [pc, #foo - . - 8] -> ldr rd, foo
Also, when saving the return address for a function pointer call, use "mov lr, pc" just before the call unless the return address is somewhere other than just after the call site.
Finally, a few obvious little micro-optimisations like using LDR directly rather than ADR followed by LDR, and loading directly into PC rather than bouncing via R0.
|
| 1.23 |
13-Oct-2002 |
bjh21 |
Instead of "add rd, pc, #foo - . - 8", use either "adr rd, foo" or (where appropriate) "mov lr, pc". This makes things slightly less confusing and ugly.
|
| 1.22 |
12-Oct-2002 |
bjh21 |
Move curpcb into struct cpu_info in MULTIPROCESSOR kernels.
|
| 1.21 |
09-Oct-2002 |
bjh21 |
Use ADR rather than an explicit ADD from PC.
|
| 1.20 |
08-Oct-2002 |
bjh21 |
Remove an outdated register assignment comment.
|
| 1.19 |
05-Oct-2002 |
bjh21 |
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 tags: gehenna-devsw-base kqueue-base
|
| 1.18 |
31-Aug-2002 |
thorpej |
Add machine-dependent bits of RAS for arm32.
|
| 1.17 |
17-Aug-2002 |
thorpej |
More local label fixups.
|
| 1.16 |
17-Aug-2002 |
thorpej |
Must ... micro ... optimize!
* Save an instruction in the transition from idle to have-process-to- switch-to, and eliminate two instructions that cause datadep-stalls on StrongARM And XScale (one in each idle block). * Rearrange some other instructions to avoid datadep-stalls on StrongARM and XScale. * Since cpu_do_powersave == 0 is by far the common case, avoid a pipeline flush by reordering the two idle blocks.
|
| 1.15 |
16-Aug-2002 |
thorpej |
* 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).
|
| 1.14 |
15-Aug-2002 |
briggs |
* Use local label names (.Lfoo vs. (Lfoo or foo)) * When moving from cpsr, use "cpsr" instead of "cpsr_all" (which is provided, but doesn't make sense since mrs doesn't support fields like msr does).
|
| 1.13 |
14-Aug-2002 |
thorpej |
We only need to modify the CPSR's control field, so use cpsr_c rather than cpsr_all.
|
| 1.12 |
14-Aug-2002 |
chris |
Tweak asm to avoid a couple of stalls.
|
| 1.11 |
12-Aug-2002 |
thorpej |
Rearrange the beginning of cpu_switch() slightly to reduce data-dep stalls on StrongARM and XScale.
|
| 1.10 |
12-Aug-2002 |
thorpej |
Make a slight tweak to register usage to save an instruction.
|
| 1.9 |
06-Aug-2002 |
thorpej |
Rearrange the exit path so that we don't do a idcache_wbinv_all *twice* when a process exits.
|
| 1.8 |
06-Aug-2002 |
thorpej |
* Pass proc0 to switch_exit(), to make this a little more like the nathanw_sa branch. * In switch_exit(), set the outgoing-proc register to NULL (rather than proc0) so that we actually use the "exiting process" optimization in cpu_switch().
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
| 1.7 |
14-May-2002 |
chris |
branches: 1.7.2; Implement scheduler lock protocol, this fixes PR arm/10863.
Also add correct locking when freeing pages in pmap_destroy (fix from potr)
This now means that arm32 kernels can be built with LOCKDEBUG enabled. (only tested on cats though)
|
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
| 1.6 |
25-Jan-2002 |
thorpej |
Overhaul of the ARM cache code. This is mostly a simplification pass. Rather than providing a whole slew of cache operations that aren't ever used, distill them down to some useful primitives:
icache_sync_all Synchronize I-cache icache_sync_range Synchronize I-cache range
dcache_wbinv_all Write-back and Invalidate D-cache dcache_wbinv_range Write-back and Invalidate D-cache range dcache_inv_range Invalidate D-cache range dcache_wb_range Write-back D-cache range
idcache_wbinv_all Write-back and Invalidate D-cache, Invalidate I-cache idcache_wbinv_range Write-back and Invalidate D-cache, Invalidate I-cache range
Note: This does not yet include an overhaul of the actual asm files that implement the primitives. Instead, we've provided a safe default for each CPU type, and the individual CPU types can now be optimized one at a time.
|
| 1.5 |
29-Nov-2001 |
thorpej |
Provide a way for platforms to move away from the old RiscPC-centric interrupt code. Garbage-collect some unused stuff.
|
| 1.4 |
19-Nov-2001 |
chris |
Give the idle loop a non-profiled entry, means it appears in profile info correctly (rather than all it's time being under remrunqueue) switch_exit only needs to take 1 parameter, it loads the value of proc0 into R1 itself Fixup some comments to reflect the real state of things. Tweak a couple of bits of asm to avoid a load delay. remove excess code for setting curpcb and curproc.
|
|
Revision tags: thorpej-mips-cache-base
|
| 1.3 |
11-Nov-2001 |
chris |
branches: 1.3.2; Correct comments for ffs algoritm (it isn't using register r0)
|
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2
|
| 1.2 |
16-Sep-2001 |
matt |
branches: 1.2.2; Fix .type which uses wrong symbol name.
|
|
Revision tags: post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
| 1.1 |
28-Jul-2001 |
chris |
branches: 1.1.2; 1.1.4; Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
| 1.66 |
20-Sep-2025 |
mrg |
make sure ddb_regp doesn't point to some stack variable when kdb_trap() returns
found by GCC 14.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base thorpej-ifq-base thorpej-altq-separation-base
|
| 1.65 |
02-Aug-2023 |
skrll |
KNF
|
|
Revision tags: netbsd-10-1-RELEASE 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 netbsd-10-base
|
| 1.64 |
26-Oct-2022 |
riastradh |
ddb/db_active.h: New home for extern db_active.
This can be included unconditionally, and db_active can then be queried unconditionally; if DDB is not in the kernel, then db_active is a constant zero. Reduces need for #include opt_ddb.h, #ifdef DDB.
|
|
Revision tags: bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.63 |
03-Dec-2020 |
skrll |
Provide and use a sev() macro for the sev instruction.
While here use the correct barrier to ensure completion of memory accesses before a couple of the sev() calls.
|
| 1.62 |
01-Dec-2020 |
rin |
Fix confusions related to encoding of instructions.
For __ARMEB__ in BE8 mode, instructions are encoded in little-endian. Therefore, we need to swap bytes against these in native byte order.
In other cases, i.e., __ARMEL__ and __ARMEB__ in BE32 mode, instructions are in native byte order, and we don't need to swap them.
|
| 1.61 |
20-Jun-2020 |
skrll |
branches: 1.61.2; KNF
|
| 1.60 |
20-Jun-2020 |
skrll |
KNF #includes
Remove some unnecessary ones while I'm here.
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
|
| 1.59 |
21-Jul-2019 |
rin |
Fix hand-crafted trap instruction in cpu_Debugger() for big endian.
|
|
Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
| 1.58 |
28-May-2018 |
chs |
branches: 1.58.2; merge a new version of the CDDL dtrace and ZFS code. this changes the upstream vendor from OpenSolaris to FreeBSD, and this version is based on FreeBSD svn r315983.
in addition to the 10 years of improvements from upstream, this version also has these NetBSD-specific enhancements: - dtrace FBT probes can now be placed in kernel modules. - ZFS now supports mmap().
|
|
Revision tags: pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
| 1.57 |
17-Jan-2018 |
skrll |
branches: 1.57.2; G/C ARM32_NEW_VM_LAYOUT
|
|
Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
| 1.56 |
30-Jun-2017 |
skrll |
KNF. Same code before and after.
|
| 1.55 |
30-Jun-2017 |
skrll |
typo in comment
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
|
| 1.54 |
29-Oct-2014 |
skrll |
branches: 1.54.2; Sprinkle #include "opt_multiprocessor.h"
|
| 1.53 |
25-Oct-2014 |
skrll |
Remove katelib.h and references to it.
{Read,Write}{Word,Byte} macros are provided in the files that still use them. Someone(tm) should convert them to bus_space(9)
|
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.52 |
30-Mar-2014 |
skrll |
branches: 1.52.4; Provide a DDB_REGS in the same way to others. Makes crash buildable.
|
| 1.51 |
28-Mar-2014 |
matt |
Make ddb_registers per-cpu. All switching of CPUs (xxx doesn't work yet).
|
|
Revision tags: riastradh-drm2-base3
|
| 1.50 |
15-Dec-2013 |
skrll |
Trailing whitespace.
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2
|
| 1.49 |
16-Feb-2012 |
christos |
branches: 1.49.2; 1.49.4; move stuff between the two files, so db_interface contains the functions it needs for userland programs to link.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-pre-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 rmind-uvmplock-base jym-xensuspend-base
|
| 1.48 |
16-Jun-2010 |
jmcneill |
branches: 1.48.8; 1.48.12; 1.48.16; PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base
|
| 1.47 |
14-Mar-2009 |
dsl |
branches: 1.47.2; 1.47.4; Change about 4500 of the K&R function definitions to ANSI ones. There are still about 1600 left, but they have ',' or /* ... */ in the actual variable definitions - which my awk script doesn't handle. There are also many that need () -> (void). (The script does handle misordered arguments.)
|
| 1.46 |
14-Mar-2009 |
dsl |
Remove all the __P() from sys (excluding sys/dist) Diff checked with grep and MK1 eyeball. i386 and amd64 GENERIC and sys still build.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 mjf-devfs2-base
|
| 1.45 |
26-Mar-2008 |
chris |
branches: 1.45.4; 1.45.12; 1.45.18; 1.45.22; Add help text to arm machine specific ddb commands.
Part of fix for port-arm/38311.
|
|
Revision tags: yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 bouyer-xeni386-merge1 chris-arm-intr-rework-base3 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
| 1.44 |
17-Oct-2007 |
garbled |
branches: 1.44.16; 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 tags: yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base ppcoea-renovation-base vmlocking-base
|
| 1.43 |
22-Sep-2007 |
martin |
Add a new option DDB_VERBOSE_HELP that adds online help to ddb. From Adam Hamsik. Minor modifications by me, all bugs are probably mine.
|
|
Revision tags: nick-csl-alignment-base5 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base ad-audiomp-base
|
| 1.42 |
22-Feb-2007 |
thorpej |
branches: 1.42.4; 1.42.12; 1.42.18; 1.42.20; 1.42.22; 1.42.24; TRUE -> true, FALSE -> false
|
|
Revision tags: post-newlock2-merge newlock2-nbase newlock2-base
|
| 1.41 |
06-Jan-2007 |
christos |
branches: 1.41.2; Fix branch handling in ddb. From Bucky Katz.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 elad-kernelauth-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.40 |
05-Apr-2006 |
uwe |
branches: 1.40.8; Define ddb_regs in db_interface.c. Change its definion in db_machdep.h into a declaration.
|
|
Revision tags: yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
|
| 1.39 |
24-Dec-2005 |
perry |
branches: 1.39.4; 1.39.6; 1.39.8; 1.39.10; 1.39.12; bare asm -> __asm
|
| 1.38 |
11-Dec-2005 |
christos |
merge ktrace-lwp.
|
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
| 1.37 |
02-Jun-2005 |
uwe |
branches: 1.37.2; Catch up with constification.
|
| 1.36 |
02-Jun-2005 |
he |
Adapt to shadowing and qualifier-cast warnings.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE 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 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
| 1.35 |
07-Aug-2004 |
rearnsha |
Don't overload the unknown instruction handling for the core onto CP0. Instead, add a seventeenth 'co-processor' specifically for the core. Add support for ARMv5 unknown instructions in the 'NV' space.
|
|
Revision tags: netbsd-2-0-3-RELEASE 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-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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-base
|
| 1.34 |
26-Oct-2003 |
chris |
Fix up some unitialised variables.
|
| 1.33 |
25-Aug-2003 |
mrg |
make it "static long nil;" as it's used as &nil in an array wanting long *'s. makes GCC3 happy.
|
| 1.32 |
15-Jul-2003 |
lukem |
__KERNEL_RCSID()
|
| 1.31 |
09-Jul-2003 |
thorpej |
Make faulting in DDB continue back in the top-level command loop properly.
|
| 1.30 |
06-Jun-2003 |
scw |
branches: 1.30.2; Modify db_{read,write}_bytes() to do a single 16- or 32-bit read/write if 'size' is 2 or 4 respectively. This makes reading/writing hardware registers work as expected in all cases.
|
| 1.29 |
21-May-2003 |
thorpej |
Remove #ifdefs supporting the old pmap, switching fully to the new.
|
| 1.28 |
21-May-2003 |
bsh |
fix warning when KGDB is defined and DDB is not defined.
|
| 1.27 |
03-May-2003 |
thorpej |
In db_write_bytes(), use kernel_text rather than KERNEL_TEXT_BASE.
|
| 1.26 |
03-May-2003 |
thorpej |
Remove the non-ELF case in db_machine_init().
|
| 1.25 |
29-Apr-2003 |
scw |
KERNEL_TEXT_BASE is not defined for ARM32_NEW_VM_LAYOUT.
|
| 1.24 |
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
| 1.23 |
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base gehenna-devsw-base kqueue-base
|
| 1.22 |
22-Aug-2002 |
thorpej |
* Add PTE_SYNC() and PTE_SYNC_RANGE() macros. These don't actually do anything yet. * Use PTE_SYNC() and PTE_SYNC_RANGE() in some obvious places, i.e. where vtopte() is used.
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
| 1.21 |
13-May-2002 |
matt |
branches: 1.21.2; Nuke local extern label_t *db_recover; it's now in <ddb/db_extern.h>
|
| 1.20 |
10-Apr-2002 |
thorpej |
vm_offset_t -> vaddr_t,paddr_t
|
| 1.19 |
09-Apr-2002 |
thorpej |
Use abstract names for the protection and PTE type bits in L1 and L2 descriptors. This will allow us to support different PTE layouts that enable the use of extensions on different processor models.
|
| 1.18 |
05-Apr-2002 |
thorpej |
* Rewrite the 32-bit ARM pte.h based on the ARM architecture manual. Significant cleanup, here, including better PTE bit names. * Add XScale PTE extensions (ECC enable, write-allocate cache mode). * Mechanical changes everywhere else to update for new pte.h. While doing this, two bugs (as a result of typos) were fixed in
arm/arm32/bus_dma.c evbarm/integrator/int_bus_dma.c
|
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
| 1.17 |
25-Jan-2002 |
thorpej |
Overhaul of the ARM cache code. This is mostly a simplification pass. Rather than providing a whole slew of cache operations that aren't ever used, distill them down to some useful primitives:
icache_sync_all Synchronize I-cache icache_sync_range Synchronize I-cache range
dcache_wbinv_all Write-back and Invalidate D-cache dcache_wbinv_range Write-back and Invalidate D-cache range dcache_inv_range Invalidate D-cache range dcache_wb_range Write-back D-cache range
idcache_wbinv_all Write-back and Invalidate D-cache, Invalidate I-cache idcache_wbinv_range Write-back and Invalidate D-cache, Invalidate I-cache range
Note: This does not yet include an overhaul of the actual asm files that implement the primitives. Instead, we've provided a safe default for each CPU type, and the individual CPU types can now be optimized one at a time.
|
| 1.16 |
17-Jan-2002 |
thorpej |
Add cpwait's after TLB operations.
|
| 1.15 |
17-Jan-2002 |
thorpej |
Cleanup a little, and teach db_write_text() about section mappings.
|
| 1.14 |
17-Jan-2002 |
thorpej |
* db_validate_address(): Use pmap_extract(). * db_read_bytes()/db_write_bytes(): Do comparisons against the (unsigned) size_t correctly.
|
| 1.13 |
05-Jan-2002 |
chris |
Make some of the arm32 files build with LOOSE_PROTOTYPES not set in the makefile. Turned up a few mismatched functions. Note that this isn't all of the arm32 files. Aim will be to get arm32 kernels built with LOOSE_PROTOTYPES not set.
|
| 1.12 |
28-Nov-2001 |
thorpej |
Don't grovel interrupt-related info here; if a platform wants to do that, let it do that in a way it can control.
|
| 1.11 |
23-Nov-2001 |
thorpej |
Use <arm/undefined.h> instead of <machine/undefined.h>.
|
| 1.10 |
23-Nov-2001 |
thorpej |
No need to pull in <machine/pte.h> directly.
|
| 1.9 |
22-Nov-2001 |
thorpej |
Kill <machine/katelib.h>. Any place that still uses it should just reference <arm/arm32/katelib.h> until such time as all use of this file has been purged from the face of the earth.
|
|
Revision tags: thorpej-mips-cache-base
|
| 1.8 |
09-Nov-2001 |
thorpej |
branches: 1.8.2; Add some rudimentary support for ELF symbols in DDB on the ARM ports. On platforms which load the kernel sans symbols directly from firmware (possibly in e.g. S-Record format), call ddb_init() with empty arguments, so that it will search any compiled in SYMTAB_SPACE. On all other platforms, if __ELF__, also call ddb_init() with empty arguments until ELF bootloaders which pass symbol information are ready.
|
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
| 1.7 |
28-Jul-2001 |
chris |
branches: 1.7.4; A couple of tidy ups to pmap: pmap_t -> struct pmap * in pmap.c and pmap.h kernel_pmap -> pmap_kernel() everywhere.
Compiled and booted on riscpc and cats.
|
| 1.6 |
24-Jun-2001 |
chs |
branches: 1.6.2; remove "machine vmstat" command, since "show uvmexp" does the same thing.
|
| 1.5 |
02-May-2001 |
bjh21 |
In an ELF kernel, don't try to find an a.out symbol table.
|
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_base thorpej_scsipi_nbase
|
| 1.4 |
13-Mar-2001 |
bjh21 |
Change the value of tf_pc in undefined-instruction handlers on arm32. It now always points to the undefined instruction in question. It's up to the handler to advance it to the next instruction if it wants execution to continue there. This is how things have always worked on arm26.
|
| 1.3 |
11-Mar-2001 |
bjh21 |
branches: 1.3.2; Change undefined instruction handler to use a linked list for each co-processor. This is necessary so we can have several handlers for CP0 (used as a catch-all for non-CP instructions).
Handlers are now removed using remove_coproc_handler(), rather than by calling install_coproc_handler() with a NULL handler.
Because install_coproc_handler() can now allocate memory, there's a version for use at boot time that doesn't.
|
| 1.2 |
04-Mar-2001 |
matt |
branches: 1.2.2; Remove OFW hooks. Allow ports to add there own hooks via ARM_EXTRA_DB_COMMANDS.
|
| 1.1 |
04-Mar-2001 |
matt |
Move these from arm32/arm32
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.39 |
23-Feb-2021 |
mrg |
introduce DDB_END_CMD and replace more than 20 copies of the same list of NULLs and 0. idea from rillig@.
all touched ports built, several booted.
|
| 1.38 |
03-Dec-2020 |
rin |
tlb_print_*() are used only if _ARM_ARCH_7; caught by clang -Wunused-function.
|
| 1.37 |
30-Oct-2020 |
skrll |
branches: 1.37.2; Retire arm_[di]sb in favour of the isb() and dsb(sy) macro invocations.
|
| 1.36 |
29-Sep-2020 |
jmcneill |
Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime detection instead of ifdefs where required.
|
| 1.35 |
14-Aug-2020 |
skrll |
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().
|
| 1.34 |
03-Jul-2020 |
jmcneill |
Move db_reset_cmd prototype to db_machdep.h (forgot to commit this file)
|
| 1.33 |
03-Jul-2020 |
skrll |
Provide a db_reset_cmd prototype
|
| 1.32 |
02-Jul-2020 |
jmcneill |
Add ddb "mach reset" command for Arm ports.
|
| 1.31 |
20-Jun-2020 |
skrll |
KNF #includes
Remove some unnecessary ones while I'm here.
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1
|
| 1.30 |
14-Apr-2020 |
skrll |
Provide a "mach cpuinfo" which displays some struct cpuinfo fields for a/all CPUs.
|
| 1.29 |
14-Apr-2020 |
skrll |
Remove unused ARM32_DB_COMMANDS
|
| 1.28 |
14-Apr-2020 |
skrll |
Sort db_commands.
|
|
Revision tags: phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
|
| 1.27 |
25-Mar-2020 |
skrll |
branches: 1.27.2; Simplify #ifdefs
|
| 1.26 |
25-Mar-2020 |
skrll |
Trailing whitespace
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE is-mlppp-base ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
|
| 1.25 |
15-Aug-2018 |
skrll |
Sprinkle #include "opt_cputypes.h"
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426
|
| 1.24 |
25-Apr-2017 |
skrll |
branches: 1.24.10; 1.24.12; Dump more of the trapframe
|
|
Revision tags: bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
| 1.23 |
25-Feb-2015 |
joerg |
branches: 1.23.2; Improve inline asm around dsb/dmb/isb: - always use volatile and mark them as memory barrier - use the common version from locore.h in all places not included from userland
|
|
Revision tags: nick-nhusb-base
|
| 1.22 |
12-Oct-2014 |
skrll |
branches: 1.22.2; Typo. s/NC/NS/
|
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.21 |
30-Mar-2014 |
skrll |
branches: 1.21.4; Provide a DDB_REGS in the same way to others. Makes crash buildable.
|
| 1.20 |
29-Mar-2014 |
skrll |
Sprinkle #ifdef _KERNEL{,_OPT}
|
| 1.19 |
28-Mar-2014 |
matt |
Make ddb_registers per-cpu. All switching of CPUs (xxx doesn't work yet).
|
|
Revision tags: riastradh-drm2-base3
|
| 1.18 |
01-Mar-2014 |
matt |
Add support for printing the tlb on cortex a5 and a7.
|
| 1.17 |
15-Dec-2013 |
skrll |
Trailing whitespace
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8
|
| 1.16 |
05-Jan-2013 |
christos |
branches: 1.16.2; remove show panic cmd
|
|
Revision tags: yamt-pagecache-base7 yamt-pagecache-base6
|
| 1.15 |
21-Sep-2012 |
matt |
Add a 'mach fault' command to print DFAR/DFSR/IFAR/IFSR/TTBR
|
| 1.14 |
31-Aug-2012 |
skrll |
branches: 1.14.2; Don't advertise the abt/und/irq stack pointers as accessible to crash(8) when they're not
|
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2
|
| 1.13 |
16-Feb-2012 |
christos |
move stuff between the two files, so db_interface contains the functions it needs for userland programs to link.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-pre-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 jym-xensuspend-base nick-hppapmap-base
|
| 1.12 |
14-Mar-2009 |
dsl |
branches: 1.12.12; 1.12.16; 1.12.20; Change about 4500 of the K&R function definitions to ANSI ones. There are still about 1600 left, but they have ',' or /* ... */ in the actual variable definitions - which my awk script doesn't handle. There are also many that need () -> (void). (The script does handle misordered arguments.)
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 nick-csl-alignment-base5 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 bouyer-xeni386-merge1 matt-armv6-prevmlocking chris-arm-intr-rework-base3 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-armv6-base chris-arm-intr-rework-base2 chris-arm-intr-rework-base jmcneill-pm-base hpcarm-cleanup-base nick-csl-alignment-base matt-mips64-base yamt-idlelwp-base8 ppcoea-renovation-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base ad-audiomp-base
|
| 1.11 |
22-Feb-2007 |
matt |
branches: 1.11.48; 1.11.56; 1.11.62; 1.11.66; Fix lossage from boolean_t -> bool and updated x86 bus_dma.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.10 |
11-Dec-2005 |
christos |
branches: 1.10.26; merge ktrace-lwp.
|
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
| 1.9 |
02-Jun-2005 |
uwe |
branches: 1.9.2; Catch up with constification.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE 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-2-0-3-RELEASE 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 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-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-base
|
| 1.8 |
15-Jul-2003 |
lukem |
__KERNEL_RCSID()
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base kqueue-base
|
| 1.7 |
05-Jan-2002 |
chris |
branches: 1.7.18; Make some of the arm32 files build with LOOSE_PROTOTYPES not set in the makefile. Turned up a few mismatched functions. Note that this isn't all of the arm32 files. Aim will be to get arm32 kernels built with LOOSE_PROTOTYPES not set.
|
| 1.6 |
28-Nov-2001 |
thorpej |
Don't grovel interrupt-related info here; if a platform wants to do that, let it do that in a way it can control.
|
|
Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
| 1.5 |
05-Sep-2001 |
matt |
branches: 1.5.6; Don't compile SPL/INTR stuff if NEWINTR is defined.
|
| 1.4 |
05-Sep-2001 |
matt |
Change <machine/irqhandler.h> to <machine/intr.h> since the latter always includes the former and is a standard include file.
|
| 1.3 |
24-Jun-2001 |
chs |
branches: 1.3.2; remove "machine vmstat" command, since "show uvmexp" does the same thing.
|
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_base thorpej_scsipi_nbase
|
| 1.2 |
04-Mar-2001 |
matt |
branches: 1.2.4; Remove OFW hooks. Allow ports to add there own hooks via ARM_EXTRA_DB_COMMANDS.
|
| 1.1 |
04-Mar-2001 |
matt |
Move these from arm32/arm32
|
|
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE yamt-pagecache-base9 yamt-pagecache-tag8 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE rmind-smpnet-nbase rmind-smpnet-base agc-symver-base tls-maxphys-base yamt-pagecache-base8 yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase jym-xensuspend-nbase bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-nb5-pq3-base netbsd-5-1-RELEASE yamt-nfs-mp-base11 netbsd-5-1-RC4 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE yamt-nfs-mp-base8 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base haad-dm-base1 haad-dm-base simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base jmcneill-pm-base hpcarm-cleanup-base mjf-ufs-trans-base yamt-idlelwp-base8 ppcoea-renovation-base reinoud-bufcleanup-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 yamt-splraiseipl-base newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 elad-kernelauth-nbase yamt-pdpolicy-base4 yamt-pdpolicy-base3 yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 yamt-km-base2 yamt-km-base kent-audio2-base ktrace-lwp-base nathanw_sa_before_merge gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base bjh21-hydra-base gehenna-devsw-base
|
| 1.4 |
11-Aug-2002 |
bjh21 |
Remove a file which was accidentally resurrected.
|
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base kqueue-base
|
| 1.3 |
09-Sep-2001 |
toshii |
branches: 1.3.4; 1.3.12; Don't define pcb_* register macros. pcb_sp macro conflicts with sys/netinet6/ipsec.c.
|
|
Revision tags: thorpej-devvp-base
|
| 1.2 |
05-Jun-2001 |
bjh21 |
branches: 1.2.2; Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_base thorpej_scsipi_nbase
|
| 1.1 |
04-Mar-2001 |
matt |
branches: 1.1.4; Move these from arm32/arm32
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.26 |
21-Nov-2020 |
skrll |
Sprinkle some comments about ENABLE_ALIGNMENT_FAULTS leaving curcpu in r4 and curlwp in r5
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
|
| 1.25 |
11-Aug-2019 |
skrll |
branches: 1.25.8; Trailing whitespace
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
| 1.24 |
07-Jul-2017 |
chs |
branches: 1.24.6; split PUSHFRAMEINSVC into two pieces so that we can insert some additional instructions in the middle in undefinedinstruction_bounce, namely to add some additional space on the stack before the trapframe for undefineds from SVC mode. this extra space allows dtrace to emulate a "push" instruction. the initial version was from me and some improvements were from nick.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
| 1.23 |
21-Jun-2015 |
matt |
Remove duplicate ASEND(undefined_entry)
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.22 |
13-Mar-2014 |
matt |
branches: 1.22.6; Add clrex when we get an abort. Simplify undefined_entry to use the undefined stack to do transfer to the undefined handler.
|
| 1.21 |
05-Mar-2014 |
matt |
push/pop unsaved registers before using printf.
|
| 1.20 |
02-Dec-2013 |
joerg |
Don't use cpsr_all/spsr_all with mrs, it doesn't take a mask.
|
| 1.19 |
18-Aug-2013 |
matt |
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 tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
| 1.18 |
12-Sep-2012 |
matt |
branches: 1.18.2; Make sure the handler addresses are 32-bit aligned.
|
| 1.17 |
29-Aug-2012 |
matt |
branches: 1.17.2; 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 tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base uebayasi-xip-base6 uebayasi-xip-base5 netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 netbsd-5-1-RC4 matt-nb5-mips64-k15 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
| 1.16 |
27-Apr-2008 |
matt |
branches: 1.16.18; 1.16.34; 1.16.42; Merge kernel changes in matt-armv6 to HEAD.
|
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
| 1.15 |
19-Jan-2008 |
chris |
branches: 1.15.6; 1.15.8; 1.15.10; Remove arm support for IPKDB.
It hasn't worked since arm was broken out from arm32 in Jan 2001, and no-one has noticed or cared to fix it.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase nick-csl-alignment-base5 bouyer-xeni386-merge1 wrstuden-fixsa-base-1 chris-arm-intr-rework-base3 vmlocking2-base3 netbsd-4-0-RELEASE yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 netbsd-4-0-RC5 matt-nb4-arm-base jmcneill-base netbsd-4-0-RC4 bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base netbsd-4-0-RC3 yamt-x86pmap-base3 yamt-x86pmap-base2 netbsd-4-0-RC2 yamt-x86pmap-base netbsd-4-0-RC1 matt-armv6-base chris-arm-intr-rework-base2 chris-arm-intr-rework-base jmcneill-pm-base nick-csl-alignment-base matt-mips64-base yamt-idlelwp-base8 wrstuden-fixsa-base ppcoea-renovation-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.14 |
11-Dec-2005 |
christos |
branches: 1.14.46; 1.14.50; 1.14.52; 1.14.58; 1.14.66; merge ktrace-lwp.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 netbsd-2-0-3-RELEASE yamt-vop-base2 thorpej-vnode-attr-base netbsd-2-1-RELEASE yamt-vop-base netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-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-base ktrace-lwp-base
|
| 1.13 |
31-Oct-2003 |
scw |
branches: 1.13.16; Overhaul arm32's abort handlers:
- Assume a permission fault is always the result of an attempted write, so no need to disassemble the opcode. (as discussed with Richard Earnshaw/Jason Thorpe a week or two ago)
- Split out non-MMU data aborts into separate functions, and deal correctly with XScale imprecise aborts. Specifically, the old code made no attempt to handle the double abort faults which can occur as a result of two consecutive external (imprecise) aborts. This was easy to provoke by read(2)ing from a /dev/mem offset which caused an external abort. With the old code, this would bring the system down instantly, with little clue as to why. (hint: tf_spsr held PSR_ABT32_MODE...)
- Re-write badaddr_read() to use pcb_onfault instead of adding extra overhead to data_abort_handler(). A side effect of this is that it now benefits from the XScale double abort recovery.
- Invoke the cpu-specific prefetch/data abort fixup routines only if the host cpu actually needs it. On other cpus, the code is optimised away.
- Sprinkle __predict_{false,true} in all the right places.
- G/C some excess debugging baggage.
|
| 1.12 |
30-Oct-2003 |
scw |
Move the alignment fault enable/disable code into macroes to avoid needless duplication.
Additionally, merge AST handling into the same code.
exception.S and the generic irq_dispatch.S routines have been updated to use the macroes.
XXX: I have patches for the non-generic IRQ dispatch routines, but they need testing by someone with hardware.
|
| 1.11 |
26-Oct-2003 |
scw |
Assume that if curpcb is NULL, we're already running with alignment faults enabled.
|
| 1.10 |
25-Oct-2003 |
scw |
Skip the alignment fault enabling code if we came from SVC mode. It's already enabled in this case.
|
| 1.9 |
25-Oct-2003 |
scw |
Enable alignment faults on arm32 for both kernel and userland.
If COMPAT_15 and EXEC_AOUT are defined, support per-process alignment checking where AFLTs are always enabled when running kernel code and userland ELF binaries, and dynamically disabled/ enabled when switching to/from a.out binaries. This is necessary in order to execute older a.out binaries, where gcc made deliberate use of misaligned loads under certain circumstances.
|
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
| 1.8 |
06-Jan-2003 |
wiz |
branches: 1.8.2; interrupt with two rs.
|
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
| 1.7 |
13-Oct-2002 |
bjh21 |
Instead of "add rd, pc, #foo - . - 8", use either "adr rd, foo" or (where appropriate) "mov lr, pc". This makes things slightly less confusing and ugly.
|
|
Revision tags: gehenna-devsw-base kqueue-base
|
| 1.6 |
15-Aug-2002 |
briggs |
* Use local label names (.Lfoo vs. (Lfoo or foo)) * When moving from cpsr, use "cpsr" instead of "cpsr_all" (which is provided, but doesn't make sense since mrs doesn't support fields like msr does).
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base
|
| 1.5 |
17-Jan-2002 |
bjh21 |
branches: 1.5.8; Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
| 1.4 |
14-Jan-2002 |
bjh21 |
Simplify SWI entry: syscall() now extracts the SWI comment field itself.
|
| 1.3 |
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
| 1.2 |
28-Nov-2001 |
thorpej |
- Garbage-collect some unused cruft. - When processing ASTs, restore interrupts *after* clearing astpending.
|
|
Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
| 1.1 |
28-Jul-2001 |
chris |
branches: 1.1.2; 1.1.8; Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.119 |
02-Feb-2024 |
andvar |
fix various typos in comments.
|
|
Revision tags: thorpej-ifq-base thorpej-altq-separation-base
|
| 1.118 |
06-Oct-2023 |
martin |
Fix previous and restore setting of "user" flag from trapframe.
|
| 1.117 |
05-Oct-2023 |
ad |
Arrange to update cached LWP credentials in userret() rather than during syscall/trap entry, eliminating a test+branch on every syscall/trap.
This wasn't possible in the 3.99.x timeframe when l->l_cred came about because there wasn't a reliable/timely way to force an ONPROC LWP running on a remote CPU into the kernel (which is just about the only new thing in this scheme).
|
|
Revision tags: netbsd-10-1-RELEASE 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 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.116 |
01-Feb-2021 |
skrll |
G/C some old code that was for acorn26
|
| 1.115 |
29-Jan-2021 |
skrll |
the last_fault_code DEBUG variable is not MP safe, so don't compile it in.
|
| 1.114 |
29-Jan-2021 |
skrll |
Typo in comment
|
| 1.113 |
20-Jun-2020 |
skrll |
branches: 1.113.2; KNF
|
| 1.112 |
20-Jun-2020 |
skrll |
KNF #includes
Remove some unnecessary ones while I'm here.
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
|
| 1.111 |
29-Mar-2020 |
skrll |
Support PMAP_FAULTINFO on arm
|
|
Revision tags: is-mlppp-base ad-namecache-base3
|
| 1.110 |
24-Feb-2020 |
rin |
0x%#x --> %#x for non-external codes. Also, stop mixing up 0x%x and %#x in single files as far as possible.
|
|
Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
| 1.109 |
29-Nov-2019 |
ryo |
branches: 1.109.2; if Thumb-32 bit instruction located on a page boundariy, also need to consider the pc + 2 address.
Fix PR/54720. more detail and PoC are descrived in the PR.
|
|
Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
| 1.108 |
06-Apr-2019 |
thorpej |
branches: 1.108.4; Overhaul the API used to fetch and store individual memory cells in userspace. The old fetch(9) and store(9) APIs (fubyte(), fuword(), subyte(), suword(), etc.) are retired and replaced with new ufetch(9) and ustore(9) APIs that can return proper error codes, etc. and are implemented consistently across all platforms. The interrupt-safe variants are no longer supported (and several of the existing attempts at fuswintr(), etc. were buggy and not actually interrupt-safe).
Also augmement the ucas(9) API, making it consistently available on all plaforms, supporting uniprocessor and multiprocessor systems, even those that do not have CAS or LL/SC primitives.
Welcome to NetBSD 8.99.37.
|
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
|
| 1.107 |
10-Aug-2018 |
maxv |
Retire CPU_ARM2, CPU_ARM250 and CPU_ARM3, they are all leftovers of acorn26.
ok jmcneill@ skrll@
|
|
Revision tags: pgoyette-compat-0728
|
| 1.106 |
15-Jul-2018 |
maxv |
Retire ipkdb entirely. The option was removed from the config files yesterday.
ok kamil christos
|
|
Revision tags: phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202
|
| 1.105 |
28-Oct-2017 |
pgoyette |
branches: 1.105.2; 1.105.4; Update the kernhist(9) kernel history code to address issues identified in PR kern/52639, as well as some general cleaning-up...
(As proposed on tech-kern@ with additional changes and enhancements.)
Details of changes:
* All history arguments are now stored as uintmax_t values[1], both in the kernel and in the structures used for exporting the history data to userland via sysctl(9). This avoids problems on some architectures where passing a 64-bit (or larger) value to printf(3) can cause it to process the value as multiple arguments. (This can be particularly problematic when printf()'s format string is not a literal, since in that case the compiler cannot know how large each argument should be.)
* Update the data structures used for exporting kernel history data to include a version number as well as the length of history arguments.
* All [2] existing users of kernhist(9) have had their format strings updated. Each format specifier now includes an explicit length modifier 'j' to refer to numeric values of the size of uintmax_t.
* All [2] existing users of kernhist(9) have had their format strings updated to replace uses of "%p" with "%#jx", and the pointer arguments are now cast to (uintptr_t) before being subsequently cast to (uintmax_t). This is needed to avoid compiler warnings about casting "pointer to integer of a different size."
* All [2] existing users of kernhist(9) have had instances of "%s" or "%c" format strings replaced with numeric formats; several instances of mis-match between format string and argument list have been fixed.
* vmstat(1) has been modified to handle the new size of arguments in the history data as exported by sysctl(9).
* vmstat(1) now provides a warning message if the history requested with the -u option does not exist (previously, this condition was silently ignored, with only a single blank line being printed).
* vmstat(1) now checks the version and argument length included in the data exported via sysctl(9) and exits if they do not match the values with which vmstat was built.
* The kernhist(9) man-page has been updated to note the additional requirements imposed on the format strings, along with several other minor changes and enhancements.
[1] It would have been possible to use an explicit length (for example, uint64_t) for the history arguments. But that would require another "rototill" of all the users in the future when we add support for an architecture that supports a larger size. Also, the printf(3) format specifiers for explicitly-sized values, such as "%"PRIu64, are much more verbose (and less aesthetically appealing, IMHO) than simply using "%ju".
[2] I've tried very hard to find "all [the] existing users of kernhist(9)" but it is possible that I've missed some of them. I would be glad to update any stragglers that anyone identifies.
|
|
Revision tags: nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
| 1.104 |
02-Jul-2017 |
skrll |
Consistency around the user trapframe for all LWPs and there's no need to keep assigning it in kernel entry points.
|
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
| 1.103 |
02-Mar-2015 |
martin |
branches: 1.103.10; Handle EINVAL in the fault path and send SIGBUS for mmap acces past EOF.
|
|
Revision tags: nick-nhusb-base
|
| 1.102 |
25-Oct-2014 |
skrll |
branches: 1.102.2; Remove katelib.h and references to it.
{Read,Write}{Word,Byte} macros are provided in the files that still use them. Someone(tm) should convert them to bus_space(9)
|
| 1.101 |
13-Aug-2014 |
matt |
Add __NO_FIQ to prevent testing of the PSR FIQ bit Use VALID_R15_PSR(pc, spsr) instead of testing explicitly
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.100 |
12-Apr-2014 |
skrll |
Trailing whitespace
|
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
| 1.99 |
01-Apr-2014 |
matt |
branches: 1.99.2; In prefetch_abort, call uvm_fault with VM_PROT_EXEC
|
|
Revision tags: riastradh-drm2-base3
|
| 1.98 |
05-Mar-2014 |
matt |
Now that maphist is statically initialized, remove initialize tests
|
| 1.97 |
05-Mar-2014 |
matt |
Only do UVMHIST_LOG is maphist have its entry buffer initialized
|
| 1.96 |
26-Feb-2014 |
skrll |
Re-enable FSR_WRITE for armv6.
|
| 1.95 |
25-Feb-2014 |
matt |
Only use FSR_WRITE on armv7 for now.
|
| 1.94 |
25-Feb-2014 |
matt |
ARMv6+ supplied a write bit in the FSR so use instead of reading the instruction.
|
| 1.93 |
29-Jan-2014 |
matt |
Add read_insn and read_thumb_insn inlines to hide the endianness of instructions and use them as appropriate.
|
| 1.92 |
11-Jan-2014 |
matt |
Add hw.printfataltraps sysctl. Always print fatal traps for init. For all other processes, only do so if cpu_printfataltraps is true.
|
| 1.91 |
06-Nov-2013 |
christos |
sprinkle diagused
|
| 1.90 |
18-Aug-2013 |
matt |
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 tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
| 1.89 |
02-Jul-2013 |
matt |
Use __func__ in UVMHIST_FUNC
|
|
Revision tags: agc-symver-base
|
| 1.88 |
18-Feb-2013 |
matt |
branches: 1.88.2; Supply VM_PROT_EXECUTE to pmap_fault_fixup when trying to fixup prefetch aborts.
|
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
| 1.87 |
10-Dec-2012 |
matt |
Rename pcb_sp/PCB_SP to pcb_ksp/PCB_KSP so that ipsec.c will compile.
|
| 1.86 |
12-Nov-2012 |
skrll |
C99 types
|
|
Revision tags: yamt-pagecache-base6
|
| 1.85 |
07-Sep-2012 |
matt |
branches: 1.85.2; 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
|
| 1.84 |
29-Aug-2012 |
matt |
Use curcpu() instead of l->l_cpu
|
| 1.83 |
16-Aug-2012 |
matt |
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.
|
| 1.82 |
14-Aug-2012 |
matt |
Kill curpcb/ci_curpcb. Use device_t in cpu_info. Add ci_softc (where ci_curpcb was so cpu_info doesn't change).
|
| 1.81 |
30-Jul-2012 |
matt |
Recognize STREX* as store instructions
|
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3
|
| 1.80 |
19-Feb-2012 |
rmind |
Remove COMPAT_SA / KERN_SA. Welcome to 6.99.3! Approved by core@.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base2 netbsd-6-base
|
| 1.79 |
09-Feb-2012 |
christos |
branches: 1.79.4; Cosmetic: - add %s: __func__, function names change [most of them were wrong] - add a DIAGNOSTIC printf to help debug alignment fixups
|
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 rmind-uvmplock-base jym-xensuspend-base
|
| 1.78 |
20-Dec-2010 |
matt |
branches: 1.78.8; 1.78.12; Move counting of faults, traps, intrs, soft[intr]s, syscalls, and nswtch from uvmexp to per-cpu cpu_data and move them to 64bits. Remove unneeded includes of <uvm/uvm_extern.h> and/or <uvm/uvm.h>.
|
|
Revision tags: uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
| 1.77 |
07-Jul-2010 |
chs |
implement ucas_* for arm.
|
|
Revision tags: uebayasi-xip-base1
|
| 1.76 |
21-Mar-2010 |
chs |
assert that pcb_onfault is NULL in places where it should be.
|
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base
|
| 1.75 |
03-Feb-2010 |
wiz |
branches: 1.75.2; 1.75.4; Add missing parentheses. Found by cppcheck, reported by Henning Petersen in PR 42728.
|
| 1.74 |
05-Jan-2010 |
mbalmer |
One semicolon is enough.
|
|
Revision tags: matt-premerge-20091211
|
| 1.73 |
21-Nov-2009 |
rmind |
Use lwp_getpcb() on ARM (and acorn26/32), clean from struct user usage.
|
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base 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 haad-dm-base2 haad-nbase2 ad-audiomp2-base nick-hppapmap-base haad-dm-base mjf-devfs2-base
|
| 1.72 |
19-Nov-2008 |
matt |
Conditionalize the KERN_SA bits.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
| 1.71 |
17-Oct-2008 |
cegger |
branches: 1.71.2; 1.71.8; build fix: <sys/savar.h> is needed to make dereferencing sadata_vp compile. A fwd declaration is enough for defining a pointer, but you need the definition to access the structure
|
| 1.70 |
15-Oct-2008 |
wrstuden |
Merge wrstuden-revivesa into HEAD.
|
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
| 1.69 |
14-Aug-2008 |
is |
Fixed typo in message text noticed by Ilya Dogolazky. No functional change.
|
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 wrstuden-revivesa-base
|
| 1.68 |
21-May-2008 |
ad |
branches: 1.68.4; Remove unneeded playing about with kernel_lock.
|
|
Revision tags: hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2
|
| 1.67 |
27-Apr-2008 |
matt |
branches: 1.67.2; Merge kernel changes in matt-armv6 to HEAD.
|
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
|
| 1.66 |
29-Mar-2008 |
chris |
branches: 1.66.2; 1.66.4; Add missing bracing for some THUMB_CODE.
|
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
| 1.65 |
06-Jan-2008 |
matt |
branches: 1.65.6; current_intr_depth is dead. Make sure we don't use it anymore.
|
|
Revision tags: nick-csl-alignment-base5 chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base chris-arm-intr-rework-base2 chris-arm-intr-rework-base jmcneill-pm-base nick-csl-alignment-base matt-mips64-base yamt-idlelwp-base8 ppcoea-renovation-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base ad-audiomp-base
|
| 1.64 |
18-Feb-2007 |
matt |
branches: 1.64.18; 1.64.22; 1.64.24; 1.64.30; 1.64.36; Changes for newlock2.
|
|
Revision tags: post-newlock2-merge
|
| 1.63 |
09-Feb-2007 |
ad |
branches: 1.63.2; Merge newlock2 to head.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
|
| 1.62 |
23-Jul-2006 |
ad |
branches: 1.62.4; Use the LWP cached credentials where sane.
|
| 1.61 |
19-Jul-2006 |
ad |
- Hold a reference to the process credentials in each struct lwp. - Update the reference on syscall and user trap if p_cred has changed. - Collect accounting flags in the LWP, and collate on LWP exit.
|
|
Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base
|
| 1.60 |
15-May-2006 |
yamt |
include kauth.h for kauth_cred_geteuid.
|
| 1.59 |
14-May-2006 |
elad |
integrate kauth.
|
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base elad-kernelauth-base
|
| 1.58 |
16-Mar-2006 |
drochner |
branches: 1.58.2; adjust a diagnostic printf
|
| 1.57 |
16-Mar-2006 |
he |
Transform to new signature for uvm_fault() by dropping the third arg. Discussed with drochner.
|
|
Revision tags: yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
|
| 1.56 |
24-Dec-2005 |
perry |
branches: 1.56.4; 1.56.6; 1.56.8; 1.56.10; Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
| 1.55 |
11-Dec-2005 |
christos |
merge ktrace-lwp.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge ktrace-lwp-base
|
| 1.54 |
07-Jan-2005 |
skrll |
branches: 1.54.10; KNF
|
| 1.53 |
02-Jan-2005 |
joff |
set L_SA_PAGEFAULT for prefetch aborts, too. Fixes kern/28828
|
|
Revision tags: kent-audio1-base
|
| 1.52 |
24-Oct-2004 |
skrll |
Fix the argument to KERNEL_PROC_LOCK/KERNEL_PROC_UNLOCK.
|
| 1.51 |
21-Aug-2004 |
rearnsha |
Add support for prefetch and data aborts in Thumb code.
|
| 1.50 |
08-Aug-2004 |
rearnsha |
Add UVMHIST tracking for data and prefetch aborts.
|
|
Revision tags: netbsd-2-0-3-RELEASE 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-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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-base
|
| 1.49 |
14-Mar-2004 |
cl |
add kernel part of concurrency support for SA on MP systems - move per VP data into struct sadata_vp referenced from l->l_savp * VP id * lock on VP data * LWP on VP * recently blocked LWP on VP * queue of LWPs woken which ran on this VP before sleep * faultaddr * LWP cache for upcalls * upcall queue - add current concurrency and requested concurrency variables - make process exit run LWP on all VPs - make signal delivery consider all VPs - make timer events consider all VPs - add sa_newsavp to allocate new sadata_vp structure - add sa_increaseconcurrency to prepare new VP - make sys_sa_setconcurrency request new VP or wakeup idle VP - make sa_yield lower current concurrency - set sa_cpu = VP id in upcalls - maintain cached LWPs per VP
|
| 1.48 |
13-Feb-2004 |
wiz |
Uppercase CPU, plural is CPUs.
|
| 1.47 |
26-Jan-2004 |
scw |
Make it possible to call badaddr_read() from interrupt context, even if curpcb is NULL, by borrowing lwp0's pcb if necessary (needed to be able to set pcb_onfault).
Problem reported by Allen Briggs.
|
| 1.46 |
21-Jan-2004 |
skrll |
Leave errno as zero when we SIGSEGV. This means my CATS now passes regress/lib/libc/siginfo/sigsegv
OK'd by christos.
|
| 1.45 |
20-Nov-2003 |
scw |
In data_abort_handler(), honour pcb_onfault even in the case where current_intr_depth > 0.
|
| 1.44 |
18-Nov-2003 |
scw |
On a fatal fault, dump the trapframe's contents to the console. This is useful when DDB is not available, or practical.
|
| 1.43 |
15-Nov-2003 |
scw |
Re-instate the behaviour of sending SIGKILL to a process if uvm_fault() returns ENOMEM. SIGSEGV just doesn't cut it. The original code looks to have been lost in revision 1.34.
|
| 1.42 |
14-Nov-2003 |
briggs |
Make sure that L_SA_PAGEFAULT gets cleared from l_flag if pmap_fault_fixup returns non-zero and we want to shortcut out. This avoids a bogus pagefault condition being detected in sa_switch(). Many thanks to Christian Limpach for finding this, obviating my band-aid patch to kern_sa.c (posted on tech-kern).
|
| 1.41 |
14-Nov-2003 |
scw |
- In data_abort_handler(), move the fault pc alignment check to before the call to data_abort_fixup() as the fixup routines also try to de-reference the fault pc.
- If a fault came from kernel mode, and the fault address looks to be in the kernel's address space, and pcb_onfault is *set*, check the instruction which caused the fault. If it's LDR{B,}T or STR{B,}T then one of the copy in/out routines is trying to read/write a kernel address with the wrong privilege. If that address is actually mapped, we could end up in an infinite loop because we failed to notice that it's really a 'user mode' access. Yay for "crashme". I suspect this also fixes PR port-arm/23052.
Note: This *could* be fixed by adding sanity checks to copyin et al, but that would add extra overhead to the non-error path...
- Fix a couple of __predict_false cases.
|
| 1.40 |
14-Nov-2003 |
scw |
Since data_abort_handler() may have to decode the instruction at tf->tf_pc to determine if a fault is read or write, make sure tf->tf_pc is 32-bit aligned before dereferencing it.
Otherwise, deliver an illegal instruction signal to the process. We don't support execution of Thumb code at this time.
|
| 1.39 |
31-Oct-2003 |
scw |
Overhaul arm32's abort handlers:
- Assume a permission fault is always the result of an attempted write, so no need to disassemble the opcode. (as discussed with Richard Earnshaw/Jason Thorpe a week or two ago)
- Split out non-MMU data aborts into separate functions, and deal correctly with XScale imprecise aborts. Specifically, the old code made no attempt to handle the double abort faults which can occur as a result of two consecutive external (imprecise) aborts. This was easy to provoke by read(2)ing from a /dev/mem offset which caused an external abort. With the old code, this would bring the system down instantly, with little clue as to why. (hint: tf_spsr held PSR_ABT32_MODE...)
- Re-write badaddr_read() to use pcb_onfault instead of adding extra overhead to data_abort_handler(). A side effect of this is that it now benefits from the XScale double abort recovery.
- Invoke the cpu-specific prefetch/data abort fixup routines only if the host cpu actually needs it. On other cpus, the code is optimised away.
- Sprinkle __predict_{false,true} in all the right places.
- G/C some excess debugging baggage.
|
| 1.38 |
25-Oct-2003 |
scw |
Enable alignment faults on arm32 for both kernel and userland.
If COMPAT_15 and EXEC_AOUT are defined, support per-process alignment checking where AFLTs are always enabled when running kernel code and userland ELF binaries, and dynamically disabled/ enabled when switching to/from a.out binaries. This is necessary in order to execute older a.out binaries, where gcc made deliberate use of misaligned loads under certain circumstances.
|
| 1.37 |
15-Oct-2003 |
scw |
Remove the #ifdef __XSCALE__ around the strd test as the instruction is available on any v5E processor.
Pointed out by Richard Earnshaw.
|
| 1.36 |
13-Oct-2003 |
scw |
Tweak the read/write data abort check to recognise Xscale's strd/ldrd instructions.
While the original code matched "strd" just fine, it also matched the "ldrd" instruction ...
|
| 1.35 |
08-Oct-2003 |
thorpej |
* Shuffle some data structures so, and add a flags word to ksiginfo_t. Right now the only flag is used to indicate if a ksiginfo_t is a result of a trap. Add a predicate macro to test for this flag. * Add initialization macros for ksiginfo_t's. * Add accssor macro for ksi_trap. Expands to 0 if the ksiginfo_t was not the result of a trap. This matches the sigcontext trapcode semantics. * In kpsendsig(), use KSI_TRAP_P() to select the lwp that gets the signal. Inspired by Matthias Drochner's fix to kpsendsig(), but correctly handles the case of non-trap-generated signals that have a > 0 si_code.
This patch fixes a signal delivery problem with threaded programs noted by Matthias Drochner on tech-kern.
As discussed on tech-kern. Reviewed and OK's by Christos.
|
| 1.34 |
05-Oct-2003 |
matt |
Add SA_SIGINFO support for ARM (from Chris Gilbert).
|
| 1.33 |
19-Sep-2003 |
agc |
If we're going to reference SA variables in this file, might as well include the header file to define them. From Steve Woodford.
|
| 1.32 |
18-Sep-2003 |
cl |
add MD part of SA/pthread pagefault handling on arm
|
| 1.31 |
09-Jul-2003 |
thorpej |
Make faulting in DDB continue back in the top-level command loop properly.
|
| 1.30 |
21-May-2003 |
thorpej |
branches: 1.30.2; Remove #ifdefs supporting the old pmap, switching fully to the new.
|
| 1.29 |
28-Apr-2003 |
scw |
Fix the bug reported by Richard Earnshaw in port-arm32/21349.
Make sure to check the access permissions before doing ref/mod/domain fixups. This is particularly important on machines with ARM_VECTORS_LOW.
|
| 1.28 |
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
| 1.27 |
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
| 1.26 |
17-Jan-2003 |
thorpej |
Merge the nathanw_sa branch.
|
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
| 1.25 |
13-Oct-2002 |
bjh21 |
branches: 1.25.2; 1.25.4; 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 tags: kqueue-base
|
| 1.24 |
27-Sep-2002 |
provos |
remove trailing \n in panic(). approved perry.
|
| 1.23 |
21-Sep-2002 |
nathanw |
In the fault handler, record growth of the stack, so that core dumps actually contain the entire stack.
|
|
Revision tags: gehenna-devsw-base
|
| 1.22 |
14-Aug-2002 |
briggs |
G/c cowfault.
|
| 1.21 |
12-Aug-2002 |
bjh21 |
__KERNEL_RCSID
|
| 1.20 |
12-Aug-2002 |
bjh21 |
When pcb_onfault is set, pass the error code we get from uvm_fault() (or EFAULT if we never called uvm_fault) to the onfault handler in R0, in case it wants to use it.
|
| 1.19 |
25-May-2002 |
ichiro |
make compile when define DEBUG
|
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
| 1.18 |
12-Apr-2002 |
thorpej |
branches: 1.18.2; 1.18.4; 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>.
|
| 1.17 |
04-Apr-2002 |
skrll |
Fix compile problem when DDB not defined.
|
| 1.16 |
29-Mar-2002 |
thorpej |
Fix a printf format.
|
| 1.15 |
25-Mar-2002 |
thorpej |
Garbage-collect fetchuserword(); nothing uses it any more.
|
| 1.14 |
25-Mar-2002 |
thorpej |
In the Prefetch Abort handler, just do the uvm_fault() dance directly, rather than doing a data access to fetch the page, which meant we had to take another fault (!!).
|
| 1.13 |
24-Mar-2002 |
thorpej |
Only check for SA110 bugs on SA110 CPUs with step <= K.
|
| 1.12 |
24-Mar-2002 |
thorpej |
* Only check for SA110 rev K bug if we're on an SA110 (XXX should also check stepping). * In said check, don't use pmap_pte(). * Garbage-collect some useless debug code.
|
|
Revision tags: eeh-devprop-base
|
| 1.11 |
15-Mar-2002 |
reinoud |
Serious bug fix: a userland program could panic the kernel when it tried to issue an instruction that caused the late abort handler to be called for wich the kernel had no support build in for.
It now only panics when it happends in kernel but otherwise signals the process a SEGV signal.
|
|
Revision tags: newlock-base ifpoll-base
|
| 1.10 |
22-Feb-2002 |
thorpej |
When reporting there is no VM map for a fault, also report the faulting address.
|
| 1.9 |
14-Feb-2002 |
bjh21 |
Undo part of rev 1.8: SWP intructions really do both read and write the referenced address.
|
| 1.8 |
14-Feb-2002 |
chs |
allow writing to write-only mappings. fixes PR 3493.
|
| 1.7 |
05-Jan-2002 |
chris |
Make some of the arm32 files build with LOOSE_PROTOTYPES not set in the makefile. Turned up a few mismatched functions. Note that this isn't all of the arm32 files. Aim will be to get arm32 kernels built with LOOSE_PROTOTYPES not set.
|
| 1.6 |
23-Nov-2001 |
thorpej |
No need to pull in <machine/pte.h> directly.
|
| 1.5 |
22-Nov-2001 |
thorpej |
Kill <machine/katelib.h>. Any place that still uses it should just reference <arm/arm32/katelib.h> until such time as all use of this file has been purged from the face of the earth.
|
|
Revision tags: thorpej-mips-cache-base
|
| 1.4 |
09-Nov-2001 |
thorpej |
branches: 1.4.2; Print the fault PC for non-USR Prefetch Aborts.
|
| 1.3 |
09-Nov-2001 |
thorpej |
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 tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
| 1.2 |
05-Sep-2001 |
matt |
branches: 1.2.4; Change <machine/irqhandler.h> to <machine/intr.h> since the latter always includes the former and is a standard include file.
|
| 1.1 |
28-Jul-2001 |
chris |
branches: 1.1.2; Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
|
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base yamt-pagecache-base9 yamt-pagecache-tag8 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base agc-symver-base tls-maxphys-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase jym-xensuspend-nbase bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 jym-xensuspend-base
|
| 1.16 |
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
| 1.15 |
18-Jan-2009 |
bjh21 |
Now that GET_CURPCB and GET_CURCPU are generally available, use them unconditionally rather than rolling our own (often badly) all over the place.
|
| 1.14 |
17-Jan-2009 |
bjh21 |
Clear out the vestigial support for the Simtec Hydra board. Now that we're getting support for proper SMP ARMs, keeping non-functional support for a seriously crippled not-really-SMP system is likely to cause more problems than it's worth, even if it was fun for a while.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 nick-hppapmap-newbase haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
| 1.13 |
27-Apr-2008 |
matt |
branches: 1.13.8; 1.13.16; Merge kernel changes in matt-armv6 to HEAD.
|
|
Revision tags: nick-csl-alignment-base5 yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 bouyer-xeni386-merge1 chris-arm-intr-rework-base3 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-armv6-base chris-arm-intr-rework-base2 chris-arm-intr-rework-base jmcneill-pm-base hpcarm-cleanup-base nick-csl-alignment-base matt-mips64-base yamt-idlelwp-base8 ppcoea-renovation-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base
|
| 1.12 |
04-Mar-2007 |
christos |
branches: 1.12.22; 1.12.42; 1.12.44; 1.12.46; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.11 |
11-Dec-2005 |
christos |
branches: 1.11.26; merge ktrace-lwp.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 netbsd-2-0-3-RELEASE yamt-vop-base2 thorpej-vnode-attr-base netbsd-2-1-RELEASE yamt-vop-base netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-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-base ktrace-lwp-base
|
| 1.10 |
01-Dec-2003 |
rearnsha |
branches: 1.10.16; Avoid alignment faults in fusword and fuswintr. Also handle big-endian systems in susword and suswintr.
|
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
| 1.9 |
13-Oct-2002 |
bjh21 |
branches: 1.9.8; Instead of "add rd, pc, #foo - . - 8", use either "adr rd, foo" or (where appropriate) "mov lr, pc". This makes things slightly less confusing and ugly.
|
| 1.8 |
13-Oct-2002 |
bjh21 |
Use cpu_number() to find curpcb rather than assuming we're on CPU 0.
|
| 1.7 |
12-Oct-2002 |
bjh21 |
Move curpcb into struct cpu_info in MULTIPROCESSOR kernels.
|
|
Revision tags: gehenna-devsw-base kqueue-base
|
| 1.6 |
17-Aug-2002 |
thorpej |
More local label fixups.
|
| 1.5 |
15-Aug-2002 |
briggs |
* Use local label names (.Lfoo vs. (Lfoo or foo)) * When moving from cpsr, use "cpsr" instead of "cpsr_all" (which is provided, but doesn't make sense since mrs doesn't support fields like msr does).
|
| 1.4 |
09-Aug-2002 |
thorpej |
Use ldrt/strt.
|
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
| 1.3 |
25-Mar-2002 |
thorpej |
branches: 1.3.2; 1.3.4; Garbage-collect fetchuserword(); nothing uses it any more.
|
|
Revision tags: eeh-devprop-base newlock-base
|
| 1.2 |
02-Mar-2002 |
chris |
Remove ref to VM_MAXKERN_ADDRESS, it's not used in this file
|
|
Revision tags: ifpoll-base thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
| 1.1 |
28-Jul-2001 |
chris |
branches: 1.1.2; 1.1.8; Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
| 1.97 |
09-Oct-2025 |
skrll |
Add the beginnings of a GENERIC_V5 kernel that targets armv5 boards and uses FDT.
In this first iteration some support is added for OLinuXino boards.
Thanks to Yuri Honegger for doing the vast majority of the work.
|
| 1.96 |
04-Oct-2025 |
skrll |
G/C
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.95 |
28-Aug-2020 |
skrll |
Some KASAN fixes and tweaks
- don't access BSS variables when __md_early - centralise the INIT_ARM_STACK_{SHIFT,SIZE} defines and create a new INIT_ARM_TOTAL_STACK - Only create L1PT entries in kasan_md_shadow_map_page if arm32_kernel_vm_init hasn't created the L2PTs (and their L1PT entries) - Add some comments to explain what's going on
|
| 1.94 |
14-Aug-2020 |
skrll |
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().
|
| 1.93 |
08-Jul-2020 |
skrll |
Use the stack provided by armv6_start.S rather than svcstk. This saves some bss too.
|
| 1.92 |
08-Jul-2020 |
skrll |
Sort the __HAVE_* defines
|
| 1.91 |
08-Jul-2020 |
skrll |
Sort include "opt_..."s
|
| 1.90 |
03-Jul-2020 |
skrll |
KNF (sort includes)
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
|
| 1.89 |
20-Mar-2020 |
skrll |
Really use armv7 noncache memory attribute for early kernel mapping and not SO
|
|
Revision tags: is-mlppp-base ad-namecache-base3
|
| 1.88 |
18-Feb-2020 |
skrll |
G/C
|
| 1.87 |
15-Feb-2020 |
skrll |
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}
|
| 1.86 |
14-Feb-2020 |
skrll |
Sort define CI_*. NFCI.
|
| 1.85 |
29-Jan-2020 |
skrll |
G/C some more
|
| 1.84 |
29-Jan-2020 |
skrll |
G/C
|
|
Revision tags: ad-namecache-base2 ad-namecache-base1
|
| 1.83 |
08-Jan-2020 |
ad |
Hopefully fix some problems seen with MP support on non-x86, in particular where curcpu() is defined as curlwp->l_cpu:
- mi_switch(): undo the ~2007ish optimisation to unlock curlwp before calling cpu_switchto(). It's not safe to let other actors mess with the LWP (in particular l->l_cpu) while it's still context switching. This removes l->l_ctxswtch.
- Move the LP_RUNNING flag into l->l_flag and rename to LW_RUNNING since it's now covered by the LWP's lock.
- Ditch lwp_exit_switchaway() and just call mi_switch() instead. Everything is in cache anyway so it wasn't buying much by trying to avoid saving old state. This means cpu_switchto() will never be called with prevlwp == NULL.
- Remove some KERNEL_LOCK handling which hasn't been needed for years.
|
|
Revision tags: ad-namecache-base
|
| 1.82 |
24-Nov-2019 |
skrll |
branches: 1.82.2; corect #include order
|
| 1.81 |
23-Nov-2019 |
ad |
cpu_need_resched():
- Remove all code that should be MI, leaving the bare minimum under arch/. - Make the required actions very explicit. - Pass in LWP pointer for convenience. - When a trap is required on another CPU, have the IPI set it locally. - Expunge cpu_did_resched().
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
|
| 1.80 |
18-Oct-2018 |
skrll |
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
|
| 1.79 |
15-Oct-2018 |
skrll |
Group/sort struct arm_cache_info members
|
|
Revision tags: pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base
|
| 1.78 |
27-Jun-2018 |
ryo |
branches: 1.78.2; on evbarm/RPI,RPI2, VERBOSE_INIT_ARM had broken.
XPUTC() of evbarm/rpi/rpi*_start.S uses bcm283[567]_platform_early_putchar() and it requires stack. fixed to allocate stack when starting from rpi*_start.S and a9_mpsubr.S if needed.
to work XPUTC(), need to define VERBOSE_INIT_ARM and EARLYCONS option.
|
|
Revision tags: pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
| 1.77 |
24-Jan-2018 |
skrll |
branches: 1.77.2; Remove port-acorn26
OK core@
|
|
Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
| 1.76 |
12-Jul-2017 |
skrll |
Alignment whitespace. No functional change.
|
| 1.75 |
12-Jul-2017 |
skrll |
In idcache_wbinv_range if the range size is bigger than the dcache size then call idcache_wbinv_all
Avoids a problem with large ranges as seen in port-evbarm/52169: setting dtrace module to load cause Pi to hang on boot
|
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
| 1.74 |
09-Jun-2015 |
skrll |
branches: 1.74.10; Trailing whitespace.
|
| 1.73 |
09-Jun-2015 |
skrll |
Use TTBR_[UM]PATTR in a9_mpsubr.S as well as cpufunc_asm_armv7
Prompted by matt@
|
|
Revision tags: nick-nhusb-base-20150606
|
| 1.72 |
15-Apr-2015 |
matt |
define __HAVE_PREEMPTION
|
| 1.71 |
07-Apr-2015 |
matt |
__HAVE_UNNESTED_INTRS is never used.
|
|
Revision tags: nick-nhusb-base-20150406
|
| 1.70 |
23-Mar-2015 |
matt |
Add L_FLAG/LW_SYSTEM
|
|
Revision tags: nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.69 |
10-Apr-2014 |
matt |
branches: 1.69.2; 1.69.4; emit VERBOSE_INIT_ARM
|
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
| 1.68 |
28-Mar-2014 |
matt |
branches: 1.68.2; Add ARM_MMU_EXTENDED support.
|
|
Revision tags: riastradh-drm2-base3
|
| 1.67 |
26-Feb-2014 |
matt |
Move pmap_recent_user to ci->ci_pmap_lastuser and pmap_previous_active_lwp to ci->ci_lastlwp. Fix some comments.
|
| 1.66 |
09-Nov-2013 |
jmcneill |
wrap opt_* includes with if defined(_KERNEL_OPT)
|
| 1.65 |
18-Aug-2013 |
matt |
include <arm/locore.h>
|
| 1.64 |
18-Aug-2013 |
matt |
Add more TF_* symbols
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
| 1.63 |
02-Jul-2013 |
matt |
Add L2_S_SIZE
|
| 1.62 |
17-Jun-2013 |
matt |
branches: 1.62.2; Add L1_S_V6_S
|
| 1.61 |
29-Apr-2013 |
kiyohara |
Add some defines for epoc32.
|
|
Revision tags: agc-symver-base yamt-pagecache-base8
|
| 1.60 |
17-Dec-2012 |
matt |
Add CPU_VFP_ID and PCB_VFP_FPEXC
|
|
Revision tags: yamt-pagecache-base7
|
| 1.59 |
10-Dec-2012 |
matt |
add __HAVE_MM_MD_DIRECT_MAPPED_PHYS
|
| 1.58 |
10-Dec-2012 |
matt |
Add VFP_FPEXC_EN
|
| 1.57 |
10-Dec-2012 |
matt |
Rename pcb_sp/PCB_SP to pcb_ksp/PCB_KSP so that ipsec.c will compile.
|
|
Revision tags: yamt-pagecache-base6
|
| 1.56 |
21-Oct-2012 |
matt |
Change to use symbolic constants from assym.h and fix a typo in a comment.
|
| 1.55 |
21-Oct-2012 |
matt |
Implement a "fast" path for IRQ handling out of the idle loop. Since we are in SVC32 already we only need to save a few registers. Processing is also simplified since we know we can't return to user-mode.
|
| 1.54 |
07-Sep-2012 |
matt |
branches: 1.54.2; 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
|
| 1.53 |
01-Sep-2012 |
matt |
Add __BITS to asm.h (remove from imxuartreg.h) Add L1_S_AP_KR to genassym.h Use L1_S_AP_* in omap_start.S and don't include pmap.h
|
| 1.52 |
31-Aug-2012 |
matt |
Make cpu_reset, most of initarm and the kvm init code common. Add MP hooks for cpu_need_resced Add idlestck which is allocated in arm32_kvminit
|
| 1.51 |
29-Aug-2012 |
matt |
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
|
| 1.50 |
29-Aug-2012 |
matt |
Use ARMV6+ cpsi{d,f} instructions whenever possible. Use r7 to hold previous mode and avoid recomputing it. Add support for obtaining kernel_lock on exception entry and exit.
|
| 1.49 |
16-Aug-2012 |
matt |
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.
|
| 1.48 |
14-Aug-2012 |
matt |
Kill curpcb/ci_curpcb. Use device_t in cpu_info. Add ci_softc (where ci_curpcb was so cpu_info doesn't change).
|
| 1.47 |
02-Aug-2012 |
skrll |
Remove irqframe and replace with identical trapframe.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
| 1.46 |
07-Apr-2011 |
matt |
branches: 1.46.4; 1.46.12; Fetch user read-only thread and process id from l->l_private, not the pcb. (need to g/c the pcb field formerly used for this).
|
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base
|
| 1.45 |
31-Jan-2011 |
matt |
Define the L1* pte values. Now pmap.h and pte.h no longer needed in .S files.
|
|
Revision tags: jruoho-x86intr-base
|
| 1.44 |
14-Jan-2011 |
rmind |
branches: 1.44.2; 1.44.4; Retire struct user, remove sys/user.h inclusions. Note sys/user.h header as obsolete. Remove USER_TO_UAREA/UAREA_TO_USER macros.
Various #include fixes and review by matt@.
|
|
Revision tags: matt-mips64-premerge-20101231
|
| 1.43 |
20-Dec-2010 |
matt |
Move counting of faults, traps, intrs, soft[intr]s, syscalls, and nswtch from uvmexp to per-cpu cpu_data and move them to 64bits. Remove unneeded includes of <uvm/uvm_extern.h> and/or <uvm/uvm.h>.
|
|
Revision tags: uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211
|
| 1.42 |
10-Dec-2009 |
rmind |
branches: 1.42.4; Rename L_ADDR to L_PCB and amend some comments accordingly.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 haad-dm-base mjf-devfs2-base
|
| 1.41 |
20-Sep-2008 |
tsutsui |
branches: 1.41.12; Remove advertising clause for UCB in various genassym.cf files, which were derived from genassym.c in 4.4BSD-Lite2 (or 386BSD). Closes PR misc/39573. Approved by martin@.
|
|
Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
| 1.40 |
07-Aug-2008 |
matt |
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 tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
| 1.39 |
27-Apr-2008 |
matt |
branches: 1.39.2; 1.39.6; Merge kernel changes in matt-armv6 to HEAD.
|
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
| 1.38 |
19-Jan-2008 |
chris |
branches: 1.38.6; 1.38.8; 1.38.10; With the removal of IPKDB on arm, the undefined stack is only used to bounce into SVC32 mode, there is no per-process data stored on it.
We can therefore use the undefined stack setup by the platform machdep.c as a system wide undefined stack.
This removes the need for a per-process undefined stack, and the processor mode switching overhead it causes in cpu_switchto.
The space freed in the USPACE is used to increase the per process kernel stack size.
|
|
Revision tags: matt-armv6-base
|
| 1.37 |
08-Jan-2008 |
matt |
As of this commit, all arm32 kernel now build.
|
| 1.36 |
06-Jan-2008 |
matt |
Make sure interrupt handler is updating curcpu()->ci_depth
|
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
| 1.35 |
17-Oct-2007 |
garbled |
branches: 1.35.2; 1.35.8; 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 tags: yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base ppcoea-renovation-base vmlocking-base
|
| 1.34 |
15-Sep-2007 |
scw |
ARM cpu_switchto() has been partially broken since yamt-idlelwp was merged as its cache/tlb management smarts relied too heavily on pre-merge context- switch behaviour. See PR kern/36548 for one manifestation of the breakage.
To address this: - Ditch the shadow pmap variables in the PCB (pagedir, l1vec, dacr, cstate) as it was too easy for them to get out of sync with the pmap. - Re-write (and fix) the convoluted cpuswitch.S cache/tlb ASM code in C. It's only slightly less efficient, but is much more readable/maintainable. - Document cpufuncs.cf_context_switch() as being C-callable. - pmap_activate() becomes a no-op if the lwp's vmspace is already active. (Good performance win, since pmap_activate() is now invoked on every context-switch, even though ARM's cpu_switchto() already does all the grunt work)
XXX: Some CPU-specific armXX_context_switch() implementations (arm67, arm7tdmi, arm8) always flush the I+D caches. This should not be necessary. Someone with access to hardware (acorn32?) needs to deal with this.
|
|
Revision tags: nick-csl-alignment-base5 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base mjf-ufs-trans-base
|
| 1.33 |
17-May-2007 |
yamt |
branches: 1.33.6; 1.33.8; 1.33.10; 1.33.12; 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 tags: yamt-idlelwp-base8 thorpej-atomic-base
|
| 1.32 |
09-Mar-2007 |
thorpej |
branches: 1.32.2; 1.32.4; 1.32.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
|
Revision tags: ad-audiomp-base
|
| 1.31 |
20-Feb-2007 |
matt |
Add KERNEL_BASE
|
| 1.30 |
19-Feb-2007 |
briggs |
Get DOMAIN_CLIENT directly from arm/arm32/pte.h instead of from genassym to avoid redefinition when both assymh and pte.h are included (as in INTEGRATOR's intmmu.S, which uses more macros from pte.h).
|
|
Revision tags: post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 newlock2-base netbsd-4-base
|
| 1.29 |
27-Sep-2006 |
manu |
branches: 1.29.2; 1.29.4; - Document COMPAT_15 as doing nothing - Add COMPAT_15 to all the kernel that had COMPAT_14, for the sake of coherency - Remove the only occurences of #ifdef COMPAT_15 in the tree: for the ARM ports, COMPAT_15 was always used in conjunction with EXEC_AOUT. Only EXEC_AOUT matters here.
This address kern/18407
|
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.28 |
11-Dec-2005 |
christos |
branches: 1.28.20; 1.28.22; merge ktrace-lwp.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 netbsd-2-0-3-RELEASE yamt-vop-base2 thorpej-vnode-attr-base netbsd-2-1-RELEASE yamt-vop-base netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-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-base ktrace-lwp-base
|
| 1.27 |
04-Nov-2003 |
dsl |
branches: 1.27.16; Remove p_nras from struct proc - use LIST_EMPTY(&p->p_raslist) instead. Remove p_raslock and rename p_lwplock p_lock (one lock is enough). Simplify window test when adding a ras and correct test on VM_MAXUSER_ADDRESS. Avoid unpredictable branch in i386 locore.S (pad fields left in struct proc to avoid kernel bump)
|
| 1.26 |
25-Oct-2003 |
scw |
Enable alignment faults on arm32 for both kernel and userland.
If COMPAT_15 and EXEC_AOUT are defined, support per-process alignment checking where AFLTs are always enabled when running kernel code and userland ELF binaries, and dynamically disabled/ enabled when switching to/from a.out binaries. This is necessary in order to execute older a.out binaries, where gcc made deliberate use of misaligned loads under certain circumstances.
|
| 1.25 |
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
| 1.24 |
22-May-2003 |
thorpej |
branches: 1.24.2; Remove old pmap support.
|
| 1.23 |
22-Apr-2003 |
thorpej |
Some ARM32_PMAP_NEW-related cleanup: * Define a new "MMU type", ARM_MMU_SA1. While the SA-1's MMU is basically compatible with the generic, the SA-1 cache does not have a write-through mode, and it is useful to know have an indication of this. * Add a new PMAP_NEEDS_PTE_SYNC indicator, and try to evaluate it at compile time. We evaluate it like so: - If SA-1-style MMU is the only type configured -> 1 - If SA-1-style MMU is not configured -> 0 - Otherwise, defer to a run-time variable. If PMAP_NEEDS_PTE_SYNC might evaluate to true (SA-1 only or run-time check), then we also define PMAP_INCLUDE_PTE_SYNC so that e.g. assembly code can include the necessary run-time support. PMAP_INCLUDE_PTE_SYNC largely replaces the ARM32_PMAP_NEEDS_PTE_SYNC manual setting Steve included with the original new pmap. * In the new pmap, make pmap_pte_init_generic() check to see if the CPU has a write-back cache. If so, init the PT cache mode to C=1,B=0 to get write-through mode. Otherwise, init the PT cache mode to C=1,B=1. * Add a new pmap_pte_init_arm8(). Old pmap, same as generic. New pmap, sets page table cacheability to 0 (ARM8 has a write-back cache, but flushing it is quite expensive). * In the new pmap, make pmap_pte_init_arm9() reset the PT cache mode to C=1,B=0, since the write-back check in generic gets it wrong for ARM9, since we use write-through mode all the time on ARM9 right now. (What this really tells me is that the test for write-through cache is less than perfect, but we can fix that later.) * Add a new pmap_pte_init_sa1(). Old pmap, same as generic. New pmap, does generic initialization, then resets page table cache mode to C=1,B=1, since C=1,B=0 does not produce write-through on the SA-1.
|
| 1.22 |
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
| 1.21 |
08-Apr-2003 |
thorpej |
Use PAGE_SIZE rather than NBPG.
|
| 1.20 |
17-Jan-2003 |
thorpej |
Merge the nathanw_sa branch.
|
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
| 1.19 |
19-Oct-2002 |
bjh21 |
branches: 1.19.2; Undo recent cpu_switch register usage changes in order to decrease nathanw_sa merge pain.
|
| 1.18 |
18-Oct-2002 |
bjh21 |
In cpu_switch(), stack more registers at the start of the function, and hence save fewer into the PCB. This should give me enough free registers in cpu_switch to tidy things up and support MULTIPROCESSOR properly. While we're here, make the stacked registers into an APCS stack frame, so that DDB backtraces through cpu_switch() will work.
This also affects cpu_fork(), which has to fabricate a switchframe and PCB for the new process.
|
| 1.17 |
12-Oct-2002 |
bjh21 |
Move curpcb into struct cpu_info in MULTIPROCESSOR kernels.
|
| 1.16 |
05-Oct-2002 |
bjh21 |
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 tags: gehenna-devsw-base kqueue-base
|
| 1.15 |
31-Aug-2002 |
thorpej |
Add machine-dependent bits of RAS for arm32.
|
| 1.14 |
23-Jun-2002 |
thorpej |
Garbage-collect sigframe references.
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
| 1.13 |
05-Apr-2002 |
thorpej |
branches: 1.13.2; * Rewrite the 32-bit ARM pte.h based on the ARM architecture manual. Significant cleanup, here, including better PTE bit names. * Add XScale PTE extensions (ECC enable, write-allocate cache mode). * Mechanical changes everywhere else to update for new pte.h. While doing this, two bugs (as a result of typos) were fixed in
arm/arm32/bus_dma.c evbarm/integrator/int_bus_dma.c
|
| 1.12 |
23-Mar-2002 |
thorpej |
* Rename PROCESS_PAGE_TBLS_BASE -> PTE_BASE * Rename ALT_PAGE_TBLS_BASE -> APTE_BASE * Garbage-collect PAGE_TABLE_SPACE_START
|
|
Revision tags: eeh-devprop-base newlock-base
|
| 1.11 |
03-Mar-2002 |
chris |
Implement pmap_growkernel for arm32 based ports. Note that this has been compiled on some systems, cats, IQ80310, IPAQ, netwinder and shark (note that shark's build is currently broken due to other reasons), but only actually run on cats. Shark doesn't make use of the functionality as I believe there has to be a correlation between OFW and the kernel tables so that calls into OFW work.
|
|
Revision tags: ifpoll-base
|
| 1.10 |
05-Feb-2002 |
thorpej |
Allow platforms to use an extra level of indirection for FIQs, enabled by definining __ARM_FIQ_INDIRECT in <machine/types.h>. This is needed for OpenFirmware systems (like the Shark), where the OFW vector page is used, and kernel entries merely patched into it.
|
| 1.9 |
25-Jan-2002 |
thorpej |
Overhaul of the ARM cache code. This is mostly a simplification pass. Rather than providing a whole slew of cache operations that aren't ever used, distill them down to some useful primitives:
icache_sync_all Synchronize I-cache icache_sync_range Synchronize I-cache range
dcache_wbinv_all Write-back and Invalidate D-cache dcache_wbinv_range Write-back and Invalidate D-cache range dcache_inv_range Invalidate D-cache range dcache_wb_range Write-back D-cache range
idcache_wbinv_all Write-back and Invalidate D-cache, Invalidate I-cache idcache_wbinv_range Write-back and Invalidate D-cache, Invalidate I-cache range
Note: This does not yet include an overhaul of the actual asm files that implement the primitives. Instead, we've provided a safe default for each CPU type, and the individual CPU types can now be optimized one at a time.
|
| 1.8 |
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
| 1.7 |
28-Nov-2001 |
thorpej |
Don't define interrupt handler-related offsets here.
|
| 1.6 |
23-Nov-2001 |
thorpej |
Provide __PROG32 to assembly code.
|
|
Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf
|
| 1.5 |
09-Sep-2001 |
toshii |
branches: 1.5.4; Don't define pcb_* register macros. pcb_sp macro conflicts with sys/netinet6/ipsec.c.
|
|
Revision tags: thorpej-devvp-base
|
| 1.4 |
05-Sep-2001 |
matt |
branches: 1.4.2; Don't compile SPL/INTR stuff if NEWINTR is defined.
|
| 1.3 |
05-Sep-2001 |
matt |
Change <machine/irqhandler.h> to <machine/intr.h>. Change {irq,fiq}handler_t to struct XXXhandler
|
| 1.2 |
27-Aug-2001 |
chris |
Remove unused entries from the pcb. This is with a long term view of merging the arm26 and arm32 pcb's.
|
| 1.1 |
28-Jul-2001 |
chris |
branches: 1.1.2; finish moving common arm32 bits out into arm/arm32.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.36 |
20-Jun-2020 |
skrll |
KNF #includes
Remove some unnecessary ones while I'm here.
|
| 1.35 |
20-Jun-2020 |
skrll |
Trailing whitespace
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
|
| 1.34 |
01-Sep-2012 |
matt |
Rework includes and include <uvm/uvm_extern.h> for pmap.h
|
| 1.33 |
27-Jul-2012 |
matt |
Remove safepri and use IPL_SAFEPRI instead. This may be defined in a MD header file (if not, a value of 0 is assmued).
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 rmind-uvmplock-base jym-xensuspend-base
|
| 1.32 |
20-Dec-2010 |
matt |
branches: 1.32.8; 1.32.16; Move counting of faults, traps, intrs, soft[intr]s, syscalls, and nswtch from uvmexp to per-cpu cpu_data and move them to 64bits. Remove unneeded includes of <uvm/uvm_extern.h> and/or <uvm/uvm.h>.
|
|
Revision tags: uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
| 1.31 |
13-Jun-2010 |
tsutsui |
Apply fixes for PR port-arm/43339: Set proper IPL_SOFTfoo values even in !FAST_SOFTINTS case. Some assertions in MI code expect they have unique values, per comments from rmind@.
Also cleanup various "interrupt hierarchy" code since IPL_NONE and IPL_SOFTfoo should not be set by any hardware interrupt establish functions.
Ok'ed by mrg@, tested on shark and hpcarm.
|
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base 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 haad-dm-base2 haad-nbase2 ad-audiomp2-base nick-hppapmap-base haad-dm-base mjf-devfs2-base
|
| 1.30 |
19-Nov-2008 |
matt |
branches: 1.30.6; 1.30.8; No need to include <machine/atomic.h>
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base wrstuden-revivesa-base
|
| 1.29 |
11-Jun-2008 |
rafal |
branches: 1.29.2; 1.29.4; 1.29.10; Let the shark boot again. Fixes port-shark/38929. While I'm here fix the splsoft... macros to always raise the IPL (oops!).
|
|
Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2
|
| 1.28 |
27-Apr-2008 |
matt |
branches: 1.28.2; 1.28.4; Merge kernel changes in matt-armv6 to HEAD.
|
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
|
| 1.27 |
24-Feb-2008 |
matt |
branches: 1.27.2; 1.27.4; no need to include opt_irqstats.h
|
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base mjf-devfs-base matt-armv6-base
|
| 1.26 |
06-Jan-2008 |
matt |
branches: 1.26.2; 1.26.6; Cleanup softint lossage.
|
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase jmcneill-pm-base reinoud-bufcleanup-base
|
| 1.25 |
03-Dec-2007 |
ad |
branches: 1.25.6; Interrupt handling changes, in discussion since February:
- Reduce available SPL levels for hardware devices to none, vm, sched, high. - Acquire kernel_lock only for interrupts at IPL_VM. - Implement threaded soft interrupts.
|
|
Revision tags: jmcneill-base bouyer-xenamd64-base2 yamt-x86pmap-base4 bouyer-xenamd64-base
|
| 1.24 |
17-Oct-2007 |
garbled |
branches: 1.24.2; 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 tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base chris-arm-intr-rework-base2 ppcoea-renovation-base vmlocking-base
|
| 1.23 |
13-Aug-2007 |
tsutsui |
branches: 1.23.2; Remove all references to spl_mask. Now it isn't used by any sources. Discussed on port-arm.
|
|
Revision tags: chris-arm-intr-rework-base matt-mips64-base
|
| 1.22 |
04-Aug-2007 |
tsutsui |
branches: 1.22.2; Fix a typo in a debug printf message.
|
|
Revision tags: nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
|
| 1.21 |
09-Mar-2007 |
thorpej |
branches: 1.21.2; 1.21.8; 1.21.10; 1.21.12; 1.21.14; 1.21.16; 1.21.18; Make ipl_t and ipl_cookie_t 8-bit values. kmutex is now down to 12 bytes (from 20) on ARM.
Approved by Matt Thomas.
|
|
Revision tags: ad-audiomp-base
|
| 1.20 |
20-Feb-2007 |
matt |
Don't double count uvmexp.softs
|
| 1.19 |
20-Feb-2007 |
matt |
_setsoftintr takes a si, not a ipl, so don't map it. Shark now boots to multiuser!
|
| 1.18 |
18-Feb-2007 |
matt |
Move declaration of spl_smasks. make spl_smasks and soft_interrupts static.
|
| 1.17 |
18-Feb-2007 |
matt |
Don't export spl_smasks or soft_interrupts. They are local to intr.c Make sure that softintr_init() is called when needed. Assume __HAVE_GENERIC_SOFT_INTERRUPTS is defined (since newlock2 requires it).
|
| 1.16 |
18-Feb-2007 |
matt |
Map IPL_SOFTxxx to SI_SOFTxxx.
|
| 1.15 |
18-Feb-2007 |
matt |
Add __HAVE_GENERIC_SOFT_INTERRUPTS support for shark. This was done by extenting the current arm generic intrs to support softintrs. Add IPL_SOFTCLOCK, IPL_SOFTNET, IPL_SOFTSERIAL.
|
|
Revision tags: post-newlock2-merge newlock2-nbase newlock2-base
|
| 1.14 |
21-Dec-2006 |
yamt |
branches: 1.14.2; merge yamt-splraiseipl branch.
- finish implementing splraiseipl (and makeiplcookie). http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html - complete workqueue(9) and fix its ipl problem, which is reported to cause audio skipping. - fix netbt (at least compilation problems) for some ports. - fix PR/33218.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.13 |
11-Dec-2005 |
christos |
branches: 1.13.20; 1.13.22; merge ktrace-lwp.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 netbsd-2-0-3-RELEASE yamt-vop-base2 thorpej-vnode-attr-base netbsd-2-1-RELEASE yamt-vop-base netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-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-base ktrace-lwp-base
|
| 1.12 |
15-Jul-2003 |
lukem |
branches: 1.12.16; __KERNEL_RCSID()
|
| 1.11 |
16-Jun-2003 |
thorpej |
branches: 1.11.2; Rename IPL_IMP -> IPL_VM.
|
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
| 1.10 |
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
|
Revision tags: kqueue-base
|
| 1.9 |
06-Sep-2002 |
gehenna |
branches: 1.9.2; Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to dynamically generated by config(8).
- All device switches is defined as a constant structure in device drivers.
- The new grammer ``device-major'' is introduced to ``files''.
device-major <prefix> char <num> [block <num>] [<rules>]
- All device major numbers must be listed up in port dependent majors.<arch> by using this grammer.
- Added the new naming convention. The name of the device switch must be <prefix>_[bc]devsw for auto-generation of device switch tables.
- The backward compatibility of loading block/character device switch by LKM framework is broken. This is necessary to convert from block/character device major to device name in runtime and vice versa.
- The restriction to assign device major by LKM is completely removed. We don't need to reserve LKM entries for dynamic loading of device switch.
- In compile time, device major numbers list is packed into the kernel and the LKM framework will refer it to assign device major number dynamically.
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base
|
| 1.8 |
31-Jan-2002 |
chris |
branches: 1.8.4; 1.8.8; Fix the type of irqmasks (any reason it's even been added as an extern when it's in irqhandler.h with the correct type and array size?)
|
| 1.7 |
30-Jan-2002 |
thorpej |
New interrupt framework for NetBSD/evbarm, and accompanying new interrupt code for the IQ80310 board support package.
XXX The Integrator board support package still uses the old-style arm32 interrupt code, so some compatibility hacks have been added for it. When the Integrator uses new-style interrupts, those hacks can go away.
|
| 1.6 |
07-Jan-2002 |
chris |
Finish up the changes to get LOOSE_PROTOTYPES working for cats. Note that this leaves a few inconsistencies (no more than we already had though) eg initarm is now prototyped in arm32/machdep.h, however only cats currently makes use of that header.
|
| 1.5 |
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
| 1.4 |
26-Nov-2001 |
thorpej |
Move interrupt-related stuff out of stubs.c into intr.c.
|
|
Revision tags: thorpej-mips-cache-base
|
| 1.3 |
27-Oct-2001 |
rearnsha |
branches: 1.3.2; Pull in machine/conf.h to find out if we have the plcom serial driver. If so, then call plcomsoft when appropriate.
|
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
| 1.2 |
05-Sep-2001 |
matt |
branches: 1.2.4; Change <machine/irqhandler.h> to <machine/intr.h> since the latter always includes the former and is a standard include file.
|
| 1.1 |
28-Jul-2001 |
chris |
branches: 1.1.2; Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.17 |
21-Nov-2020 |
skrll |
Sprinkle some comments about ENABLE_ALIGNMENT_FAULTS leaving curcpu in r4 and curlwp in r5
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base 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
|
| 1.16 |
02-Jun-2015 |
matt |
branches: 1.16.30; Add a clrex/dmb to irq path as recommended by ARM.
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.15 |
18-Aug-2013 |
matt |
branches: 1.15.6; 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 tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
| 1.14 |
21-Oct-2012 |
matt |
branches: 1.14.2; Add softint processing for irq_idle_entry
|
| 1.13 |
21-Oct-2012 |
matt |
Implement a "fast" path for IRQ handling out of the idle loop. Since we are in SVC32 already we only need to save a few registers. Processing is also simplified since we know we can't return to user-mode.
|
| 1.12 |
29-Aug-2012 |
matt |
branches: 1.12.2; Avoid using r7 (which is being reserved for a different purpose).
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
| 1.11 |
28-May-2011 |
jakllsch |
branches: 1.11.4; 1.11.12; Remove unused local variable. Spelling fix in comment.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base uebayasi-xip-base6 uebayasi-xip-base5 netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 netbsd-5-1-RC4 matt-nb5-mips64-k15 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
| 1.10 |
27-Apr-2008 |
matt |
branches: 1.10.18; 1.10.22; 1.10.28; Merge kernel changes in matt-armv6 to HEAD.
|
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
| 1.9 |
06-Jan-2008 |
matt |
branches: 1.9.6; 1.9.8; 1.9.10; Truly kill current_intr_depth once and for all.
|
|
Revision tags: nick-csl-alignment-base5 chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base chris-arm-intr-rework-base2 chris-arm-intr-rework-base jmcneill-pm-base nick-csl-alignment-base matt-mips64-base yamt-idlelwp-base8 ppcoea-renovation-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base
|
| 1.8 |
09-Mar-2007 |
thorpej |
branches: 1.8.8; 1.8.16; 1.8.20; 1.8.22; 1.8.28; 1.8.34; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.7 |
11-Dec-2005 |
christos |
branches: 1.7.26; merge ktrace-lwp.
|
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
| 1.6 |
31-May-2005 |
chs |
branches: 1.6.2; remove vestigal {,e}intr{names,cnt} symbols now that vmstat doesn't need them.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE 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-2-0-3-RELEASE 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 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-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-base
|
| 1.5 |
30-Oct-2003 |
scw |
Move the alignment fault enable/disable code into macroes to avoid needless duplication.
Additionally, merge AST handling into the same code.
exception.S and the generic irq_dispatch.S routines have been updated to use the macroes.
XXX: I have patches for the non-generic IRQ dispatch routines, but they need testing by someone with hardware.
|
| 1.4 |
26-Oct-2003 |
scw |
Assume that if curpcb is NULL, we're already running with alignment faults enabled.
|
| 1.3 |
25-Oct-2003 |
scw |
Oops, forgot to commit this along with the others...
Enable alignment faults on arm32 for both kernel and userland.
If COMPAT_15 and EXEC_AOUT are defined, support per-process alignment checking where AFLTs are always enabled when running kernel code and userland ELF binaries, and dynamically disabled/ enabled when switching to/from a.out binaries. This is necessary in order to execute older a.out binaries, where gcc made deliberate use of misaligned loads under certain circumstances.
|
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
| 1.2 |
03-Jan-2003 |
thorpej |
branches: 1.2.2; 1.2.4; Fiddle with current_intr_depth in assembly code again. Because we have just pushed a frame, we can make some assumptions that the compiler cannot as easily make, and can thus do it slightly more efficiently.
|
| 1.1 |
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.10 |
20-Jun-2020 |
skrll |
KNF
|
| 1.9 |
20-Jun-2020 |
skrll |
KNF #includes
Remove some unnecessary ones while I'm here.
|
| 1.8 |
20-Jun-2020 |
skrll |
Trailing whitespace
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 jym-xensuspend-base
|
| 1.7 |
18-Oct-2009 |
snj |
Move Matthias Pfaller's files to 2-clause license. OK matthias@.
|
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base
|
| 1.6 |
14-Mar-2009 |
dsl |
Change about 4500 of the K&R function definitions to ANSI ones. There are still about 1600 left, but they have ',' or /* ... */ in the actual variable definitions - which my awk script doesn't handle. There are also many that need () -> (void). (The script does handle misordered arguments.)
|
|
Revision tags: nick-hppapmap-base2 mjf-devfs2-base
|
| 1.5 |
11-Jan-2009 |
cegger |
branches: 1.5.2; adaption for making kgdb_dev a dev_t
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 netbsd-4-0-1-RELEASE wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-fixsa-newbase nick-csl-alignment-base5 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 bouyer-xeni386-merge1 matt-armv6-prevmlocking wrstuden-fixsa-base-1 chris-arm-intr-rework-base3 vmlocking2-base3 netbsd-4-0-RELEASE bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 netbsd-4-0-RC5 matt-nb4-arm-base matt-armv6-nbase jmcneill-base netbsd-4-0-RC4 mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base netbsd-4-0-RC3 yamt-x86pmap-base3 yamt-x86pmap-base2 netbsd-4-0-RC2 yamt-x86pmap-base netbsd-4-0-RC1 matt-armv6-base chris-arm-intr-rework-base2 chris-arm-intr-rework-base jmcneill-pm-base hpcarm-cleanup-base nick-csl-alignment-base matt-mips64-base yamt-idlelwp-base8 wrstuden-fixsa-base ppcoea-renovation-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.4 |
24-Dec-2005 |
perry |
branches: 1.4.76; 1.4.80; 1.4.88; 1.4.96; bare asm -> __asm
|
| 1.3 |
11-Dec-2005 |
christos |
merge ktrace-lwp.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 netbsd-2-0-3-RELEASE yamt-vop-base2 thorpej-vnode-attr-base netbsd-2-1-RELEASE yamt-vop-base netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-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-base ktrace-lwp-base
|
| 1.2 |
15-Jul-2003 |
lukem |
branches: 1.2.16; __KERNEL_RCSID()
|
| 1.1 |
28-Apr-2003 |
briggs |
branches: 1.1.2; Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base thorpej-ifq-base thorpej-altq-separation-base
|
| 1.16 |
28-Apr-2023 |
skrll |
Pass local symbols relocations in both passes and provide the kobj_reloc implementation visibility of these relocations.
Currently all implementations resolve local symbol relocations in the first pass and simply skip them in the second. The RISC-V implementation will make use of this visiblity.
|
|
Revision tags: netbsd-10-1-RELEASE 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 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.15 |
01-Dec-2020 |
rin |
Switch earmv6{,hf}eb to BE8 in kernel side.
My strategy here is to define _ARM_ARCH_BE8 macro in arm/cdefs.h, if __ARMEB__ && _ARM_ARCH_6.
Use this macro to determine whether system is compiled for and running on BE8 mode or not.
Note that, for __ARMEB__, some conditions become compile-time constants determined by _ARM_ARCH_BE8 macro, e.g., whether BE8 or BE32 are accepted as a userland binary, or unaligned memory access is possible or not.
|
| 1.14 |
20-Jun-2020 |
skrll |
branches: 1.14.2; KNF #includes
Remove some unnecessary ones while I'm here.
|
| 1.13 |
20-Jun-2020 |
skrll |
Trailing whitespace
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202
|
| 1.12 |
03-Nov-2017 |
maxv |
Handle absolute relocations coming from the kernel: preserve SHN_ABS in the kernel and module symbols, and when relocating a symbol that has SHN_ABS, take its value as-is and don't return an error if it equals zero.
Sent on tech-kern@.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.11 |
11-Jul-2016 |
martin |
kobj_machdep() is now called multiple times for the same module. Only do arm-BE8 symbol fixup when called for the text segment.
|
|
Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
|
| 1.10 |
07-Nov-2014 |
martin |
branches: 1.10.2; PR port-arm/49299: add support for BE8 byte swapped instructions.
|
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.9 |
27-Aug-2013 |
skrll |
branches: 1.9.4; Minor tidyup
|
| 1.8 |
27-Aug-2013 |
skrll |
Support R_ARM_REL32 and R_ARM_PREL31.
ok matt.
|
| 1.7 |
09-Aug-2013 |
matt |
Use cpu_idcache_wbinv_range so we don't nuke the entire idcache. Add a test to make sure we are only modifying movw/movt
|
| 1.6 |
09-Aug-2013 |
matt |
Fix addend manipulation
|
| 1.5 |
08-Aug-2013 |
matt |
Don't sync idcache/tlb when _RUMPKERNEL is defined.
|
| 1.4 |
07-Aug-2013 |
matt |
Add R_ARM_V4BX, R_ARM_MOVW_ABS_NC, R_ARM_MOVT_ABS Fix R_ARM_PC24 and match R_ARM_CALL and R_ARM_JUMP24
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jym-xensuspend-base
|
| 1.3 |
17-Aug-2009 |
dsl |
branches: 1.3.12; 1.3.22; 1.3.26; Add support for R_ARM_PC24 relocations and fix R_ARM_ABS32. Changes from PR/40309, but structure changed so there is a common error printf. Compiles ok, but my quick kernel build failed to find module_init_md().
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
| 1.2 |
28-Apr-2008 |
martin |
branches: 1.2.18; Remove clause 3 and 4 from TNF licenses
|
|
Revision tags: hpcarm-cleanup-base yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base mjf-devfs-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 bouyer-xeni386-base matt-armv6-base bouyer-xeni386-nbase matt-armv6-nbase
|
| 1.1 |
04-Jan-2008 |
ad |
branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10; 1.1.16; 1.1.18; 1.1.20; 1.1.22; Linker bits for arm.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
| 1.44 |
02-Apr-2022 |
skrll |
Update to support EFI runtime outside the kernel virtual address space by creating an EFI RT pmap that can be activated / deactivated when required.
Adds support for EFI RT to ARM_MMU_EXTENDED (ASID) 32-bit Arm machines.
On Arm64 the usage of pmapboot_enter is reduced and the mappings are created much later in the boot process -- now in cpu_startup_hook. Backward compatiblity for KVA mapped RT from old bootaa64.efi is maintained.
Adding support to other platforms should be easier as a result.
|
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.43 |
28-Aug-2020 |
skrll |
Some KASAN fixes and tweaks
- don't access BSS variables when __md_early - centralise the INIT_ARM_STACK_{SHIFT,SIZE} defines and create a new INIT_ARM_TOTAL_STACK - Only create L1PT entries in kasan_md_shadow_map_page if arm32_kernel_vm_init hasn't created the L2PTs (and their L1PT entries) - Add some comments to explain what's going on
|
| 1.42 |
28-Aug-2020 |
skrll |
Fix typo
|
| 1.41 |
08-Jul-2020 |
skrll |
Use the stack provided by armv6_start.S rather than svcstk. This saves some bss too.
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
|
| 1.40 |
14-Jul-2019 |
skrll |
Spell initarm correctly in comments
|
|
Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
|
| 1.39 |
18-Oct-2018 |
skrll |
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 tags: pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202
|
| 1.38 |
14-Oct-2017 |
skrll |
branches: 1.38.2; 1.38.4; Fix a comment
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
|
| 1.37 |
27-Aug-2014 |
matt |
Make the initial svcstack is doubleword aligned if EABI.
|
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.36 |
11-Apr-2014 |
matt |
branches: 1.36.2; whitespace cleanup
|
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
|
| 1.35 |
17-Dec-2013 |
joerg |
branches: 1.35.2; Write out register pairs for strd.
|
| 1.34 |
01-Dec-2013 |
joerg |
For load/store double, name the second register explicitly.
|
| 1.33 |
18-Aug-2013 |
matt |
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 tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
| 1.32 |
17-Jun-2013 |
matt |
branches: 1.32.2; If possible, use strd to clear .bss
|
|
Revision tags: agc-symver-base
|
| 1.31 |
27-Feb-2013 |
matt |
Don't include <machine/param.h> since we should be getting that stuff from "assym.h"
|
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
| 1.30 |
21-Nov-2012 |
matt |
Fix missing registers (don't make then implicit).
|
|
Revision tags: yamt-pagecache-base6
|
| 1.29 |
27-Sep-2012 |
matt |
Make sure SPSR[23:8] is set to a known valid value (taken from CPSR).
|
| 1.28 |
03-Sep-2012 |
matt |
branches: 1.28.2; Always cpu_info_store as the 3rd work unless TPIDRPRW_IS_CURLWP and then it needs to be lwp0. Fix IGEPV2 boot problem.
|
| 1.27 |
29-Aug-2012 |
matt |
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)]
|
| 1.26 |
16-Aug-2012 |
matt |
Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to <arm32/machdep.h> Move the extern for cpu_reset_address to the same file. Add cpu_reset_address_paddr. Kill cpu_reset_v4_MMU_disable. if cpu_reset_address is NULL, then the MMU will be disabled.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 rmind-uvmplock-base jym-xensuspend-base
|
| 1.25 |
19-Jun-2010 |
matt |
branches: 1.25.8; 1.25.16; Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base mjf-devfs2-base
|
| 1.24 |
07-Aug-2008 |
matt |
branches: 1.24.12; 1.24.14; 1.24.16; Use IF32_bits instead of I32_bit | F32_bit
|
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
| 1.23 |
27-Apr-2008 |
matt |
branches: 1.23.2; 1.23.6; Merge kernel changes in matt-armv6 to HEAD.
|
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
| 1.22 |
19-Jan-2008 |
chris |
branches: 1.22.6; 1.22.8; 1.22.10; Remove arm support for IPKDB.
It hasn't worked since arm was broken out from arm32 in Jan 2001, and no-one has noticed or cared to fix it.
|
| 1.21 |
13-Jan-2008 |
skrll |
Update a comment.
|
| 1.20 |
12-Jan-2008 |
skrll |
Push a switchframe in dumpsys and cpu_switchto, but as dumpsys calls other funcs a switchframe needs to be a multiple of 8 bytes. Stash sp as well in the switchframe to bump it to 24bytes.
Setup the switchframe appropriately in cpu_lwp_fork.
Remove savectx - nothing uses it.
All of this make gdb's life much easier when dealing with crash dumps and live kernels.
Reviewd by chris.
|
|
Revision tags: chris-arm-intr-rework-base3 matt-armv6-base
|
| 1.19 |
01-Jan-2008 |
chris |
Add support for kcore headers to arm32 kernel core dumps.
The kcore code is based on i386's kcore header handling.
Having an asm stub for dumpsys, to dump the registers onto the stack, and then call the C code to do the memory dump is based on amd64's core dump code.
This allows a successful core dump on cats.
Part of fixing PR cats/18026.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase nick-csl-alignment-base5 matt-armv6-prevmlocking wrstuden-fixsa-base-1 vmlocking2-base3 netbsd-4-0-RELEASE yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 netbsd-4-0-RC5 matt-nb4-arm-base jmcneill-base netbsd-4-0-RC4 bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base netbsd-4-0-RC3 yamt-x86pmap-base3 yamt-x86pmap-base2 netbsd-4-0-RC2 yamt-x86pmap-base netbsd-4-0-RC1 chris-arm-intr-rework-base2 chris-arm-intr-rework-base jmcneill-pm-base nick-csl-alignment-base matt-mips64-base yamt-idlelwp-base8 wrstuden-fixsa-base ppcoea-renovation-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.18 |
11-Dec-2005 |
christos |
branches: 1.18.46; 1.18.50; 1.18.52; 1.18.58; 1.18.60; 1.18.66; merge ktrace-lwp.
|
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
| 1.17 |
10-Oct-2005 |
pooka |
foreach NOTEACHED make the comment say NOTREACHED
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE 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 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
| 1.16 |
19-Nov-2004 |
skrll |
branches: 1.16.12; Fix syntax error from 1.9. I guess IPKDB isn't used very much...
|
|
Revision tags: netbsd-2-0-3-RELEASE 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-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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-base
|
| 1.15 |
13-Feb-2004 |
wiz |
Uppercase CPU, plural is CPUs.
|
| 1.14 |
20-Apr-2003 |
thorpej |
branches: 1.14.2; Reinstate one change from rev. 1.12, but differently. Preload r2 with 0 before frobbing the control register, and use r2 in the ARMv4 TLB flush.
|
| 1.13 |
20-Apr-2003 |
thorpej |
Back out previous. There were several problems with the patch that was checked in: * It was not actually disabling the MMU, and so jumping to the reset vector would happily cause a panic(), since it would be the kernel's reset vector, not the ROM's. * In the event the system was using high vectors, VECRELOC was not getting cleared, which has the potential to wreak havoc when re-entering the ROM. * It was totally broken for CPUs < ARMv4; you still need to disable the MMU on those, just need to skip the ARMv4 TLB flush. * The code that was checked in would only work if the kernel is mapped VA==PA. For systems where the kernel is NOT mapped VA==PA, you only get the prefetch depth # of insns (2) after the MMU is turned off before you have fix the PC.
Backing out the change fixes rebooting on several evbarm platforms.
|
| 1.12 |
26-Mar-2003 |
mycroft |
Fix multiple bugs in the way we do the v4 MMU disable -- it was blasting way too many bits (including some reserved ones) and was writing the wrong value for the TLB flush. Also, if the flag is off, don't write the control register!
|
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
| 1.11 |
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
| 1.10 |
15-Oct-2002 |
bsh |
branches: 1.10.2; fix a bug sneaked into cpu_reset() in "- . - 8 purge" (s/mov pc,lr/mov lr,pc/)
|
| 1.9 |
13-Oct-2002 |
bjh21 |
Instead of "add rd, pc, #foo - . - 8", use either "adr rd, foo" or (where appropriate) "mov lr, pc". This makes things slightly less confusing and ugly.
|
|
Revision tags: gehenna-devsw-base kqueue-base
|
| 1.8 |
17-Aug-2002 |
thorpej |
More local label fixups.
|
| 1.7 |
15-Aug-2002 |
briggs |
* Use local label names (.Lfoo vs. (Lfoo or foo)) * When moving from cpsr, use "cpsr" instead of "cpsr_all" (which is provided, but doesn't make sense since mrs doesn't support fields like msr does).
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
| 1.6 |
25-Apr-2002 |
thorpej |
branches: 1.6.2; Make a comment describe what the code actually does.
|
| 1.5 |
03-Apr-2002 |
thorpej |
Always provide kernel_text.
|
| 1.4 |
25-Mar-2002 |
thorpej |
* Clean up some comments/whitespace. * Don't construct a fake trap frame and pass it to main(); that hasn't been needed for some time. * panic if main() returns.
|
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
| 1.3 |
25-Jan-2002 |
thorpej |
Overhaul of the ARM cache code. This is mostly a simplification pass. Rather than providing a whole slew of cache operations that aren't ever used, distill them down to some useful primitives:
icache_sync_all Synchronize I-cache icache_sync_range Synchronize I-cache range
dcache_wbinv_all Write-back and Invalidate D-cache dcache_wbinv_range Write-back and Invalidate D-cache range dcache_inv_range Invalidate D-cache range dcache_wb_range Write-back D-cache range
idcache_wbinv_all Write-back and Invalidate D-cache, Invalidate I-cache idcache_wbinv_range Write-back and Invalidate D-cache, Invalidate I-cache range
Note: This does not yet include an overhaul of the actual asm files that implement the primitives. Instead, we've provided a safe default for each CPU type, and the individual CPU types can now be optimized one at a time.
|
| 1.2 |
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
|
Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
| 1.1 |
28-Jul-2001 |
chris |
branches: 1.1.2; 1.1.8; finish moving common arm32 bits out into arm/arm32.
|
|
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base yamt-pagecache-base9 yamt-pagecache-tag8 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base agc-symver-base tls-maxphys-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
| 1.32 |
12-Jun-2011 |
rmind |
Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base jym-xensuspend-base
|
| 1.31 |
08-Feb-2011 |
rmind |
branches: 1.31.2; Remove clause 3 (UCB advertising clause) from the University of Utah copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks! Also, merge UCB and Utah copyright texts back into one, as they originally were.
Extra verification by snj@.
|
|
Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6
|
| 1.30 |
12-Nov-2010 |
uebayasi |
branches: 1.30.2; 1.30.4; Put VM_PAGE_TO_MD() definition in one place. No functional changes.
|
|
Revision tags: uebayasi-xip-base5
|
| 1.29 |
06-Nov-2010 |
uebayasi |
Machine dependent code is considered as part of UVM. Include internal API header.
|
|
Revision tags: uebayasi-xip-base4
|
| 1.28 |
02-Nov-2010 |
uebayasi |
Fix build of evbarm.
|
| 1.27 |
30-Oct-2010 |
uebayasi |
Use VM_PAGE_TO_MD() to locate struct vm_page_md. No functional changes.
|
|
Revision tags: uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base 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 haad-dm-base2 haad-nbase2 ad-audiomp2-base nick-hppapmap-base haad-dm-base mjf-devfs2-base
|
| 1.26 |
19-Nov-2008 |
matt |
branches: 1.26.6; 1.26.8; Allocate /dev/mem's page in pmap_init. Mark /dev/mem as MPSAFE. Ansify.
|
| 1.25 |
18-Nov-2008 |
nonaka |
enable _DEV_ZERO_oARM case, when only COMPAT_16 defined.
|
| 1.24 |
15-Nov-2008 |
ad |
Remove compat ifdef.
|
| 1.23 |
04-Nov-2008 |
matt |
Just move the mutex ops into the DEV_MEM case.
|
| 1.22 |
04-Nov-2008 |
matt |
Use a mutex to control access DEV_MEM.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
| 1.21 |
07-Aug-2008 |
matt |
branches: 1.21.2; 1.21.8; Now that pmap allocates ncolors for memhook, use them to properly memory.
|
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 chris-arm-intr-rework-base3 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
| 1.20 |
01-Jan-2008 |
chris |
branches: 1.20.6; 1.20.10; 1.20.12; 1.20.16; Add support for kcore headers to arm32 kernel core dumps.
The kcore code is based on i386's kcore header handling.
Having an asm stub for dumpsys, to dump the registers onto the stack, and then call the C code to do the memory dump is based on amd64's core dump code.
This allows a successful core dump on cats.
Part of fixing PR cats/18026.
|
|
Revision tags: nick-csl-alignment-base5 matt-armv6-prevmlocking vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base chris-arm-intr-rework-base2 chris-arm-intr-rework-base jmcneill-pm-base nick-csl-alignment-base matt-mips64-base yamt-idlelwp-base8 ppcoea-renovation-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base
|
| 1.19 |
04-Mar-2007 |
christos |
branches: 1.19.16; 1.19.20; 1.19.22; 1.19.28; 1.19.34; fix caddr_t fallout.
|
| 1.18 |
04-Mar-2007 |
christos |
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
| 1.17 |
26-Dec-2006 |
elad |
branches: 1.17.2; Make machdep scope architecture-agnostic by removing all arch-specific requests and centralizing them all. The result is that some of these are not used on some architectures, but the documentation was updated to reflect that.
|
| 1.16 |
22-Dec-2006 |
elad |
Add requests indicating access to unmanaged memory for arm, pc532, powerpc, sh3, sh5, and vax, and use them instead of KAUTH_GENERIC_ISSUSER.
Update documentation and example secmodel code.
|
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
|
| 1.15 |
25-Jul-2006 |
elad |
branches: 1.15.4; 1.15.8; typo; from Arnaud Lacombe, thanks!
|
| 1.14 |
23-Jul-2006 |
ad |
Use the LWP cached credentials where sane.
|
|
Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base
|
| 1.13 |
14-May-2006 |
elad |
integrate kauth.
|
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5
|
| 1.12 |
11-Dec-2005 |
christos |
branches: 1.12.4; 1.12.6; 1.12.8; 1.12.10; 1.12.12; merge ktrace-lwp.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 netbsd-2-0-3-RELEASE yamt-vop-base2 thorpej-vnode-attr-base netbsd-2-1-RELEASE yamt-vop-base netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-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-base ktrace-lwp-base
|
| 1.11 |
16-Oct-2003 |
jdolecek |
branches: 1.11.16; switch ARM to use same minor for /dev/zero as other archs as discussed on tech-arm@
|
| 1.10 |
07-Aug-2003 |
agc |
Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
|
| 1.9 |
01-Apr-2003 |
thorpej |
branches: 1.9.2; Use PAGE_SIZE rather than NBPG.
|
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge bjh21-hydra-base
|
| 1.8 |
23-Oct-2002 |
jdolecek |
merge kqueue branch into -current
kqueue provides a stateful and efficient event notification framework currently supported events include socket, file, directory, fifo, pipe, tty and device changes, and monitoring of processes and signals
kqueue is supported by all writable filesystems in NetBSD tree (with exception of Coda) and all device drivers supporting poll(2)
based on work done by Jonathan Lemon for FreeBSD initial NetBSD port done by Luke Mewburn and Jason Thorpe
|
|
Revision tags: kqueue-beforemerge kqueue-base
|
| 1.7 |
06-Sep-2002 |
gehenna |
branches: 1.7.2; Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to dynamically generated by config(8).
- All device switches is defined as a constant structure in device drivers.
- The new grammer ``device-major'' is introduced to ``files''.
device-major <prefix> char <num> [block <num>] [<rules>]
- All device major numbers must be listed up in port dependent majors.<arch> by using this grammer.
- Added the new naming convention. The name of the device switch must be <prefix>_[bc]devsw for auto-generation of device switch tables.
- The backward compatibility of loading block/character device switch by LKM framework is broken. This is necessary to convert from block/character device major to device name in runtime and vice versa.
- The restriction to assign device major by LKM is completely removed. We don't need to reserve LKM entries for dynamic loading of device switch.
- In compile time, device major numbers list is packed into the kernel and the LKM framework will refer it to assign device major number dynamically.
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base
|
| 1.6 |
24-Mar-2002 |
thorpej |
branches: 1.6.2; * arm_byte_to_page() -> arm_btop() * arm_page_to_byte() -> arm_ptob()
|
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
| 1.5 |
27-Feb-2002 |
christos |
- Use DEV_ constants, instead of documenting the numbers! - Delete cdev_decl(mm); where appropriate, and other hand-crufting [hi powerpc!]
|
| 1.4 |
05-Jan-2002 |
chris |
include <arm/conf.h> for prototypes. Correct args to mmopen and mmclose. Add RCSID line.
|
| 1.3 |
05-Jan-2002 |
chris |
Update mem device to bring it into line with a change in version 1.32 of i386/mem.c. Appears that we may move uio twice. Original i386 log message: Optimize the case of writing to /dev/zero, and clean up the surrounding code a bit. Partly suggested by gwr.
I think this needs to be applied to arm26 as well.
|
|
Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf
|
| 1.2 |
10-Sep-2001 |
chris |
branches: 1.2.4; Update pmap_update to now take the updated pmap as an argument. This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.
Currently this is a no-op on most platforms, so they should see no difference.
Reviewed by Jason.
|
|
Revision tags: thorpej-devvp-base
|
| 1.1 |
28-Jul-2001 |
chris |
branches: 1.1.2; 1.1.4; Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.11 |
20-Jun-2020 |
skrll |
KNF #includes
Remove some unnecessary ones while I'm here.
|
| 1.10 |
20-Jun-2020 |
skrll |
Trailing whitespace
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
|
| 1.9 |
13-Nov-2019 |
pgoyette |
Clean-up unnecessary inclusions of opt_coredump.h
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
| 1.8 |
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
| 1.7 |
26-Nov-2015 |
martin |
branches: 1.7.16; 1.7.18; We never exec(2) with a kernel vmspace, so do not test for that, but instead KASSERT() that we don't. When calculating the load address for the interpreter (e.g. ld.elf_so), we need to take into account wether the exec'd process will run with topdown memory or bottom up. We can not use the current vmspace's flags to test for that, as this happens too early. Luckily the execpack already knows what the new state will be later, so instead of testing the current vmspace, pass the info as additional argument to struct emul e_vm_default_addr. Fix all such functions and adopt all callers.
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.6 |
05-May-2014 |
skrll |
branches: 1.6.4; Fill in netbsd32_vm_default_addr, and provide
- compat_13_netbsd32_sigreturn, and - compat_16_netbsd32___sigreturn14
|
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
|
| 1.5 |
28-Jan-2014 |
martin |
branches: 1.5.2; 1.5.4; Simplify netbsd32_vm_default_addr (for now) to make it compilable.
|
| 1.4 |
26-Jan-2014 |
christos |
whitespace
|
| 1.3 |
25-Jan-2014 |
christos |
use the topdown hint.
|
| 1.2 |
01-Jan-2014 |
dsl |
Change the type of the 'cookie' that holds the state of the core dump file from 'void *' to the actual type 'struct coredump_iostate *'. In most of the code the contents of the structure are still unknown. This just stops the wrong type of pointer being passed to the 'void *' parameter. I hope I've found everything, amd64 GENERIC and i386 GENERIC & ALL compile.
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 matt-nb6-plus-base matt-nb6-plus-nbase yamt-pagecache-base6
|
| 1.1 |
03-Aug-2012 |
matt |
branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.5 |
20-Jun-2020 |
skrll |
KNF #includes
Remove some unnecessary ones while I'm here.
|
| 1.4 |
20-Jun-2020 |
skrll |
Trailing whitespace
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
|
| 1.3 |
13-Nov-2019 |
pgoyette |
Clean-up unnecessary inclusions of opt_coredump.h
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
| 1.2 |
27-Jan-2019 |
pgoyette |
branches: 1.2.4; Merge the [pgoyette-compat] branch
|
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
|
| 1.1 |
27-Sep-2018 |
pgoyette |
branches: 1.1.2; file netbsd32_machdep_13.c was initially added on branch pgoyette-compat.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.5 |
20-Jun-2020 |
skrll |
KNF #includes
Remove some unnecessary ones while I'm here.
|
| 1.4 |
20-Jun-2020 |
skrll |
Trailing whitespace
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
|
| 1.3 |
13-Nov-2019 |
pgoyette |
Clean-up unnecessary inclusions of opt_coredump.h
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
| 1.2 |
27-Jan-2019 |
pgoyette |
branches: 1.2.4; Merge the [pgoyette-compat] branch
|
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
|
| 1.1 |
27-Sep-2018 |
pgoyette |
branches: 1.1.2; file netbsd32_machdep_16.c was initially added on branch pgoyette-compat.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.443 |
13-Apr-2024 |
skrll |
port-arm/58135: reproducible pmap KASSERT failure for armv7 with NFS root
Don't unconditionally set XN in pmap_clearbit - only set it if a mapping exists VM_PROT_EXEC is being cleared.
I've simplified the #ifdefs in the patch from the PR.
|
| 1.442 |
13-Apr-2024 |
skrll |
Restore a space I accidentally removed from a copyright with
$NetBSD: pmap.c,v 1.396 2020/03/13 16:14:18 skrll Exp $
|
| 1.441 |
13-Dec-2023 |
rin |
arm: pmap: Fix clang build without DIAGNOSTIC
|
|
Revision tags: thorpej-ifq-base thorpej-altq-separation-base
|
| 1.440 |
12-Oct-2023 |
skrll |
Fix non-DIAGNOSTIC builds
|
| 1.439 |
20-Apr-2023 |
skrll |
Provide a shared pmap_devmap implementation and convert all pmap_devmap arrays to use DEVMAP_ENTRY{,_END}
|
| 1.438 |
18-Dec-2022 |
skrll |
Appease KDASSERT / LOCKDEBUG.
Tested by mlelstv.
|
|
Revision tags: netbsd-10-base bouyer-sunxi-drm-base
|
| 1.437 |
03-May-2022 |
skrll |
branches: 1.437.4; Catch up with aarch64 TTBR0 handling in pmap_{,de}activate_efirt and kpreempt_{en,dis}able.
|
| 1.436 |
09-Apr-2022 |
riastradh |
sys: Use membar_release/acquire around reference drop.
This just goes through my recent reference count membar audit and changes membar_exit to membar_release and membar_enter to membar_acquire -- this should make everything cheaper on most CPUs without hurting correctness, because membar_acquire is generally cheaper than membar_enter.
|
| 1.435 |
02-Apr-2022 |
skrll |
Update to support EFI runtime outside the kernel virtual address space by creating an EFI RT pmap that can be activated / deactivated when required.
Adds support for EFI RT to ARM_MMU_EXTENDED (ASID) 32-bit Arm machines.
On Arm64 the usage of pmapboot_enter is reduced and the mappings are created much later in the boot process -- now in cpu_startup_hook. Backward compatiblity for KVA mapped RT from old bootaa64.efi is maintained.
Adding support to other platforms should be easier as a result.
|
| 1.434 |
19-Mar-2022 |
skrll |
Alight code re-organisation so it better matches the VPRINTF headings it is under. NFCI.
|
| 1.433 |
12-Mar-2022 |
riastradh |
sys: Membar audit around reference count releases.
If two threads are using an object that is freed when the reference count goes to zero, we need to ensure that all memory operations related to the object happen before freeing the object.
Using an atomic_dec_uint_nv(&refcnt) == 0 ensures that only one thread takes responsibility for freeing, but it's not enough to ensure that the other thread's memory operations happen before the freeing.
Consider:
Thread A Thread B obj->foo = 42; obj->baz = 73; mumble(&obj->bar); grumble(&obj->quux); /* membar_exit(); */ /* membar_exit(); */ atomic_dec -- not last atomic_dec -- last /* membar_enter(); */ KASSERT(invariant(obj->foo, obj->bar)); free_stuff(obj);
The memory barriers ensure that
obj->foo = 42; mumble(&obj->bar);
in thread A happens before
KASSERT(invariant(obj->foo, obj->bar)); free_stuff(obj);
in thread B. Without them, this ordering is not guaranteed.
So in general it is necessary to do
membar_exit(); if (atomic_dec_uint_nv(&obj->refcnt) != 0) return; membar_enter();
to release a reference, for the `last one out hit the lights' style of reference counting. (This is in contrast to the style where one thread blocks new references and then waits under a lock for existing ones to drain with a condvar -- no membar needed thanks to mutex(9).)
I searched for atomic_dec to find all these. Obviously we ought to have a better abstraction for this because there's so much copypasta. This is a stop-gap measure to fix actual bugs until we have that. It would be nice if an abstraction could gracefully handle the different styles of reference counting in use -- some years ago I drafted an API for this, but making it cover everything got a little out of hand (particularly with struct vnode::v_usecount) and I ended up setting it aside to work on psref/localcount instead for better scalability.
I got bored of adding #ifdef __HAVE_ATOMIC_AS_MEMBAR everywhere, so I only put it on things that look performance-critical on 5sec review. We should really adopt membar_enter_preatomic/membar_exit_postatomic or something (except they are applicable only to atomic r/m/w, not to atomic_load/store_*, making the naming annoying) and get rid of all the ifdefs.
|
| 1.432 |
02-Jan-2022 |
riastradh |
arm: Remove #ifdef DIAGNOSTIC now wrong after KASSERT change.
Objects in question aren't volatile here so access is flushable.
|
| 1.431 |
01-Jan-2022 |
christos |
KASSERT now always uses the expression, so don't protect with DIAGNOSTIC
|
| 1.430 |
26-Aug-2021 |
skrll |
Improve a comment
|
| 1.429 |
24-Aug-2021 |
skrll |
Remove '\n' from UVMHIST format
|
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.428 |
23-Mar-2021 |
skrll |
Another missing kpreempt_enable
|
| 1.427 |
23-Mar-2021 |
skrll |
Re-enable kpreemption in an error path. Spotted by nat@
|
| 1.426 |
14-Mar-2021 |
skrll |
branches: 1.426.2; Sprinkle kpreempt_{dis,en}able ready for when preemption gets turned on.
|
| 1.425 |
01-Feb-2021 |
skrll |
"as appropos" -> "as appropriate" in comments
|
| 1.424 |
29-Jan-2021 |
skrll |
More debug
|
| 1.423 |
24-Jan-2021 |
skrll |
More debug
|
| 1.422 |
30-Oct-2020 |
skrll |
branches: 1.422.2; Retire arm_[di]sb in favour of the isb() and dsb(sy) macro invocations.
|
| 1.421 |
12-Aug-2020 |
skrll |
Whack-a-mole
|
| 1.420 |
11-Aug-2020 |
skrll |
s/pmaphist/maphist/
|
| 1.419 |
10-Aug-2020 |
skrll |
More UVMHIST_LOG and a new KASSERT
|
| 1.418 |
10-Aug-2020 |
skrll |
In pmag_page_remove initilise pvp after taking the page lock
|
| 1.417 |
10-Jul-2020 |
skrll |
Add support for KASAN on ARMv[67]
Thanks to maxv for many pointers and reviews.
|
| 1.416 |
03-Jul-2020 |
skrll |
1 page is enough for memhook now since the merge of the rmind-uvmplock branch and the removal of sys/arch/arm/arm32/mem.c
The last users of memhook don't care about number of CPUs or page colours.
|
| 1.415 |
21-Jun-2020 |
skrll |
Use howmany(). NFCI.
|
| 1.414 |
27-May-2020 |
skrll |
KNF
|
| 1.413 |
27-May-2020 |
skrll |
Remove duplicate #include
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421
|
| 1.412 |
21-Apr-2020 |
skrll |
There is no fast spoon^Wfast path in pmap_clearbit.
PR port-arm/55186: tests crash arm pmap
Tested by martin@
|
|
Revision tags: bouyer-xenpvh-base1
|
| 1.411 |
19-Apr-2020 |
ad |
PR port-arm/55186: tests crash arm pmap
pmap_clearbit(): take execbits into account in the fastpath.
|
| 1.410 |
19-Apr-2020 |
kre |
Give UVMHIST_LOG() the 6 args it requires. Unbreak builds.
|
| 1.409 |
19-Apr-2020 |
skrll |
Fix typo in UVMHIST_LOG
|
| 1.408 |
18-Apr-2020 |
skrll |
Remove PMAP_DEBUG by converting to UVMHIST
|
| 1.407 |
17-Apr-2020 |
skrll |
Fix build after PV locking change
|
| 1.406 |
17-Apr-2020 |
skrll |
Use UVMHIST_CALLARGS
|
| 1.405 |
16-Apr-2020 |
ad |
With the right timing, V->P operations could change stuff behind the back of callers working in the opposite direction - fix it. Tested by skrll@.
|
| 1.404 |
14-Apr-2020 |
skrll |
Fix a comment. From ad@
|
| 1.403 |
13-Apr-2020 |
chs |
slightly change and fix the semantics of pool_set*wat(), pool_sethardlimit() and pool_prime() (and their pool_cache_* counterparts):
- the pool_set*wat() APIs are supposed to specify thresholds for the count of free items in the pool before pool pages are automatically allocated or freed during pool_get() / pool_put(), whereas pool_sethardlimit() and pool_prime() are supposed to specify minimum and maximum numbers of total items in the pool (both free and allocated). these were somewhat conflated in the existing code, so separate them as they were intended.
- change pool_prime() to take an absolute number of items to preallocate rather than an increment over whatever was done before, and wait for any memory allocations to succeed. since pool_prime() can no longer fail after this, change its return value to void and adjust all callers.
- pool_setlowat() is documented as not immediately attempting to allocate any memory, but it was changed some time ago to immediately try to allocate up to the lowat level, so just fix the manpage to describe the current behaviour.
- add a pool_cache_prime() to complete the API set.
|
|
Revision tags: phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
|
| 1.402 |
29-Mar-2020 |
skrll |
branches: 1.402.2; PTE_SYNC before TLB flush and no need to PTE_SYNC after an unmap.
|
| 1.401 |
29-Mar-2020 |
skrll |
Support PMAP_FAULTINFO on arm
|
| 1.400 |
23-Mar-2020 |
skrll |
Reduce #ifdefs
|
| 1.399 |
14-Mar-2020 |
ad |
pmap_remove_all(): Return a boolean value to indicate the behaviour. If true, all mappings have been removed, the pmap is totally cleared out, and UVM can then avoid doing the work to call pmap_remove() for each map entry. If false, either nothing has been done, or some helpful arch-specific voodoo has taken place.
|
| 1.398 |
13-Mar-2020 |
skrll |
Enhance the DIAGNOSTICs around pmap_grow_map
|
| 1.397 |
13-Mar-2020 |
skrll |
Re-indent a function call. NFCI.
|
| 1.396 |
13-Mar-2020 |
skrll |
Oops... remove a stray <space>
|
| 1.395 |
13-Mar-2020 |
skrll |
Fixup some comments
|
|
Revision tags: is-mlppp-base ad-namecache-base3
|
| 1.394 |
24-Feb-2020 |
ad |
Adjust for UVM locking changes
|
| 1.393 |
23-Feb-2020 |
skrll |
type in comment
|
| 1.392 |
12-Feb-2020 |
skrll |
Convert the DEBUG code in pmap_grow_map to DIAGNOSTIC
|
| 1.391 |
12-Feb-2020 |
skrll |
Add a CTASSERT to pmap_grow_l2_bucket that PAGE_SIZE is a multiple of L2_TABLE_SIZE_REAL.
|
| 1.390 |
12-Feb-2020 |
skrll |
Add a KASERT that we're not overwriting anything in pmap_growkernel
|
| 1.389 |
12-Feb-2020 |
skrll |
Minor changes to make pmap_grow_l2_bucket look more like pmap_alloc_l2_bucket. NFCI.
|
| 1.388 |
05-Feb-2020 |
skrll |
Fix the armv[67] memory attributes for uncached memory. Previously it was mapped as strongly-ordered which meant that unaligned accesses would fault.
armv7_generic_bs_map now maps pages with PMAP_DEV which is treated as SO
bus_dma continues to use PMAP_NOCACHE as appropriate, but this now get mapped to the correct memory attribute bits for armv[67]
DEVMAP_ENTRY usees a new flag PTE_DEV.
The workaround for the unaligned access faults is now removed.
XXX Other armv[67] boards bus_space implementations should be checked. XXX There is scope to reduce the difference to aarch64
|
| 1.387 |
02-Feb-2020 |
skrll |
More KNF
|
| 1.386 |
02-Feb-2020 |
skrll |
Always call pmap_grow_map with a page aligned new VA. KASSERT that this happenes.
|
| 1.385 |
02-Feb-2020 |
skrll |
Always pmap_kenter_pa the page in pmap_grow_map regardless of how we got it.
|
| 1.384 |
02-Feb-2020 |
skrll |
KNF
|
| 1.383 |
02-Feb-2020 |
skrll |
Fix comment
|
|
Revision tags: ad-namecache-base2
|
| 1.382 |
25-Jan-2020 |
skrll |
A fix and an optimisation to pmap_l1tt_free - in the !__HAVE_MM_MD_DIRECT_MAPPED_PHYS case pass UVM_KMF_WIRED so that the mappings are removed and the KVA is released. Fixes the KASSERT seen in the automated test runs. - in the __HAVE_MM_MD_DIRECT_MAPPED_PHYS case we can work out pa much easier than caling pmap_extract.
|
| 1.381 |
19-Jan-2020 |
skrll |
Fix non-ARM_MMU_EXTENDED buildx
|
| 1.380 |
18-Jan-2020 |
skrll |
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.
|
| 1.379 |
18-Jan-2020 |
skrll |
Trailing whitespace
|
|
Revision tags: ad-namecache-base1
|
| 1.378 |
17-Jan-2020 |
skrll |
Fix a bug introduced in 1.271 where pmap_grow_map would no longer map the allocated page for the uvm.page_init_done == false case when PMAP_STEAL_MEMORY is not defined.
|
| 1.377 |
17-Jan-2020 |
skrll |
Typo in comment
|
| 1.376 |
17-Jan-2020 |
skrll |
Update PMAP_STEAL_MEMORY code to uvm_hotplug
|
|
Revision tags: ad-namecache-base
|
| 1.375 |
31-Dec-2019 |
skrll |
branches: 1.375.2; Improve a comment
|
|
Revision tags: phil-wifi-20191119
|
| 1.374 |
25-Sep-2019 |
skrll |
Convert a __CTASSERT into a KASSERT as L1_S_CACHE_MASK may not be a compile time constant if ARM_NMMUS > 1
|
|
Revision tags: netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609
|
| 1.373 |
23-Apr-2019 |
bouyer |
branches: 1.373.2; Fix a deadlock between the pool and pmap codes: - cpu0 grabs the kernel lock (e.g. from a non-MPSAFE interrupt) and calls pool_get(). - cpu1 does a pool_get() on the same pool from MPSAFE code, which needs a pool_page_alloc(), which ends up in pmap_extract_coherency().
So cpu0 holds the kernel_lock and wants the pool lock. cpu1 holds the pool lock and wants the kernel_lock in pmap_extract_coherency().
The pmap code should not rely on kernel_lock. Intead make the pmap_kernel()->pm_obj_lock a IPL_VM lock and use it as pmap lock (thus dropping the pmap test pmap_{acquire,release}_pmap_lock()). This needs to be a IPL_VM because unlike user pmaps, this can be locked from interrupt context.
Add a IPL_NONE lock for pmap_growkernel(). We can't use pmap_kernel()->pm_obj_lock here because pmap_grow_map() may sleep.
Make pmap_lock (which may be locked with pm_obj_lock held) a IPL_VM lock in all case.
reorder a few things to not call pool_get()/pool_put() (which may sleep) with pm_obj_lock held.
Patch initially posted to port-arm@ on April 19, improved patch (per suggestions from Nick Hudson and Jason Thorpe) on April 21.
|
| 1.372 |
23-Apr-2019 |
bouyer |
Don't try to aquire/release the pmap lock when in ddb. Avoids a deadlock when entering ddb, or on "mach cpu n" ddb command (the pmap lock may already be held by another CPU, which is halted when entering ddb). Posted to port-arm@ on April 19.
|
|
Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126
|
| 1.371 |
28-Oct-2018 |
skrll |
Fix the comment near pmap_bootstrap itself as well
|
|
Revision tags: pgoyette-compat-1020
|
| 1.370 |
18-Oct-2018 |
skrll |
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
|
| 1.369 |
14-Oct-2018 |
skrll |
Use __nothing
|
|
Revision tags: pgoyette-compat-0930 pgoyette-compat-0906
|
| 1.368 |
03-Sep-2018 |
riastradh |
Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
| 1.367 |
28-Aug-2018 |
skrll |
Fix arguments to align and align_offset for pmap_l2ptp_cache, i.e.align is now L2_TABLE_SIZE_REAL and align_offset is now 0. (There were reversed previously)
|
| 1.366 |
31-Jul-2018 |
skrll |
Define and use VPRINTF
|
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
|
| 1.365 |
01-Apr-2018 |
ryo |
branches: 1.365.2; 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 tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
| 1.364 |
22-Jan-2018 |
skrll |
branches: 1.364.2; Add PMAP_WRITE_COMBINE: to the list of flags supported by pmap_kenter_pa
|
| 1.363 |
22-Jan-2018 |
skrll |
Trailing whitespace
|
| 1.362 |
17-Jan-2018 |
skrll |
G/C ARM32_NEW_VM_LAYOUT
|
|
Revision tags: tls-maxphys-base-20171202
|
| 1.361 |
01-Nov-2017 |
skrll |
Unwrap two lines. NFC.
|
| 1.360 |
01-Nov-2017 |
skrll |
Fix a comment
|
| 1.359 |
28-Oct-2017 |
pgoyette |
Update the kernhist(9) kernel history code to address issues identified in PR kern/52639, as well as some general cleaning-up...
(As proposed on tech-kern@ with additional changes and enhancements.)
Details of changes:
* All history arguments are now stored as uintmax_t values[1], both in the kernel and in the structures used for exporting the history data to userland via sysctl(9). This avoids problems on some architectures where passing a 64-bit (or larger) value to printf(3) can cause it to process the value as multiple arguments. (This can be particularly problematic when printf()'s format string is not a literal, since in that case the compiler cannot know how large each argument should be.)
* Update the data structures used for exporting kernel history data to include a version number as well as the length of history arguments.
* All [2] existing users of kernhist(9) have had their format strings updated. Each format specifier now includes an explicit length modifier 'j' to refer to numeric values of the size of uintmax_t.
* All [2] existing users of kernhist(9) have had their format strings updated to replace uses of "%p" with "%#jx", and the pointer arguments are now cast to (uintptr_t) before being subsequently cast to (uintmax_t). This is needed to avoid compiler warnings about casting "pointer to integer of a different size."
* All [2] existing users of kernhist(9) have had instances of "%s" or "%c" format strings replaced with numeric formats; several instances of mis-match between format string and argument list have been fixed.
* vmstat(1) has been modified to handle the new size of arguments in the history data as exported by sysctl(9).
* vmstat(1) now provides a warning message if the history requested with the -u option does not exist (previously, this condition was silently ignored, with only a single blank line being printed).
* vmstat(1) now checks the version and argument length included in the data exported via sysctl(9) and exits if they do not match the values with which vmstat was built.
* The kernhist(9) man-page has been updated to note the additional requirements imposed on the format strings, along with several other minor changes and enhancements.
[1] It would have been possible to use an explicit length (for example, uint64_t) for the history arguments. But that would require another "rototill" of all the users in the future when we add support for an architecture that supports a larger size. Also, the printf(3) format specifiers for explicitly-sized values, such as "%"PRIu64, are much more verbose (and less aesthetically appealing, IMHO) than simply using "%ju".
[2] I've tried very hard to find "all [the] existing users of kernhist(9)" but it is possible that I've missed some of them. I would be glad to update any stragglers that anyone identifies.
|
| 1.358 |
08-Oct-2017 |
flxd |
Revert attempt at tracking unmanaged mappings for VIVT as it was incomplete and buggy. PR port-shark/52102 From skrll@. Tested by martin@ and me.
|
| 1.357 |
06-Sep-2017 |
skrll |
Remove useless KASSERT - we can't assert !mutex_owned()
|
| 1.356 |
02-Sep-2017 |
skrll |
Perform tracking of unmanaged mappings for VIVT and call vac_me_harder as appropriate.
PR/52102 shark: ffs_newvnode panic when unpacking sets installing -current
Thanks to Felix Deichmann for bisecting the problem and testing the fix.
|
| 1.355 |
02-Sep-2017 |
skrll |
KNF
|
| 1.354 |
02-Sep-2017 |
skrll |
Remove an #ifdef PMAP_CACHE_VIVT that's inside #ifdef PMAP_CACHE_VIVT already
|
|
Revision tags: nick-nhusb-base-20170825
|
| 1.353 |
24-Aug-2017 |
jmcneill |
Do runtime detection of MP extensions to allow using a MULTIPROCESSOR kernel on CPUs without the MP extensions feature (like Cortex-A8).
|
| 1.352 |
27-Jul-2017 |
skrll |
Macro confusion - fortunately this has no functional change.
|
| 1.351 |
27-Jul-2017 |
skrll |
Remove redundant test - the compiler realised anyway as we get same binary output
|
|
Revision tags: perseant-stdc-iso10646-base
|
| 1.350 |
10-Jul-2017 |
skrll |
No need for '\n' in UVMHIST_LOG
|
|
Revision tags: netbsd-8-base
|
| 1.349 |
24-May-2017 |
skrll |
branches: 1.349.2; Check the "Havard TLB" maintenance operations if the "Unified TLB" maintenance opeations don't include invalidate by ASID. Some CPUs, e.g. Cortex-A8, have Havard TLBs and report ASID operations this way.
|
| 1.348 |
24-May-2017 |
skrll |
Move closer to the common pmap by using the same pmap_remove_all optimisation where TLB flushes are avoided by clever ASID assignment.
pmap_remove_all_complete can now be removed.
|
| 1.347 |
22-May-2017 |
skrll |
Indent comment to match code it's describing
|
| 1.346 |
21-May-2017 |
skrll |
KNF
|
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
| 1.345 |
17-Apr-2017 |
skrll |
Perform icache syncs for ARM_MMU_EXTENDED as well. This helps the PT_STEP code in pr/52119 and probably other things.
|
|
Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
|
| 1.344 |
25-Feb-2017 |
christos |
fix unused.
|
| 1.343 |
23-Feb-2017 |
skrll |
Fixup the compile time decisions around PMAP_{INCLUDE,NEEDS}_PTE_SYNC and fix the options for xscale boards which require the code in pmap_l2ptp_ctor marked as #ifndef PMAP_INCLUDE_PTE_SYNC.
Fix the typo (pte -> opte) in this code block and consistently use opte elsewhere.
PR/51990: Regression data_abort_handler: data_aborts fsr=0x406 far=0xbfffeff5 on copyout in init
|
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107
|
| 1.342 |
23-Dec-2016 |
cherry |
branches: 1.342.2; "Make NetBSD great again!"
Introduce uvm_hotplug(9) to the kernel.
Many thanks, in no particular order to:
TNF, for funding the project.
Chuck Silvers - for multiple API reviews and feedback. Nick Hudson - for testing on multiple architectures and bugfix patches. Everyone who helped with boot testing.
KeK (http://www.kek.org.in) for hosting the primary developers.
|
| 1.341 |
17-Dec-2016 |
flxd |
Fix typo "one the" and architecture where appropriate.
|
|
Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806
|
| 1.340 |
04-Aug-2016 |
skrll |
provide and use 'ci' in pmap_remove_all_complete.
|
| 1.339 |
03-Aug-2016 |
skrll |
Don't touch pm_onproc at all in pmap_{update,destroy} and adjust KASSERT to suit.
Update to cover the PMAP_TLB_MAX > 1 case as well while I'm here.
|
| 1.338 |
01-Aug-2016 |
skrll |
pm_remove_all needs handling in pmap_destroy as well as pmap_update
|
| 1.337 |
29-Jul-2016 |
skrll |
more debug
|
| 1.336 |
29-Jul-2016 |
skrll |
Simplify ARM_MMU_EXTENDED #ifdefs
No functional change
|
|
Revision tags: pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.335 |
14-Jul-2016 |
skrll |
branches: 1.335.2; Adapt this to the recent sys/uvm/pmap/pmap_tlb.c changes. MP kernels now don't trigger KASSERTs
|
| 1.334 |
14-Jul-2016 |
skrll |
Spell PMAP_TLB_NEED_SHOOTDOWN correctly
|
| 1.333 |
12-Jul-2016 |
skrll |
Fix harmless (?) typo
|
|
Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
| 1.332 |
14-Dec-2015 |
skrll |
Delete pmap_pmaps and its only user pmap_dump_all. The list wasn't being updated in an MP-safe manner.
|
| 1.331 |
25-Nov-2015 |
skrll |
In the ARM_MMU_EXTENDED case make sure the kernel mappings are marked with XN (eXecute Never) appropriately.
The XN logic is inconsistent and could do with changing to XN always set and cleared for VM_PROT_EXECUTE (or the inverse) everywhere.
|
| 1.330 |
13-Nov-2015 |
skrll |
Tweak the KASSERTs in pmap_update in the ARM_MMU_EXTENDED case - Lazy updating is not done on the kernel pmap.
PR port-arm/50420: curcpu()->ci_pmap_cur != pm || pm->pm_pai[0].pai_asid == curcpu()->ci_pmap_asid_cur" failed
|
| 1.329 |
13-Nov-2015 |
skrll |
Wrap long lines.
|
| 1.328 |
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
| 1.327 |
06-Nov-2015 |
skrll |
Trailing whitespace
|
|
Revision tags: nick-nhusb-base-20150921
|
| 1.326 |
26-Jul-2015 |
matt |
KASSERT->KASSERTMSG
|
| 1.325 |
09-Jun-2015 |
skrll |
Use armreg_auxctl_{read,write} instead of inline asm.
No functional change.
|
|
Revision tags: nick-nhusb-base-20150606
|
| 1.324 |
01-Jun-2015 |
matt |
pmap_directbase is a failed experiment, nuke it.
|
| 1.323 |
30-May-2015 |
matt |
Support directmapped systems with >1GB that start memory at 0x80000000.
|
| 1.322 |
13-May-2015 |
skrll |
Use PDE_SYNC when syncing pdeps
|
| 1.321 |
11-May-2015 |
matt |
Make sure nptes is a multiple of PAGE_SIZE / L2_S_SIZE.
|
| 1.320 |
13-Apr-2015 |
matt |
Add pmap locking to pmap_kenter_pa/kremove
|
| 1.319 |
11-Apr-2015 |
skrll |
#include "opt_arm_debug.h" for VERBOSE_INIT_ARM
|
| 1.318 |
07-Apr-2015 |
matt |
Fix two bugs. pmap_is_cached fix for MULTIPROCESSOR (not just ASID on local cpu -> any valid ASID on any cpu). pmap_deactivate: update curcpu()->ci_pmap_cur_asid to KERNEL_PID too.
|
|
Revision tags: nick-nhusb-base-20150406
|
| 1.317 |
25-Feb-2015 |
joerg |
Improve inline asm around dsb/dmb/isb: - always use volatile and mark them as memory barrier - use the common version from locore.h in all places not included from userland
|
|
Revision tags: nick-nhusb-base
|
| 1.316 |
10-Nov-2014 |
skrll |
branches: 1.316.2; Update PTE_SYNC_CURRENT to add a dsb for armv7 - part of the break-before-make fix.
|
| 1.315 |
10-Nov-2014 |
skrll |
Remove an XXXNH comment.
|
| 1.314 |
10-Nov-2014 |
skrll |
Remove an unnecessary flush that sneaked in as part of break-before-make change.
|
| 1.313 |
10-Nov-2014 |
skrll |
In pmap_fault_fixup re-instate the TLB flush for the shared L1 case that occurs for non-ARM_MMU_EXTENDED kernels.
This fixes rump/rumpkern/t_sp:stress_killer on rpi which is currently non-ARM_MMU_EXTENDED
|
| 1.312 |
08-Nov-2014 |
matt |
When allocing a l1page, if a page isn't available, use uvm_wait to wait for one to become available. Should fix PR/49364.
|
| 1.311 |
07-Nov-2014 |
skrll |
The fixup debug message can report false positives on MULTIPROCESSOR, so disable them there.
|
| 1.310 |
07-Nov-2014 |
skrll |
In pmap_enter only flush the TLB if really necessary
|
| 1.309 |
05-Nov-2014 |
skrll |
Fix typo in comment
|
| 1.308 |
04-Nov-2014 |
matt |
pmap_tlb_flushD is for !ARM_MMU_EXTENDED only now
|
| 1.307 |
29-Oct-2014 |
skrll |
Apply a bunch of break-before-make, i.e. set PTEs to zero, flush the TLB (across all CPUs) and set new PTE value. Mostly from matt@ with some updates from me.
Flush the branch predictor in pmap_update.
|
| 1.306 |
29-Oct-2014 |
skrll |
In pmap_deactivate don't set TTBR with the ASID of the deactivated LWP - use KERNEL_PID instead.
This is probably a no-op as TTBCR_S_PD0 should (still) be set at the time of the call to cpu_setttb.
|
| 1.305 |
25-Oct-2014 |
skrll |
Remove katelib.h and references to it.
{Read,Write}{Word,Byte} macros are provided in the files that still use them. Someone(tm) should convert them to bus_space(9)
|
| 1.304 |
20-Oct-2014 |
skrll |
Reduce code a little. Reviewed by gimpy.
|
| 1.303 |
14-Oct-2014 |
skrll |
Typo in comment
|
| 1.302 |
23-Sep-2014 |
matt |
Use right conditional for checking nG.
|
| 1.301 |
23-Sep-2014 |
nonaka |
nG bit exists only in ARMv6 and above.
|
| 1.300 |
21-Sep-2014 |
christos |
remove dead code
|
| 1.299 |
05-Sep-2014 |
matt |
Don't nest structure definitions.
|
| 1.298 |
30-Aug-2014 |
kiyohara |
It expects return value 'va != NULL' from uvm_km_alloc().
|
| 1.297 |
13-Aug-2014 |
matt |
Fix for PR/49061 only kassert in pmap_kenter_pa if PMAP_CACHE_PIVT && !ARM_MMU_EXTENDED
|
| 1.296 |
13-Aug-2014 |
matt |
Fix for PR/49107. Make sure pmap_copy_page_xscale clears the ptes afters its done with them.
|
|
Revision tags: netbsd-7-base tls-earlyentropy-base tls-maxphys-base
|
| 1.295 |
25-Jul-2014 |
matt |
branches: 1.295.2; PTE_SYNC_RANGE a newly allocated L1 page for ARM_MMU_EXTENDED
|
| 1.294 |
15-Jun-2014 |
ozaki-r |
Add missing semicolon
|
| 1.293 |
05-Jun-2014 |
matt |
Fix occupancy bug.
|
|
Revision tags: yamt-pagecache-base9 rmind-smpnet-nbase rmind-smpnet-base
|
| 1.292 |
30-Apr-2014 |
joerg |
pmap_is_current might be unused, tag it as such.
|
| 1.291 |
22-Apr-2014 |
skrll |
Remove stray comment.
|
| 1.290 |
22-Apr-2014 |
skrll |
Call pmap_free_l2_bucket for the kernel pmap so that l2b_occupancy is updated. pmap_free_l2_bucket already deals with the kernel pmap properly.
ok matt@
Should fix the
panic: kernel debugging assertion "mappings <= l2b->l2b_occupancy" failed: file "/usr/src/sys/arch/arm/arm32/pmap.c", line 3838
problem reported on port-arm by Joachim Thiemann
|
| 1.289 |
22-Apr-2014 |
skrll |
Fix a format string to actually print the prot
|
| 1.288 |
20-Apr-2014 |
matt |
Reduce resident_count by number of pages, not number of ptes.
|
| 1.287 |
12-Apr-2014 |
matt |
KDASSERT -> KDASSERTMSG
|
| 1.286 |
12-Apr-2014 |
skrll |
Trailing whitespace
|
| 1.285 |
12-Apr-2014 |
skrll |
Fix typo and unbreak the build for various arm kernel builds.
|
| 1.284 |
11-Apr-2014 |
matt |
Add a kernel for the CUBIETRUCK (CUBIEBOARD3). Allow direct mapping of all memory (but for now allow the memory mapped above KERNEL_BASE to used for poolpages).
|
| 1.283 |
10-Apr-2014 |
matt |
Fix pasto.
|
| 1.282 |
10-Apr-2014 |
matt |
Fix pmap_extract to deal with non-4KB pages.
|
| 1.281 |
05-Apr-2014 |
skrll |
Add a missing pmap_release_page_lock
|
| 1.280 |
02-Apr-2014 |
matt |
branches: 1.280.2; Mark omd as diagused for the ARM_MMU_EXTENDED case.
|
| 1.279 |
02-Apr-2014 |
skrll |
Fix non-DIAGNOSTIC build
|
| 1.278 |
02-Apr-2014 |
matt |
Init the page_lock to IPL_VM iff VIPT && arm_cache_prefer_mask != 0 otherwise use IPL_NONE. Don't bother with page_lock for KMPAGEs.
|
| 1.277 |
02-Apr-2014 |
matt |
braces are your friends. use them.
|
| 1.276 |
02-Apr-2014 |
matt |
Really fix locking this time.
|
| 1.275 |
02-Apr-2014 |
matt |
Because vector_page might be 0, we have to process the entry L1pt. Make sure to map the new l2 area after we've grown the kernel. If msgbufaddr is set, don't alloc space for msgbuf.
|
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
| 1.274 |
01-Apr-2014 |
matt |
For ARM_MMU_EXTENDED, if the page being mapped asked for EXEC but is not EXEC, sync it.
|
| 1.273 |
31-Mar-2014 |
matt |
tag a variable with __diagused
|
| 1.272 |
30-Mar-2014 |
matt |
Fix debug code in fault_fixup
|
| 1.271 |
30-Mar-2014 |
matt |
Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
|
Revision tags: riastradh-drm2-base3
|
| 1.270 |
27-Feb-2014 |
joerg |
Member will never be null, so remove check.
|
| 1.269 |
26-Feb-2014 |
matt |
Only track kenter_pa'ed pages if arm_cache_prefer_mask is non-zero.
|
| 1.268 |
26-Feb-2014 |
matt |
Don't do ref/mod emulation for KENTRY pages. l2pte_minidata -> l2pte_minidata_p
|
| 1.267 |
26-Feb-2014 |
matt |
Move pmap_recent_user to ci->ci_pmap_lastuser and pmap_previous_active_lwp to ci->ci_lastlwp. Fix some comments.
|
| 1.266 |
26-Feb-2014 |
matt |
l2pte_valid -> l2pte_valid_p
|
| 1.265 |
26-Feb-2014 |
matt |
Add support for PMAP_PTE to pmap_kenter_pa
|
| 1.264 |
12-Sep-2013 |
kiyohara |
Fix VIVT cache operation. Tested on Kirkwood machines.
|
| 1.263 |
18-Aug-2013 |
matt |
Include <arm/locore.h>
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
| 1.262 |
03-Jul-2013 |
matt |
Add l2pte_set and l2pte_reset inlines to set/reset a pte. These will be used to support > 4KB pages sizes. Don't use >> L1_S_SHIFT, use L1_IDX() instead.
|
| 1.261 |
03-Jul-2013 |
matt |
restore deleted conditional
|
| 1.260 |
03-Jul-2013 |
matt |
Fix c&p error
|
| 1.259 |
03-Jul-2013 |
matt |
Collapse multiple inlines and move repeated tests into them. No functional change.
|
| 1.258 |
03-Jul-2013 |
matt |
Add pmap_domain and pmap_l1_kva inlines.
|
| 1.257 |
12-Jun-2013 |
matt |
branches: 1.257.2; Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
| 1.256 |
12-Jun-2013 |
matt |
If the vector_page is not ARM_VECTORS_{LOW,HIGH}, assume it's in kernel text and don't do anything special to map it.
|
| 1.255 |
11-May-2013 |
skrll |
Fix !DDB build.
|
| 1.254 |
29-Mar-2013 |
matt |
Fix pmap_flush_page to also flush the secondary cache, if there is one. This solves a bus_dma problem with DMA from uncached pages.
|
|
Revision tags: agc-symver-base
|
| 1.253 |
13-Feb-2013 |
matt |
Some armv7 fixes for speculative tlb loads.
|
| 1.252 |
04-Feb-2013 |
macallan |
support ARM32_MMAP_WRITECOMBINE for managed pages as well
|
| 1.251 |
01-Feb-2013 |
matt |
cleanup PVF_WRITE & pvh_attrs interaction.
|
| 1.250 |
31-Jan-2013 |
skrll |
Another typo in a comment.
|
| 1.249 |
31-Jan-2013 |
skrll |
Typo in comment.
|
|
Revision tags: yamt-pagecache-base8
|
| 1.248 |
19-Jan-2013 |
matt |
Switch from only UVM_PGA_STRAT_ONLY to UVM_PGA_STRAT_FALLBACK in arm_pmap_alloc_poolpage.
|
| 1.247 |
11-Jan-2013 |
matt |
Fix a bug in pmap_modify_pv where we didn't set PVF_WRITE on a page after changing its mapping to writeable. Add more KASSERTS Don't go into DDB by default in pmap_fixup.
|
|
Revision tags: yamt-pagecache-base7
|
| 1.246 |
11-Dec-2012 |
matt |
Fix C&P bug.
|
| 1.245 |
11-Dec-2012 |
matt |
Fix c&p error.
|
| 1.244 |
11-Dec-2012 |
matt |
Optimize pmap_{copy,zerp}_page_generic to understand that when all of memory is always mapped that you don't have create mappings dynamically.
|
| 1.243 |
10-Dec-2012 |
matt |
Change a KASSERT to a KASSERTMSG
|
| 1.242 |
12-Nov-2012 |
skrll |
C99 types
|
|
Revision tags: yamt-pagecache-base6
|
| 1.241 |
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
| 1.240 |
17-Oct-2012 |
matt |
Need to set pmap_needs_pte_sync before calling PTE_SYNC
|
| 1.239 |
17-Oct-2012 |
matt |
When setting pmap_needs_pte_sync to 1 be sure to sync pte that caused the issue.
|
| 1.238 |
26-Sep-2012 |
matt |
If we get a fault we shouldn't have, set pmap_needs_pte_sync and retry.
|
| 1.237 |
22-Sep-2012 |
matt |
Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead but add a second argument to it to indicate whether the TLB/caches need to be flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field to see if the fixed can be skipped. Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1) or enabeld (bit = 0).
With these changes, the A9 MMU can use traverse caches to do MMU tablewalks Also, make sure all memory has the shareable bit for the A9.
|
| 1.236 |
02-Sep-2012 |
matt |
branches: 1.236.2; Supersections are on armv6 too.
|
| 1.235 |
30-Aug-2012 |
matt |
Teach pmap_extract about supersections.
|
| 1.234 |
29-Aug-2012 |
matt |
Make all cortex and arm11 cpus uses writeback cached memories for pagetables
|
| 1.233 |
29-Aug-2012 |
matt |
Support PMAP_NOCACHE in pmap_kenter_pa
|
| 1.232 |
29-Aug-2012 |
matt |
Use the correct prot mask in vector_page_setprot
|
| 1.231 |
27-Aug-2012 |
matt |
Use the correct (L1_S_PROT, not L2_S_PROT) macro for setting the protection of the vector page. This fixes a nasty little bug that shows up on armv7 systems when the vector page physical address changes (bit 12 of the address is cleared) and then any exception causes the system to hang.
|
| 1.230 |
20-Aug-2012 |
matt |
Add support for mapping SuperSection on armv6 and armv7. These always a domain of 0 so move the kernel from domain 15 to domain 0.
|
| 1.229 |
13-Jul-2012 |
skrll |
Fix a KASSERT. From/OK'ed by matt@
|
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
| 1.228 |
29-Jan-2012 |
he |
branches: 1.228.2; Only declare helper variable which is only used in KASSERT() if DIAGNOSTIC is defined, to avoid "variable defined but never used" warning if DIAGNOSTIC isn't defined, and KASSERT() expands to nothing.
|
| 1.227 |
28-Jan-2012 |
matt |
Since we don't do MULTIPROCESSOR, and hence preemption, locking the pvlists doesn't really matter.
|
| 1.226 |
28-Jan-2012 |
matt |
Don't use simple locks.
|
| 1.225 |
27-Jan-2012 |
para |
extending vmem(9) to be able to allocated resources for it's own needs. simplifying uvm_map handling (no special kernel entries anymore no relocking) make malloc(9) a thin wrapper around kmem(9) (with private interface for interrupt safety reasons)
releng@ acknowledged
|
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
| 1.224 |
01-Jul-2011 |
dyoung |
branches: 1.224.2; 1.224.6; #include <sys/bus.h> instead of <machine/bus.h>.
|
| 1.223 |
30-Jun-2011 |
wiz |
dependant -> dependent
|
| 1.222 |
12-Jun-2011 |
rmind |
Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
| 1.221 |
10-Mar-2011 |
bsh |
branches: 1.221.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
|
Revision tags: bouyer-quota2-nbase
|
| 1.220 |
28-Feb-2011 |
macallan |
implement arm32_pmap_flags() to allow mappings with write buffering enabled, mostly for video memory Tested on shark
|
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6
|
| 1.219 |
12-Nov-2010 |
uebayasi |
branches: 1.219.2; 1.219.4; Put VM_PAGE_TO_MD() definition in one place. No functional changes.
|
| 1.218 |
10-Nov-2010 |
uebayasi |
Use more VM_PHYSMEM_*() accessors. No functional changes.
|
|
Revision tags: uebayasi-xip-base5 uebayasi-xip-base4
|
| 1.217 |
03-Nov-2010 |
uebayasi |
Fix build of IXM1200 too. Pointed out by cegger, thanks.
|
| 1.216 |
02-Nov-2010 |
uebayasi |
Fix build of XScale.
|
| 1.215 |
30-Oct-2010 |
uebayasi |
Pass struct vm_page_md * where possible.
This causes 1% code increase, mainly because additional argument (paddr_t) affects register usage. This will be fixed when per-page data structure (struct vm_page) is redone, and physical address can be retrieved from struct vm_page_md *.
Tested on (uncommitted) i.MX35 (ARM1136).
|
|
Revision tags: uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
| 1.214 |
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
| 1.213 |
14-May-2010 |
cegger |
Move PMAP_KMPAGE to be used in pmap_kenter_pa flags argument. 'Looks good to me' gimpy@
|
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9
|
| 1.212 |
15-Feb-2010 |
skrll |
branches: 1.212.2; Typo in comment.
|
|
Revision tags: uebayasi-xip-base
|
| 1.211 |
02-Jan-2010 |
he |
branches: 1.211.2; Remove a shadowed and unused local declaration so that this builds again.
|
| 1.210 |
01-Jan-2010 |
uebayasi |
Sprinkle assertions after calling pmap_get_l2_bucket().
|
| 1.209 |
31-Dec-2009 |
uebayasi |
Use pmap_is_current() where appropriate. No functional changes.
|
| 1.208 |
31-Dec-2009 |
uebayasi |
pmap_page_remove(): remove an unused local variable; no functional changes.
|
| 1.207 |
31-Dec-2009 |
uebayasi |
Correct assertions for PMAP_CACHE_VIPT code; if page coloring is disabled (arm_cache_prefer_mask == 0), pvh_attrs has never PVF_COLORED, so don't assert it. No functional changes.
|
| 1.206 |
28-Dec-2009 |
uebayasi |
Indent.
|
| 1.205 |
28-Dec-2009 |
uebayasi |
Always name struct pv_entry * as pv, not pve. No binary change.
|
| 1.204 |
27-Dec-2009 |
uebayasi |
Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
|
Revision tags: matt-premerge-20091211
|
| 1.203 |
28-Nov-2009 |
scw |
Apply some band-aid to pmap_activate() for PR kern/41058:
There's a corner case here which can leave turds in the cache as reported in kern/41058. They're probably left over during tear-down and switching away from an exiting process. Until the root cause is identified and fixed, zap the cache when switching pmaps. This will result in a few unnecessary cache flushes, but that's better than silently corrupting data.
Also remove an extraneous return statement in pmap_page_protect() which crept in during the matt-armv6 merge.
|
| 1.202 |
21-Nov-2009 |
rmind |
Use lwp_getpcb() on ARM (and acorn26/32), clean from struct user usage.
|
| 1.201 |
07-Nov-2009 |
cegger |
Add a flags argument to pmap_kenter_pa(9). Patch showed on tech-kern@ http://mail-index.netbsd.org/tech-kern/2009/11/04/msg006434.html No objections.
|
| 1.200 |
22-Oct-2009 |
rmind |
Simplify pmap_remove() a little by avoiding pmap_do_remove() layer, since possibility to skip wired mappings is not needed anymore. Apart from that, no functional differences are intended.
|
| 1.199 |
21-Oct-2009 |
rmind |
Remove uarea swap-out functionality:
- Addresses the issue described in PR/38828. - Some simplification in threading and sleepq subsystems. - Eliminates pmap_collect() and, as a side note, allows pmap optimisations. - Eliminates XS_CTL_DATA_ONSTACK in scsipi code. - Avoids few scans on LWP list and thus potentially long holds of proc_lock. - Cuts ~1.5k lines of code. Reduces amd64 kernel size by ~4k. - Removes __SWAP_BROKEN cases.
Tested on x86, mips, acorn32 (thanks <mpumford>) and partly tested on acorn26 (thanks to <bjh21>).
Discussed on <tech-kern>, reviewed by <ad>.
|
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base
|
| 1.198 |
21-Apr-2009 |
cegger |
change pmap flags argument from int to u_int. discussed with christos@ on source-changes-d@
|
| 1.197 |
15-Mar-2009 |
cegger |
ansify function definitions
|
| 1.196 |
09-Mar-2009 |
nonaka |
avail_start and avail_end is paddr_t.
|
|
Revision tags: nick-hppapmap-base2 mjf-devfs2-base
|
| 1.195 |
08-Jan-2009 |
matt |
branches: 1.195.2; When allocating a KMPAGE and it has multiple colors, make sure to flush them. Add some more KASSERTs for multiple colors (or lack thereof).
|
| 1.194 |
30-Dec-2008 |
matt |
Reclaim PVF_KNC in VIPT to be PVF_MULTCLR (page has multiple colors). Track when a page is mapping in multiple colors and deal with the ramifications. When a page's MOD attribute is cleared, clean it from the cache. Fix a logic inversion.
With these changes, the TI SDP2420 H4 board can successfully natively build a TISDP2420 kernel.
|
|
Revision tags: haad-dm-base2 haad-nbase2 haad-dm-base
|
| 1.193 |
10-Dec-2008 |
pooka |
Make kernel_pmap_ptr a const. Requested by steve_martin.
|
| 1.192 |
09-Dec-2008 |
pooka |
Make pmap_kernel() a MI macro for struct pmap *kernel_pmap_ptr, which is now the "API" provided by the pmap module. pmap_kernel() remains as the syntactic sugar.
Bonus cosmetics round: move all the pmap_t pointer typedefs into uvm_pmap.h.
Thanks to Greg Oster for providing cpu muscle for doing test builds.
|
|
Revision tags: ad-audiomp2-base
|
| 1.191 |
19-Nov-2008 |
matt |
Allocate /dev/mem's page in pmap_init. Mark /dev/mem as MPSAFE. Ansify.
|
| 1.190 |
12-Nov-2008 |
ad |
Remove LKMs and switch to the module framework, pass 1.
Proposed on tech-kern@.
|
| 1.189 |
04-Nov-2008 |
matt |
Use a mutex to control access DEV_MEM.
|
| 1.188 |
04-Nov-2008 |
matt |
Protect some code with if (pg) { .. }
|
|
Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4
|
| 1.187 |
28-Sep-2008 |
skrll |
branches: 1.187.2; 1.187.4; 1.187.8; Typo in comment.
|
|
Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
| 1.186 |
14-Aug-2008 |
matt |
Now that we track pages used by any of the kernel memory allocators, keep a count of them and export it as a sysctl node machdep.kmpages
|
| 1.185 |
13-Aug-2008 |
matt |
Fix a few more corner cases. Always KMPAGE or pages with unmanaged writeable kernel mappings as modified. Only ever set DIRTY bit is DMOD is true and NC is false. Don't modify unmanaged mappings in pmap_clearbit.
|
| 1.184 |
08-Aug-2008 |
dogcow |
fix "warning: 'npv' may be used uninitialized in this function"
|
| 1.183 |
06-Aug-2008 |
matt |
Change pv_entries to use SLIST.
For VIPT caches, keep track of when pages are dirty so that their content can be flushed back to main memory. This is done when the page is read-only mapped by more than 1 color. Pages become when either their modified bit gets set or an unmanaged writeable page is mapped. When a page in unmapped or changed to read-only, run pmap_vac_me_harder in case the page can be mapped read-only.
Thanks are given to Imre Deak for giving me the idea to assert for PVF_DIRTY.
|
|
Revision tags: simonb-wapbl-nbase simonb-wapbl-base
|
| 1.182 |
16-Jul-2008 |
matt |
Revamp bookkeeping for pages entered by pmap_kenter_pa. Keep track of them on pvlists so that the cacheability can be properly tracked.
|
| 1.181 |
09-Jul-2008 |
scw |
When dealing with 'cleanlist_idx == PMAP_REMOVE_CLEAN_LIST_SIZE' in pmap_do_remove(), make sure to use PTE_SYNC() for each rolled-back PTE on the list.
Fixes potential MMU inconsistencies on some ARM platforms where page-tables are mapped write-back.
|
| 1.180 |
03-Jul-2008 |
matt |
branches: 1.180.2; Use the same login in pmap_kenter_pa when removing an unmamanged mapping as in pmap_kremove (otherwise kro_mappings will become incorrect).
|
| 1.179 |
03-Jul-2008 |
matt |
For armv6(VIPT), change the rules for mapping via kenter_pa. Allow readonly pages to be mapped by different cache color indexes.
|
| 1.178 |
24-Jun-2008 |
scw |
In pmap_deactivate(), if the process is exiting make sure the next call to pmap_activate() performs a full MMU context-switch and cache flush, which might otherwise be skipped.
Fixes ARM_LOW_VECTORS problem reported in PR port-arm/38950.
|
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 wrstuden-revivesa-base
|
| 1.177 |
17-Jun-2008 |
chris |
Fix two KASSERT(value | (C1|C2)) to KASSERT(value & (C1|C2)) so that it tests for something, rather than always being true.
Pointed out by Andy Shevchenko in: http://mail-index.netbsd.org/port-arm/2008/06/17/msg000255.html
|
| 1.176 |
04-Jun-2008 |
ad |
branches: 1.176.2; vm_page: put TAILQ_ENTRY into a union with LIST_ENTRY, so we can use both.
|
|
Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2
|
| 1.175 |
28-Apr-2008 |
martin |
branches: 1.175.2; Remove clause 3 and 4 from TNF licenses
|
| 1.174 |
27-Apr-2008 |
matt |
Merge kernel changes in matt-armv6 to HEAD.
|
|
Revision tags: yamt-nfs-mp-base
|
| 1.173 |
20-Apr-2008 |
scw |
branches: 1.173.2; There's really no need to switch VM contexts within cpu_switchto() as MI code always calls pmap_deactivate/pmap_activate on context switch.
Instead, just record the last active lwp (or NULL if it exited) and defer switching VM context to pmap_activate(). This saves an additional function call overhead in cpu_switchto().
While here, g/c unused cpuswitch.S local .Lblock_userspace_access.
|
|
Revision tags: yamt-pf42-baseX yamt-pf42-base
|
| 1.172 |
29-Mar-2008 |
chris |
branches: 1.172.2; Fix LOCKDEBUG build on arm by: * converting simple_{un}lock to mutex_enter/exit * Using UVM_OBJ_INIT & DESTROY for the uvm_object in the pmap structure
|
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
| 1.171 |
06-Jan-2008 |
matt |
branches: 1.171.6; current_intr_depth is dead. Make sure we don't use it anymore.
|
|
Revision tags: chris-arm-intr-rework-base3
|
| 1.170 |
01-Jan-2008 |
chris |
Add support for kcore headers to arm32 kernel core dumps.
The kcore code is based on i386's kcore header handling.
Having an asm stub for dumpsys, to dump the registers onto the stack, and then call the C code to do the memory dump is based on amd64's core dump code.
This allows a successful core dump on cats.
Part of fixing PR cats/18026.
|
|
Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
| 1.169 |
08-Nov-2007 |
matt |
branches: 1.169.6; Make this compile again.
|
| 1.168 |
07-Nov-2007 |
ad |
Merge from vmlocking:
- pool_cache changes. - Debugger/procfs locking fixes. - Other minor changes.
|
|
Revision tags: jmcneill-base yamt-x86pmap-base4
|
| 1.167 |
17-Oct-2007 |
garbled |
branches: 1.167.2; 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 tags: yamt-x86pmap-base3 ppcoea-renovation-base vmlocking-base
|
| 1.166 |
10-Oct-2007 |
ad |
branches: 1.166.2; Comment out references to spinlockmgr().
|
|
Revision tags: yamt-x86pmap-base2 yamt-x86pmap-base
|
| 1.165 |
15-Sep-2007 |
scw |
branches: 1.165.2; ARM cpu_switchto() has been partially broken since yamt-idlelwp was merged as its cache/tlb management smarts relied too heavily on pre-merge context- switch behaviour. See PR kern/36548 for one manifestation of the breakage.
To address this: - Ditch the shadow pmap variables in the PCB (pagedir, l1vec, dacr, cstate) as it was too easy for them to get out of sync with the pmap. - Re-write (and fix) the convoluted cpuswitch.S cache/tlb ASM code in C. It's only slightly less efficient, but is much more readable/maintainable. - Document cpufuncs.cf_context_switch() as being C-callable. - pmap_activate() becomes a no-op if the lwp's vmspace is already active. (Good performance win, since pmap_activate() is now invoked on every context-switch, even though ARM's cpu_switchto() already does all the grunt work)
XXX: Some CPU-specific armXX_context_switch() implementations (arm67, arm7tdmi, arm8) always flush the I+D caches. This should not be necessary. Someone with access to hardware (acorn32?) needs to deal with this.
|
|
Revision tags: nick-csl-alignment-base5 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base mjf-ufs-trans-base
|
| 1.164 |
17-May-2007 |
yamt |
branches: 1.164.6; 1.164.8; 1.164.10; 1.164.12; 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 tags: yamt-idlelwp-base8 thorpej-atomic-base
|
| 1.163 |
09-Apr-2007 |
chris |
branches: 1.163.4; In pmap_activate restore interrupts to their previous state rather than always enabling them.
It's not clear if this actually caused any problems, but it seems safer to restore to the previous state in case pmap_activate is ever called with interrupts disabled.
|
| 1.162 |
12-Mar-2007 |
ad |
branches: 1.162.2; Pass an ipl argument to pool_init/POOL_INIT to be used when initializing the pool's lock.
|
| 1.161 |
04-Mar-2007 |
christos |
branches: 1.161.2; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
|
Revision tags: ad-audiomp-base
|
| 1.160 |
22-Feb-2007 |
thorpej |
TRUE -> true, FALSE -> false
|
| 1.159 |
21-Feb-2007 |
thorpej |
Replace the Mach-derived boolean_t type with the C99 bool type. A future commit will replace use of TRUE and FALSE with true and false.
|
|
Revision tags: post-newlock2-merge newlock2-nbase newlock2-base
|
| 1.158 |
06-Jan-2007 |
christos |
branches: 1.158.2; From Scott Allen in http://mail-index.netbsd.org/port-arm/2006/07/26/0000.html I ran into a problem when I tried to set up a mapping that started at virtual address 0xFFF00000 and was 0x00100000 long. In other words, the mapping should have gone to the end of the 32 bit address space. The mapping was made with no problem, but pmap_devmap_find_va() wouldn't find an address within the mapping. For example, if I told it to find a mapping for 0x1000 bytes at 0xFFF01000, it would try to make sure that 0xFFF01000 was greater than 0xFFF00000 and that (0xFFF01000+0x1000) was less than (0xFFF00000+0x00100000). However, that last expression (0xFFF00000+0x00100000) wrapped around to be simply 0x00000000 so it wasn't found. This patch fixes this problem in pmap_devmap_find_va() and pmap_devmap_find_pa() by subtracting one off of the sizes to be compared, so in my example, (0xFFF01000+0x1000-1) will be less than (0xFFF00000+0x00100000-1).
|
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.157 |
24-Dec-2005 |
perry |
branches: 1.157.20; 1.157.24; Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
|
Revision tags: ktrace-lwp-base
|
| 1.156 |
10-Dec-2005 |
scw |
Implement pmap_collect() for arm32.
|
| 1.155 |
08-Dec-2005 |
yamt |
use VM_PAGE_TO_PHYS macro.
|
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
| 1.154 |
04-Jul-2005 |
bsh |
branches: 1.154.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
| 1.153 |
24-Jun-2005 |
scw |
In pmap_devmap_find_pa(), use 64-bit arithmetic to handle the case where 'pa + size' == 0x0. As in, if we're passed details of a region right at the top of physical address space.
Otherwise we'll likely hit a false-positive due to 32-bit wrap-around.
|
|
Revision tags: kent-audio2-base
|
| 1.152 |
26-Apr-2005 |
scw |
Since pmap_page_remove() is called from pmap_page_protect(), don't modify the current pmap's pm_cstate if we have to flush the TLB, as callers of pmap_page_protect() are not required to invoke pmap_update() afterwards.
Otherwise we can end up with a pm_cstate which is inconsistent with reality in the TLB, which can lead to future TLB flushes being erroneously skipped.
|
| 1.151 |
01-Apr-2005 |
yamt |
merge yamt-km branch. - don't use managed mappings/backing objects for wired memory allocations. save some resources like pv_entry. also fix (most of) PR/27030. - simplify kernel memory management API. - simplify pmap bootstrap of some ports. - some related cleanups.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE 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 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base
|
| 1.150 |
14-Jan-2005 |
joff |
branches: 1.150.2; 1.150.4; Dont try freeing bootstrap pages with pool_page_free. Fixes kern/28869
|
|
Revision tags: kent-audio1-beforemerge
|
| 1.149 |
02-Jan-2005 |
chris |
Remove direct references to TAILQ internal structures.
No functional change, just tidying up code.
|
|
Revision tags: kent-audio1-base
|
| 1.148 |
03-Apr-2004 |
bsh |
pmap_pte_init_arm9() is necessary only when defined(CPU_ARM9) and defined(ARM9_CACHE_WRITE_THROUGH)
|
|
Revision tags: netbsd-2-0-3-RELEASE 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-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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-base
|
| 1.147 |
18-Jan-2004 |
scw |
Fix ARM_VECTORS_LOW fallout caused by the recent reaper removal.
Just before removing the vector page mapping, switch to the kernel pmap's L1/vector page mapping so as not to pull the rug out from under ourselves.
To prevent the stale L1/vector page mapping from being restored by cpu_switch, replace the relevant fields of the dying process' pcb with those of lwp0's pcb.
|
| 1.146 |
01-Nov-2003 |
jdolecek |
avoid stong words in comments
|
| 1.145 |
29-Oct-2003 |
mycroft |
Whitespace.
|
| 1.144 |
29-Oct-2003 |
mycroft |
The previous patch was wrong -- mcr does not output anything. Instead give a junk input (it's not used when the last argument is 0).
|
| 1.143 |
28-Oct-2003 |
scw |
Fix an uninitialised variable warning, reported by Shoichi Miyake in port-arm/23293.
|
| 1.142 |
26-Oct-2003 |
chris |
Fix up some unitialised variables.
|
| 1.141 |
13-Oct-2003 |
scw |
On Xscale, define PMAP_UAREA() and use it to tweak uarea mappings so they use the mini D$.
This results in a small performance boost on xscale platforms, since flushing the main cache on a context switch won't affect the kernel stack/pcb.
|
| 1.140 |
05-Oct-2003 |
matt |
Add SA_SIGINFO support for ARM (from Chris Gilbert).
|
| 1.139 |
21-Sep-2003 |
matt |
Change some type-punning detected by gcc 3.3.1 to (void *).
|
| 1.138 |
06-Sep-2003 |
rearnsha |
Support for initializing ARM10 processors in write-through mode.
|
| 1.137 |
23-Jun-2003 |
martin |
branches: 1.137.2; Make sure to include opt_foo.h if a defflag option FOO is used.
|
| 1.136 |
15-Jun-2003 |
thorpej |
Add another devmap routine that allows bootstrap code to register a devmap reflecting mappings that are created by really early bootstrap code before pmap_devmap_bootstrap() is called.
|
| 1.135 |
15-Jun-2003 |
thorpej |
Replace the ad-hoc "section mapping table" for static device mappings with a more generic "devmap" structure that can also handle mappings made with large and small pages. Add new pmap routines to enter these mappings during bootstrap (and "remember" the devmap), and routines to look up the static mappings once the kernel is running.
|
| 1.134 |
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
| 1.133 |
10-May-2003 |
thorpej |
Back out the following chagne: http://mail-index.netbsd.org/source-changes/2003/05/08/0068.html
There were some side-effects that I didn't anticipate, and fixing them is proving to be more difficult than I thought, do just eject for now. Maybe one day we can look at this again.
Fixes PR kern/21517.
|
| 1.132 |
08-May-2003 |
thorpej |
Simplify the way the bounds of the managed kernel virtual address space is advertised to UVM by making virtual_avail and virtual_end first-class exported variables by UVM. Machine-dependent code is responsible for initializing them before main() is called. Anything that steals KVA must adjust these variables accordingly.
This reduces the number of instances of this info from 3 to 1, and simplifies the pmap(9) interface by removing the pmap_virtual_space() function call, and removing two arguments from pmap_steal_memory().
This also eliminates some kludges such as having to burn kernel_map entries on space used by the kernel and stolen KVA.
This also eliminates use of VM_{MIN,MAX}_KERNEL_ADDRESS from MI code, this giving MD code greater flexibility over the bounds of the managed kernel virtual address space if a given port's specific platforms can vary in this regard (this is especially true of the evb* ports).
|
| 1.131 |
22-Apr-2003 |
thorpej |
Some ARM32_PMAP_NEW-related cleanup: * Define a new "MMU type", ARM_MMU_SA1. While the SA-1's MMU is basically compatible with the generic, the SA-1 cache does not have a write-through mode, and it is useful to know have an indication of this. * Add a new PMAP_NEEDS_PTE_SYNC indicator, and try to evaluate it at compile time. We evaluate it like so: - If SA-1-style MMU is the only type configured -> 1 - If SA-1-style MMU is not configured -> 0 - Otherwise, defer to a run-time variable. If PMAP_NEEDS_PTE_SYNC might evaluate to true (SA-1 only or run-time check), then we also define PMAP_INCLUDE_PTE_SYNC so that e.g. assembly code can include the necessary run-time support. PMAP_INCLUDE_PTE_SYNC largely replaces the ARM32_PMAP_NEEDS_PTE_SYNC manual setting Steve included with the original new pmap. * In the new pmap, make pmap_pte_init_generic() check to see if the CPU has a write-back cache. If so, init the PT cache mode to C=1,B=0 to get write-through mode. Otherwise, init the PT cache mode to C=1,B=1. * Add a new pmap_pte_init_arm8(). Old pmap, same as generic. New pmap, sets page table cacheability to 0 (ARM8 has a write-back cache, but flushing it is quite expensive). * In the new pmap, make pmap_pte_init_arm9() reset the PT cache mode to C=1,B=0, since the write-back check in generic gets it wrong for ARM9, since we use write-through mode all the time on ARM9 right now. (What this really tells me is that the test for write-through cache is less than perfect, but we can fix that later.) * Add a new pmap_pte_init_sa1(). Old pmap, same as generic. New pmap, does generic initialization, then resets page table cache mode to C=1,B=1, since C=1,B=0 does not produce write-through on the SA-1.
|
| 1.130 |
01-Apr-2003 |
thorpej |
Use PAGE_SIZE rather than NBPG.
|
| 1.129 |
29-Mar-2003 |
bsh |
for Intel PXA2[15][05] processors, select write-back/write-through cache based on CPU id. write-through on PXA2[15]0 B2 stepping and earlier. write-back on C0 and C1 stepping (a.k.a PXA2[15]5 A0)
options XSCALE_CACHE_WRITE_{THROUGH,BACK} can override it.
for other XScale CPUs than PXA2xx, XSCALE_CACHE_WRITE_THROUGH works same as before.
|
| 1.128 |
27-Mar-2003 |
mycroft |
Remove references to variables that aren't used here.
|
| 1.127 |
23-Mar-2003 |
chris |
Garbage collect pmap_map, the last (and only?) use has been removed.
|
| 1.126 |
23-Feb-2003 |
thorpej |
Change pcb32_pagedir to a paddr_t (after all, it's used as a paddr_t everywhere in the code).
|
| 1.125 |
21-Feb-2003 |
chris |
Convert a few types into things that are more accurate, mostly: int's to unsigned int/u_int where they shouldn't go negative. int's to boolean_t's where they're being used as bools.
No real functional change (in the produced asm a few condition codes changed)
|
| 1.124 |
17-Jan-2003 |
thorpej |
Merge the nathanw_sa branch.
|
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
| 1.123 |
24-Nov-2002 |
chris |
Add a debug assert that wired pages provide protection flags in the flags argument as well.
Also update a couple of debug messages to NPDEBUG.
|
| 1.122 |
12-Nov-2002 |
chris |
Tweak a few minor things: when looking to reenable caching, only do so if all the pages aren't already cached. Convert some ints to unsigned int. (scarily this actually shows the biggest decrease in timing for my benchmark, I guess the compiler can optimise better)
|
| 1.121 |
11-Nov-2002 |
chris |
gratuitous whitespace and de-__P'ing. No functional change.
|
| 1.120 |
11-Nov-2002 |
chris |
A few minor tweaks.
Use pmap_free_pvs in pmap_remove, should save on the overhead of freeing each pv on it's own.
Correctly set ptp when calling pmap_enter_pv, this adds more overhead, but the effect is minimal. Timings show that it increases gmake's make configure step from 2:07.90 to 2:08.90. I've more optimisations planned that should negate this increase.
|
| 1.119 |
11-Nov-2002 |
chris |
Remove unused pa variable (it's assigned but not used any more)
|
|
Revision tags: kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base kqueue-base
|
| 1.118 |
27-Sep-2002 |
provos |
remove trailing \n in panic(). approved perry.
|
| 1.117 |
22-Sep-2002 |
chs |
rename the existing pmap_remove_all() here to pmap_page_remove() (ala the x86 pmap) to avoid conflicting with the new pmap interface function of the same name.
|
| 1.116 |
05-Sep-2002 |
jdolecek |
whitespace fix past __KERNEL_RCSID()
|
|
Revision tags: gehenna-devsw-base
|
| 1.115 |
24-Aug-2002 |
thorpej |
In pmap_map_in_l1() and pmap_unmap_in_l1(), make sure that the VA that is passed in is already aligned to a 4M super-section.
|
| 1.114 |
24-Aug-2002 |
thorpej |
When we allocate a PTP, make sure the offset we specify is for the 4M super-section that the PTP will map, not some random 1M chunk of it. This gives the PTP hint code a much better chance to working properly, and allows us to tidy up the code that flushes a PTP from the cache in pmap_destroy().
|
| 1.113 |
24-Aug-2002 |
thorpej |
Enable caching on kernel and user page tables. This saves having to do uncached memory access during VM operations (which can be quite expensive on some CPUs).
We currently write-back PTEs as soon as they're modified; there is some room for optimization (to write them back in larger chunks). For PTEs in the APTE space (i.e. PTEs for pmaps that describe another process's address space), PTEs must also be evicted from the cache complete (PTEs in PTE space will be evicted durint a context switch).
|
| 1.112 |
22-Aug-2002 |
thorpej |
* Add PTE_SYNC() and PTE_SYNC_RANGE() macros. These don't actually do anything yet. * Use PTE_SYNC() and PTE_SYNC_RANGE() in some obvious places, i.e. where vtopte() is used.
|
| 1.111 |
21-Aug-2002 |
thorpej |
Use a pool cache for PT-PTs.
|
| 1.110 |
21-Aug-2002 |
thorpej |
Do cached memory access to L1 tables, making sure to write-back the cache after any L1 table modifications.
|
| 1.109 |
13-Aug-2002 |
thorpej |
Add the brutal hack that allows us to limp along using the read/write cache line allocation policy on XScale CPUs: in pmap_enter(), if the pmap is the kernel pmap, clear the X-bit in the PTE, thus disabling read/write-allocate for managed kernel mappings.
Yes, this is ugly. But it makes userland code run with r/w-allocate, which is a huge improvement on systems with low core memory performance.
|
| 1.108 |
10-Aug-2002 |
thorpej |
Tidy up pmap_clean_page() a little, and reenable some code that was disabled previously: Skip cleaning mappings which are read-only, because the pmap (now) does clean pages on a r/w -> r/o transition.
|
| 1.107 |
10-Aug-2002 |
thorpej |
Clean up some warts in pmap_protect().
|
| 1.106 |
09-Aug-2002 |
thorpej |
Add an XSCALE_CACHE_READ_WRITE_ALLOCATE option for people who want to play fast-and-loose.
|
| 1.105 |
09-Aug-2002 |
thorpej |
Add some code, conditional on PMAP_ALIAS_DEBUG, that can be used to hunt for virtual aliases between managed (pmap_enter) and non-managed (pmap_kenter_pa) mappings.
|
| 1.104 |
06-Aug-2002 |
thorpej |
- pmap_remove(): unmap the PTEs *after* we have finished with the page tables. - pmap_enter(): if making a mapping for the same PA rw->ro, write-back the cache before doing so. - pmap_clearbit(): if revoking REF on a page, make sure to wbinv the cache if the page has write permission, else inv the cache if the page's PTE is valid (XXX we actually wbinv in this case, as well, due to lack of idcache_inv_range()). Only flush the TLB if the PTE changed.
|
| 1.103 |
31-Jul-2002 |
thorpej |
Overhaul how DMA ranges work in the ARM bus_dma implementation.
A new "arm32_dma_range" structure now describes a DMA window, with a system address base, bus address base, and length. In addition to providing info about which memory regions are legal for DMA, the new structure provides address translation support, as well.
As before, if a tag does not list any ranges, then all addresses are considered valid, and no DMA address translation is performed.
This allows us to remove a large chunk of code which was duplicated and tweaked slightly (to do the address translation) from the stock ARM bus_dma in the XScale IOP and ARM Integrator ports.
Test compiled on all ARM platforms, test booted on Intel IQ80321 and Shark.
|
| 1.102 |
31-Jul-2002 |
thorpej |
Move the calls to uvm_page_physload() out of pmap_bootstrap() and into platform-specific initialization code, giving platform-specific code control over which free list a given chunk of memory gets put onto.
Changes are essentially mechanical. Test compiled for all ARM platforms, test booted on Intel IQ80321 and Shark.
Discussed some time ago on port-arm.
|
| 1.101 |
30-Jul-2002 |
thorpej |
Move the uvm_setpagesize() call to platform-dependent code in preparation for other changes to pmap_bootstrap().
|
| 1.100 |
30-Jul-2002 |
thorpej |
Don't use pmap_kenter_pa() in pmap_map(); doing so causes an assertion failure in pmap_kenter_pa().
|
| 1.99 |
02-Jun-2002 |
drochner |
move initialization of the "struct pglist" returned by uvm_pglistalloc() from the calling code into uvm_pglistalloc() itself for consistency and easier error handling
|
| 1.98 |
01-Jun-2002 |
lukem |
SIMPLEQ rototill: - implement SIMPLEQ_REMOVE(head, elm, type, field). whilst it's O(n), this mirrors the functionality of SLIST_REMOVE() (the other singly-linked list type) and FreeBSD's STAILQ_REMOVE() - remove the unnecessary elm arg from SIMPLEQ_REMOVE_HEAD(). this mirrors the functionality of SLIST_REMOVE_HEAD() (the other singly-linked list type) and FreeBSD's STAILQ_REMOVE_HEAD() - remove notes about SIMPLEQ not supporting arbitrary element removal - use SIMPLEQ_FOREACH() instead of home-grown for loops - use SIMPLEQ_EMPTY() appropriately - use SIMPLEQ_*() instead of accessing sqh_first,sqh_last,sqe_next directly - reorder manual page; be consistent about how the types are listed - other minor cleanups
|
|
Revision tags: netbsd-1-6-base
|
| 1.97 |
14-May-2002 |
chris |
branches: 1.97.2; 1.97.4; Implement scheduler lock protocol, this fixes PR arm/10863.
Also add correct locking when freeing pages in pmap_destroy (fix from potr)
This now means that arm32 kernels can be built with LOCKDEBUG enabled. (only tested on cats though)
|
| 1.96 |
24-Apr-2002 |
thorpej |
* pmap_clean_page(): Clean up a comment. * pmap_protect(): write back the range when doing a r/w -> r/o transition. (Still leave the block concerned with this in pmap_clean_page() disabled, for now.) * pmap_pte_init_xscale(): Disable read/write-allocate for now, until we figure out why sometimes cache lines of NULs get deposited into file data. Also, make sure ECC protection of page table access is disabled for now. * xscale_setup_minidata(): Make sure the mini-data cache is configured write-back with read/write-allocate.
|
| 1.95 |
12-Apr-2002 |
thorpej |
Default all XScale core processors to the read/write-allocate write-back cache mode. Add a new XSCALE_CACHE_WRITE_THROUGH option for people who are paranoid about the cache-related errata (you *do* have to line up the planets correctly to trip them, but having the option is useful).
|
| 1.94 |
10-Apr-2002 |
thorpej |
On XScale processors where we use write-back caching, use are read/write-allocate line allocation policy.
On the i80321, this improves nearly every lmbench benchmark, dramatically so the ones that are sensitive to memory bandwidth (100-300% improvement for these).
|
| 1.93 |
10-Apr-2002 |
thorpej |
Add a new function, pmap_alloc_ptpt(), that allocates the PTPT and maps it the way we want, rather than using uvm_km_zalloc() and playing the "revoke cacheability" song-and-dance.
|
| 1.92 |
10-Apr-2002 |
thorpej |
pmap_alloc_l1pt(): Just enter the mappings for the L1 table by hand, rather than calling pmap_kenter_pa() and then revoking cacheability in the PTE.
|
| 1.91 |
10-Apr-2002 |
thorpej |
Use L2_S_CACHE_MASK in places where we revoke cacheability.
|
| 1.90 |
10-Apr-2002 |
thorpej |
pmap_kenter_pa(): Obey the "prot" argument, rather than simply making all mappings r/w (!!).
|
| 1.89 |
10-Apr-2002 |
thorpej |
In pmap_copy_page_xscale(), put the source page in the mini-data cache, as well. The mini-data cache is 2-way, so src and dst won't clobber each other, and the smallness of the cache doesn't matter, since we access each page once sequentially.
While we still have to do the initial clean of the source page, this saves another 4K of main D$ pollution, and also means we don't have to do 2 cache passes after the copy is complete (i.e. we can skip the invalidation of the source page in the main cache, since it's no longer there).
|
| 1.88 |
10-Apr-2002 |
thorpej |
Add separate pmap_{zero,copy}_page() functions for generic ARM vs. XScale. Use the mini-data cache for the destination on XScale, thus saving tossing out 4K of possible-useful data from the main data cache each time.
This significantly improves every test in lmbench.
|
| 1.87 |
09-Apr-2002 |
thorpej |
* Move the code that cleans the XScale mini-data cache into its own function. * Add a new function which sets up the mini-data cache clean area properly.
|
| 1.86 |
09-Apr-2002 |
thorpej |
* Split pte_cache_mode into pte_l1_s_cache_mode, pte_l2_l_cache_mode, and pte_l2_s_cache_mode. The cache-meaningful bits are different for these descriptor types on some processor models. * Add pte_*_cache_mask, corresponding to each above, which has a mask of the cache-meangful bits, and define those for generic and XScale MMU classes. Note, the L2_S_CACHE_MASK_xscale definition requires use of the Extended Small Page L2 descriptor (the "X" bit overlaps with AP bits otherwise).
|
| 1.85 |
09-Apr-2002 |
thorpej |
Define 2 classes of ARM MMUs: 1. Generic (compatible with ARM6) 1. XScale (can be used as generic, but also has certainly nifty extensions).
Define abstract PTE bit defintions for each MMU class. If only one MMU class is configured into the kernel (based on CPU_* options), then we get the constants for that MMU class. Otherwise we indirect through varaibles set up via set_cpufuncs().
XXX The XScale bits are currently the same as the generic bits. Baby steps.
|
| 1.84 |
09-Apr-2002 |
thorpej |
L2_TYPE_S -> L2_S_PROTO
|
| 1.83 |
09-Apr-2002 |
thorpej |
Use abstract names for the protection and PTE type bits in L1 and L2 descriptors. This will allow us to support different PTE layouts that enable the use of extensions on different processor models.
|
| 1.82 |
05-Apr-2002 |
thorpej |
Back-out rev 1.75 (pmap_extract() rewrite), and fix the (minor) bug that revision intended to fix properly.
|
| 1.81 |
05-Apr-2002 |
thorpej |
* Rewrite the 32-bit ARM pte.h based on the ARM architecture manual. Significant cleanup, here, including better PTE bit names. * Add XScale PTE extensions (ECC enable, write-allocate cache mode). * Mechanical changes everywhere else to update for new pte.h. While doing this, two bugs (as a result of typos) were fixed in
arm/arm32/bus_dma.c evbarm/integrator/int_bus_dma.c
|
| 1.80 |
04-Apr-2002 |
thorpej |
Eliminate a mask against PD_MASK.
|
| 1.79 |
04-Apr-2002 |
thorpej |
There is no need to mask VAs and PAs w/ PG_FRAME to clear the lower bits; UVM provides us page-aligned addresses for everything. For the paranoid, we'll leave KDASSERT()'s in that check for this if the kernel is built with DEBUG.
Low-hanging fruit that shaves some cycles.
|
| 1.78 |
04-Apr-2002 |
thorpej |
Rename flags that are really part of the pv_entry/mdpage into pmap.h and give them more descriptive names and better comments: * PT_M -> PVF_MOD (page is modified) * PT_H -> PVF_REF (page is referenced) * PT_W -> PVF_WIRED (mapping is wired) * PT_Wr -> PVF_WRITE (mapping is writable) * PT_NC -> PVF_NC (mapping is non-cacheable; multiple mappings)
|
| 1.77 |
04-Apr-2002 |
thorpej |
Catch a couple more vector page mapping manipulations.
|
| 1.76 |
03-Apr-2002 |
thorpej |
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.
|
| 1.75 |
03-Apr-2002 |
reinoud |
Rototil and fix the pmap_extract function. It wouldn't even return data when the part being quiried was mapped with a section (!) giving weird results and had become a mess of goto's.
Complete rewrite and cleaned up the `goto'-jungle entirely ... ripped all goto's. The resulting code is much better to read and might even have a small performance gain.
|
| 1.74 |
25-Mar-2002 |
thorpej |
Fix reporting of the kernel virtual address space range to UVM.
|
| 1.73 |
25-Mar-2002 |
thorpej |
* Some cleanup. * Delete the call to pmap_copy() in pmap.h
|
| 1.72 |
25-Mar-2002 |
thorpej |
Clean up pmap_map_ptes() and pmap_unmap_ptes() a little, and add a debug assertion that curproc is never NULL if mapping a non-current pmap.
|
| 1.71 |
25-Mar-2002 |
thorpej |
The target page of pmap_zero_page(), pmap_pageidlezero(), and pmap_copy_page() will never have any mappings. Therefore, it is unnecessary to do a cache clean for that page.
Add assertions in #ifdef DEBUG that assert this invariant.
This shaves some cycles off the frequently-called pmap_zero_page() and pmap_copy_page() (no need to look up the dst page's vm_page structure, and one less function call to clean the page).
|
| 1.70 |
25-Mar-2002 |
thorpej |
* Fix use of pmap_curmaxkvaddr. * Use the PTP hint in the pmap.
|
| 1.69 |
25-Mar-2002 |
thorpej |
Move some private pmap data structures into pmap.c
|
| 1.68 |
24-Mar-2002 |
thorpej |
Garbage-collect pmap_pte() (and good riddance!)
|
| 1.67 |
24-Mar-2002 |
chris |
remove pointless pg = NULL in else part of if (pg != NULL)
|
| 1.66 |
24-Mar-2002 |
thorpej |
pmap_enter(): Use pmap_map_ptes() correctly.
|
| 1.65 |
24-Mar-2002 |
chris |
Update pmap_copy_page to only map in the src readonly and only invalidate it after the copy, no need for it to flush the wb.
|
| 1.64 |
24-Mar-2002 |
thorpej |
pmap_allocpagedir(): Don't use pmap_pte(), and simplify a little.
|
| 1.63 |
24-Mar-2002 |
thorpej |
pmap_handled_emulation(): Fix locking protocol botch. XXX Should we traverse the PV list and enable all PTEs?
|
| 1.62 |
24-Mar-2002 |
thorpej |
pmap_handled_emulation(): Use pmap_map_ptes() correctly.
|
| 1.61 |
24-Mar-2002 |
thorpej |
pmap_modified_emulation(): Use pmap_map_ptes() correctly.
|
| 1.60 |
24-Mar-2002 |
thorpej |
pmap_unwire(): Use pmap_map_ptes() correctly.
|
| 1.59 |
24-Mar-2002 |
thorpej |
pmap_clearbit(): Use pmap_map_ptes() correctly.
|
| 1.58 |
24-Mar-2002 |
thorpej |
Use pmap_is_curpmap() consistently.
|
| 1.57 |
24-Mar-2002 |
thorpej |
Clean up the PTP allocation functions a bit.
|
| 1.56 |
24-Mar-2002 |
thorpej |
* arm_byte_to_page() -> arm_btop() * arm_page_to_byte() -> arm_ptob()
|
| 1.55 |
24-Mar-2002 |
thorpej |
Remove some redundant tests in pmap_enter().
|
| 1.54 |
23-Mar-2002 |
thorpej |
Garbage-collect the "pagehook" stuff.
|
| 1.53 |
23-Mar-2002 |
thorpej |
* Rename PROCESS_PAGE_TBLS_BASE -> PTE_BASE * Rename ALT_PAGE_TBLS_BASE -> APTE_BASE * Garbage-collect PAGE_TABLE_SPACE_START
|
|
Revision tags: eeh-devprop-base newlock-base
|
| 1.52 |
08-Mar-2002 |
thorpej |
Pool deals fairly well with physical memory shortage, but it doesn't deal with shortages of the VM maps where the backing pages are mapped (usually kmem_map). Try to deal with this:
* Group all information about the backend allocator for a pool in a separate structure. The pool references this structure, rather than the individual fields. * Change the pool_init() API accordingly, and adjust all callers. * Link all pools using the same backend allocator on a list. * The backend allocator is responsible for waiting for physical memory to become available, but will still fail if it cannot callocate KVA space for the pages. If this happens, carefully drain all pools using the same backend allocator, so that some KVA space can be freed. * Change pool_reclaim() to indicate if it actually succeeded in freeing some pages, and use that information to make draining easier and more efficient. * Get rid of PR_URGENT. There was only one use of it, and it could be dealt with by the caller.
From art@openbsd.org.
|
| 1.51 |
06-Mar-2002 |
chris |
Mostly style changes to stop us directly referencing tqh_first, and use TAILQ_FIRST instead. Based on rev 1.130 of the i386 pmap.c.
|
| 1.50 |
05-Mar-2002 |
thorpej |
* Make pmap_is_{modified,referenced}() macros in pmap.h that just test the attributes in the vm_page_md directly. * Clean up pmap_clear_{modified,referenced}(). * Delete now-unused pmap_testbit().
|
| 1.49 |
05-Mar-2002 |
thorpej |
Switch back to using vm_page_md (thanks chuq for finding the bug in the code that made it unstable before!)
|
| 1.48 |
03-Mar-2002 |
chris |
Implement pmap_growkernel for arm32 based ports. Note that this has been compiled on some systems, cats, IQ80310, IPAQ, netwinder and shark (note that shark's build is currently broken due to other reasons), but only actually run on cats. Shark doesn't make use of the functionality as I believe there has to be a correlation between OFW and the kernel tables so that calls into OFW work.
|
|
Revision tags: ifpoll-base
|
| 1.47 |
22-Feb-2002 |
thorpej |
Change pmap_map_entry() to work like pmap_map_chunk(): take a pointer to the L1 table and a virtual address, and no pointer to the L2 table. The L2 table will be looked up by pmap_map_entry(), which will panic if the there is no L2 table for the requested VA.
NOTE: IT IS EXTREMELY IMPORTANT THAT THE CORRECT VIRTUAL ADDRESS BE PROVIDED TO pmap_map_entry()! Notably, the code that mapped the kernel L2 tables into the kernel PT mapping L2 table were not passing actual virtual addresses, but rather offsets into the range mapped by the L2 table. I have fixed up all of these call sites, and tested the resulting kernel on both an IQ80310 and a Shark. Other portmasters should examine their pmap_map_entry() calls if their new kernels fail.
|
| 1.46 |
21-Feb-2002 |
thorpej |
Keep track of which kernel PTs are available during bootstrap, and let pmap_map_chunk() lookup the correct one to use for the current VA. Eliminate the "l2table" argument to pmap_map_chunk().
Add a second L2 table for mapping kernel text/data/bss on the IQ80310 (fixes booting kernels with ramdisks).
|
| 1.45 |
21-Feb-2002 |
thorpej |
In pmap_map_chunk(), if we can't use a section mapping, then make sure that the L1 slot for the current VA points to an L2 table, and panic if it doesn't.
|
| 1.44 |
21-Feb-2002 |
thorpej |
Always pass the L1 table to pmap_map_chunk(). This allows pmap_map_chunk() to perform some error checking.
|
| 1.43 |
21-Feb-2002 |
thorpej |
map_chunk() -> pmap_map_chunk(), and move it to pmap.c
|
| 1.42 |
20-Feb-2002 |
thorpej |
map_pagetable() -> pmap_link_l2pt(), and move it to pmap.c
|
| 1.41 |
20-Feb-2002 |
thorpej |
Collapse map_entry{,ro,nc}() into a single pmap_map_entry() that takes a prot and a "cacheable" indicator.
|
| 1.40 |
20-Feb-2002 |
thorpej |
Rename map_section() to pmap_map_section(), move it to pmap.c, and give it an extra argument (prot - specifies protection of the mapping).
|
| 1.39 |
06-Feb-2002 |
thorpej |
Back out all the vm_page_md changes. They are causing some mysterious problems (a similar change to the i386 pmap causes mysterious problems there, as well), and the issue needs to be investigated more.
|
| 1.38 |
06-Feb-2002 |
thorpej |
Efficiency tweaks, some made possible by vm_page_md.
|
| 1.37 |
05-Feb-2002 |
thorpej |
Use vm_page_md rather than pmap_physseg. Saves lots of cycles in common operations.
|
| 1.36 |
25-Jan-2002 |
thorpej |
Overhaul of the ARM cache code. This is mostly a simplification pass. Rather than providing a whole slew of cache operations that aren't ever used, distill them down to some useful primitives:
icache_sync_all Synchronize I-cache icache_sync_range Synchronize I-cache range
dcache_wbinv_all Write-back and Invalidate D-cache dcache_wbinv_range Write-back and Invalidate D-cache range dcache_inv_range Invalidate D-cache range dcache_wb_range Write-back D-cache range
idcache_wbinv_all Write-back and Invalidate D-cache, Invalidate I-cache idcache_wbinv_range Write-back and Invalidate D-cache, Invalidate I-cache range
Note: This does not yet include an overhaul of the actual asm files that implement the primitives. Instead, we've provided a safe default for each CPU type, and the individual CPU types can now be optimized one at a time.
|
| 1.35 |
20-Jan-2002 |
thorpej |
Some prototype cleanup.
|
| 1.34 |
17-Jan-2002 |
thorpej |
Teach pmap_extract() about section mappings.
|
| 1.33 |
05-Jan-2002 |
chris |
Make some of the arm32 files build with LOOSE_PROTOTYPES not set in the makefile. Turned up a few mismatched functions. Note that this isn't all of the arm32 files. Aim will be to get arm32 kernels built with LOOSE_PROTOTYPES not set.
|
| 1.32 |
22-Nov-2001 |
thorpej |
Add cpu_cpwait() calls after TLB updates that are not expected to be followed up by a pmap_update().
|
| 1.31 |
19-Nov-2001 |
thorpej |
Implement pmap_update(). Currently it just calls cpu_cpwait(), which ensures that TLB/cache operations have completed.
|
|
Revision tags: thorpej-mips-cache-base
|
| 1.30 |
03-Nov-2001 |
rearnsha |
branches: 1.30.2; Replace most uses of pmap_pde_p with pmap_pde_page, since that is what we need later in the code. This fixes a fatal kernel fault in pmap_modified_emulation if a user application tries to access a kernel address that is section-mapped.
Add a diagnostic that detects attempts to call pmap_kenter_pa with a va that is section-mapped.
|
| 1.29 |
01-Nov-2001 |
rearnsha |
When clearing the modified bit for modified emulation, don't turn caching on for a page just because we are clearing the writable bit in the PTE: this is incompatible with the way pmap_vac_me_harder works, and the code in the modified emulation handler doesn't know about recalculating the cachable attributes (nor should it, IMO).
Also, if we are invalidating a page, flush its TLB entry; for some reason we were only doing this when clearing the Write or modified bits.
These patches together seem to solve the random seg-faults that were still occuring occasionally under heavy paging.
|
| 1.28 |
18-Oct-2001 |
rearnsha |
branches: 1.28.2; Add a comment describing the logic implemented by pmap_vac_me_harder.
|
| 1.27 |
18-Oct-2001 |
rearnsha |
On processors that support both write-through and write-back cacheing (eg ARM920), the mode in which the processor operates is governed by the use of both the PT_C and PT_B bits:
PT_C=1,PT_B=1 -> Write-back PT_C=1,PT_B=0 -> Write-through
To support this define pte_cache_mode (initialized to PT_C|PT_B) and use that when enabling cacheing for a page.
|
| 1.26 |
18-Oct-2001 |
rearnsha |
With a diagnostic kernel, printing out a message each time we fail to allocate a L1 pt is often enough to bring the system to its knees: so make the messages PDEBUG(0,...).
However, even with this step having more than a small number of processes searching for a L1 pt can still be enough to bring the system down, since they all run at high priority and sleep for very little time, thus blocking out user code from completing. So implement an exponential backoff when waiting for a page table, so that we don't hog the CPU when memory is scarce.
Tested by running a make of the C compiler with "gnumake -j30" (and plenty of swap space).
|
| 1.25 |
18-Oct-2001 |
rearnsha |
Fix pmap_vac_me_harder to take into account pages that are mapped into both kernel and user space.
Fixes port-arm32/13998.
|
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2
|
| 1.24 |
29-Sep-2001 |
chris |
Add a couple of simplelocks to make sure we call pagealloc with the uvm_object locked. Found while running a LOCKDEBUG kernel on cats.
|
|
Revision tags: post-chs-ubcperf
|
| 1.23 |
15-Sep-2001 |
chs |
a whole bunch of changes to improve performance and robustness under load:
- remove special treatment of pager_map mappings in pmaps. this is required now, since I've removed the globals that expose the address range. pager_map now uses pmap_kenter_pa() instead of pmap_enter(), so there's no longer any need to special-case it. - eliminate struct uvm_vnode by moving its fields into struct vnode. - rewrite the pageout path. the pager is now responsible for handling the high-level requests instead of only getting control after a bunch of work has already been done on its behalf. this will allow us to UBCify LFS, which needs tighter control over its pages than other filesystems do. writing a page to disk no longer requires making it read-only, which allows us to write wired pages without causing all kinds of havoc. - use a new PG_PAGEOUT flag to indicate that a page should be freed on behalf of the pagedaemon when it's unlocked. this flag is very similar to PG_RELEASED, but unlike PG_RELEASED, PG_PAGEOUT can be cleared if the pageout fails due to eg. an indirect-block buffer being locked. this allows us to remove the "version" field from struct vm_page, and together with shrinking "loan_count" from 32 bits to 16, struct vm_page is now 4 bytes smaller. - no longer use PG_RELEASED for swap-backed pages. if the page is busy because it's being paged out, we can't release the swap slot to be reallocated until that write is complete, but unlike with vnodes we don't keep a count of in-progress writes so there's no good way to know when the write is done. instead, when we need to free a busy swap-backed page, just sleep until we can get it busy ourselves. - implement a fast-path for extending writes which allows us to avoid zeroing new pages. this substantially reduces cpu usage. - encapsulate the data used by the genfs code in a struct genfs_node, which must be the first element of the filesystem-specific vnode data for filesystems which use genfs_{get,put}pages(). - eliminate many of the UVM pagerops, since they aren't needed anymore now that the pager "put" operation is a higher-level operation. - enhance the genfs code to allow NFS to use the genfs_{get,put}pages instead of a modified copy. - clean up struct vnode by removing all the fields that used to be used by the vfs_cluster.c code (which we don't use anymore with UBC). - remove kmem_object and mb_object since they were useless. instead of allocating pages to these objects, we now just allocate pages with no object. such pages are mapped in the kernel until they are freed, so we can use the mapping to find the page to free it. this allows us to remove splvm() protection in several places.
The sum of all these changes improves write throughput on my decstation 5000/200 to within 1% of the rate of NetBSD 1.5 and reduces the elapsed time for "make release" of a NetBSD 1.5 source tree on my 128MB pc to 10% less than a 1.5 kernel took.
|
|
Revision tags: pre-chs-ubcperf
|
| 1.22 |
13-Sep-2001 |
chris |
Sprinkle some static and inline into a couple of functions. Remove dead entries from pmap.h.
|
| 1.21 |
13-Sep-2001 |
chris |
Update pmap_clearbit to flush the cache if the area is being made readonly. Also only do this and the tlb flush if the pmap is the current pmap.
|
| 1.20 |
10-Sep-2001 |
chris |
Update the pmap following some comments from Chuck Silvers: Remove some overzealous locking of HEAD_TO_MAP Remove a potential deadlock in pmap_copy_page Change alloc and free l1pt to use kenter/kremove. Update pmap_map to use kenter (only actually used by dumpsys, so no matching kremove)
|
| 1.19 |
10-Sep-2001 |
chris |
Update pmap_update to now take the updated pmap as an argument. This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.
Currently this is a no-op on most platforms, so they should see no difference.
Reviewed by Jason.
|
|
Revision tags: thorpej-devvp-base
|
| 1.18 |
11-Aug-2001 |
chris |
branches: 1.18.2; Fix compile without DIAGNOSTICs enabled
|
| 1.17 |
11-Aug-2001 |
chris |
Checking a whole host of pmap changes: Improved locking (not that we actually use it on a uniprocessor, but one day :) Removed unneeded splvm's tweaked pmap_clean_page code to only flush the cache if the page is mapped in the current pmap (based on diff from richard E) Adopted pv entry allocation mechanism from i386. Laid framework for returning ptp's when we've finished with them rather than holding onto them till the process exits. ptp's are now allocated with a uvm object for the pmap, means that we can walk a list to free them off in pmap_release, until they get freed off by pmap_remove.
Also implemented a page zeroing function when the processor is idling. Note that hpcarm may wish to disable this.
I believe this code to be stable, if anyone has any problems please shout up.
|
| 1.16 |
29-Jul-2001 |
chris |
Rework the pmap_release code to not have to walk the ptpt, it now uses a uvm_object to track the allocated vm_pages, this means it can free off the entries in the uvm_object.
Testing shows that it's about 5% faster on the make configure step for gmake.
|
| 1.15 |
28-Jul-2001 |
chris |
A couple of tidy ups to pmap: pmap_t -> struct pmap * in pmap.c and pmap.h kernel_pmap -> pmap_kernel() everywhere.
Compiled and booted on riscpc and cats.
|
| 1.14 |
08-Jul-2001 |
chs |
branches: 1.14.2; clean up pmap_k{enter_pa,remove}(): a page is allowed to be mapped normally when k-mapped. use UVM_PGA_ZERO to get zeroed pages rather than zeroing here.
|
| 1.13 |
06-Jul-2001 |
chris |
Implement proper versions of kenter_pa and kremove, I've based them on versions provided by Richard E.
|
| 1.12 |
25-Jun-2001 |
chris |
Improve the vac_me_harder function, it is now slightly faster, however pmap_enter_pv is also now slightly slower, so they appear to balance out.
Note that I've some ideas in the works on how to improve the pv handling, so the slow down is short term only.
Also added non-advertising licence and copyright to myself and richard.
|
| 1.11 |
24-Jun-2001 |
chris |
Add a pmap_map_ptes function to map another process page table entries into the current pmap (similair to pmap_pte) but this allows multiple use of it, rather than repeated calls of pmap_pte for pte, map_ptes returns a pointer to the va where the entries were mapped so it can be reused ptes can be found by indexing into it.
Update some of the functions that use pmap_pte to pmap_map_ptes.
Note that there's a dummy macro for pmap_unmap_ptes, this is because at some point locking will be needed, so we need to be able to unlock them.
Performance gain seems to be minimal, however long term it should help improve things.
This is similair to the i386 pmap_map_ptes, however it's based on a version from Richard Earnshaw.
|
| 1.10 |
22-Jun-2001 |
chris |
Use a pool to store pmap structs.
|
| 1.9 |
26-May-2001 |
chs |
replace vm_page_t with struct vm_page *.
|
| 1.8 |
25-Apr-2001 |
thorpej |
Garbage-collect pmap_page_index().
|
|
Revision tags: thorpej_scsipi_beforemerge
|
| 1.7 |
24-Apr-2001 |
thorpej |
Sprinkle pmap_update() calls after calls to: - pmap_enter() - pmap_remove() - pmap_protect() - pmap_kenter_pa() - pmap_kremove() as described in pmap(9).
These calls are relatively conservative. It may be possible to optimize these a little more.
|
|
Revision tags: thorpej_scsipi_base thorpej_scsipi_nbase
|
| 1.6 |
22-Apr-2001 |
thorpej |
Remove pmap_kenter_pgs(). It was never really adopted by anything, and the interface itself wasn't as flexible as callers would have probably liked.
|
| 1.5 |
20-Apr-2001 |
toshii |
In pmap_allocpagedir(), check if uvm_km_zalloc of ptpt is successful, and handle alloc failure case.
|
| 1.4 |
15-Mar-2001 |
chs |
eliminate the KERN_* error codes in favor of the traditional E* codes. the mapping is:
KERN_SUCCESS 0 KERN_INVALID_ADDRESS EFAULT KERN_PROTECTION_FAILURE EACCES KERN_NO_SPACE ENOMEM KERN_INVALID_ARGUMENT EINVAL KERN_FAILURE various, mostly turn into KASSERTs KERN_RESOURCE_SHORTAGE ENOMEM KERN_NOT_RECEIVER <unused> KERN_NO_ACCESS <unused> KERN_PAGES_LOCKED <unused>
|
| 1.3 |
04-Mar-2001 |
matt |
branches: 1.3.2; 1.3.4; more vm_offset_t/vm_size_t -> {p,v}{addr,size}_t changes move pmap_* declarations to pmap.h. fix conflicts this exposed (e.g different definitions for pmap_bootstrap).
|
| 1.2 |
04-Mar-2001 |
matt |
Convert some vm_size_t to vsize_t/psize_t. Change vaddr_t to paddr_t where appropriate.
|
| 1.1 |
04-Mar-2001 |
matt |
Move from arm32/arm32. s/vm_offset_t/vaddr_t/g
|
|
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE yamt-pagecache-base9 yamt-pagecache-tag8 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE rmind-smpnet-nbase rmind-smpnet-base agc-symver-base tls-maxphys-base yamt-pagecache-base8 yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase jym-xensuspend-nbase bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-nb5-pq3-base netbsd-5-1-RELEASE yamt-nfs-mp-base11 netbsd-5-1-RC4 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE yamt-nfs-mp-base8 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base haad-dm-base1 haad-dm-base simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base jmcneill-pm-base hpcarm-cleanup-base mjf-ufs-trans-base yamt-idlelwp-base8 ppcoea-renovation-base reinoud-bufcleanup-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 yamt-splraiseipl-base newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 elad-kernelauth-nbase yamt-pdpolicy-base4 yamt-pdpolicy-base3 yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 yamt-km-base2 yamt-km-base kent-audio2-base ktrace-lwp-base
|
| 1.13 |
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
| 1.12 |
10-May-2003 |
thorpej |
Back out the following chagne: http://mail-index.netbsd.org/source-changes/2003/05/08/0068.html
There were some side-effects that I didn't anticipate, and fixing them is proving to be more difficult than I thought, do just eject for now. Maybe one day we can look at this again.
Fixes PR kern/21517.
|
| 1.11 |
08-May-2003 |
thorpej |
Simplify the way the bounds of the managed kernel virtual address space is advertised to UVM by making virtual_avail and virtual_end first-class exported variables by UVM. Machine-dependent code is responsible for initializing them before main() is called. Anything that steals KVA must adjust these variables accordingly.
This reduces the number of instances of this info from 3 to 1, and simplifies the pmap(9) interface by removing the pmap_virtual_space() function call, and removing two arguments from pmap_steal_memory().
This also eliminates some kludges such as having to burn kernel_map entries on space used by the kernel and stolen KVA.
This also eliminates use of VM_{MIN,MAX}_KERNEL_ADDRESS from MI code, this giving MD code greater flexibility over the bounds of the managed kernel virtual address space if a given port's specific platforms can vary in this regard (this is especially true of the evb* ports).
|
| 1.10 |
03-May-2003 |
thorpej |
Fix a couple of comments.
|
| 1.9 |
03-May-2003 |
thorpej |
Reduce differences between ARM32_NEW_VM_LAYOUT and not; always pass the start and end of the kernel managed virtual address space to pmap_bootstrap() in the new pmap.
|
| 1.8 |
02-May-2003 |
thorpej |
Eliminate the last reference to PTE_BASE in the new pmap.
|
| 1.7 |
02-May-2003 |
scw |
Rework pmap_growkernel() to *not* use the regular pmap_alloc_l2_bucket() for L2 allocation. This avoids potential recursive calls into uvm_km_kmemalloc() via the pool allocator.
Bug spotted by Allen Briggs while trying to boot on a machine with 512MB of memory.
|
| 1.6 |
28-Apr-2003 |
scw |
Fix the bug reported by Richard Earnshaw in port-arm32/21349.
Make sure to check the access permissions before doing ref/mod/domain fixups. This is particularly important on machines with ARM_VECTORS_LOW.
|
| 1.5 |
22-Apr-2003 |
thorpej |
pmap_link_l2pt(): If not ARM32_NEW_VM_LAYOUT, add an assertion that the VA that the page table maps is aligned to a 4MB boundary.
|
| 1.4 |
22-Apr-2003 |
thorpej |
Some ARM32_PMAP_NEW-related cleanup: * Define a new "MMU type", ARM_MMU_SA1. While the SA-1's MMU is basically compatible with the generic, the SA-1 cache does not have a write-through mode, and it is useful to know have an indication of this. * Add a new PMAP_NEEDS_PTE_SYNC indicator, and try to evaluate it at compile time. We evaluate it like so: - If SA-1-style MMU is the only type configured -> 1 - If SA-1-style MMU is not configured -> 0 - Otherwise, defer to a run-time variable. If PMAP_NEEDS_PTE_SYNC might evaluate to true (SA-1 only or run-time check), then we also define PMAP_INCLUDE_PTE_SYNC so that e.g. assembly code can include the necessary run-time support. PMAP_INCLUDE_PTE_SYNC largely replaces the ARM32_PMAP_NEEDS_PTE_SYNC manual setting Steve included with the original new pmap. * In the new pmap, make pmap_pte_init_generic() check to see if the CPU has a write-back cache. If so, init the PT cache mode to C=1,B=0 to get write-through mode. Otherwise, init the PT cache mode to C=1,B=1. * Add a new pmap_pte_init_arm8(). Old pmap, same as generic. New pmap, sets page table cacheability to 0 (ARM8 has a write-back cache, but flushing it is quite expensive). * In the new pmap, make pmap_pte_init_arm9() reset the PT cache mode to C=1,B=0, since the write-back check in generic gets it wrong for ARM9, since we use write-through mode all the time on ARM9 right now. (What this really tells me is that the test for write-through cache is less than perfect, but we can fix that later.) * Add a new pmap_pte_init_sa1(). Old pmap, same as generic. New pmap, does generic initialization, then resets page table cache mode to C=1,B=1, since C=1,B=0 does not produce write-through on the SA-1.
|
| 1.3 |
18-Apr-2003 |
thorpej |
Use L1_S_MAPPABLE_P() and L2_L_MAPPABLE_P().
|
| 1.2 |
18-Apr-2003 |
scw |
Didn't mean to leave PMAP_DEBUG enabled ...
|
| 1.1 |
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
|
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE yamt-pagecache-base9 yamt-pagecache-tag8 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE rmind-smpnet-nbase rmind-smpnet-base agc-symver-base tls-maxphys-base yamt-pagecache-base8 yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase jym-xensuspend-nbase bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-nb5-pq3-base netbsd-5-1-RELEASE yamt-nfs-mp-base11 netbsd-5-1-RC4 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE yamt-nfs-mp-base8 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base haad-dm-base1 haad-dm-base simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base jmcneill-pm-base hpcarm-cleanup-base mjf-ufs-trans-base yamt-idlelwp-base8 ppcoea-renovation-base reinoud-bufcleanup-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 yamt-splraiseipl-base newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 elad-kernelauth-nbase yamt-pdpolicy-base4 yamt-pdpolicy-base3 yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 yamt-km-base2 yamt-km-base kent-audio2-base ktrace-lwp-base nathanw_sa_end nathanw_sa_before_merge gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base bjh21-hydra-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base thorpej-devvp-base kqueue-base
|
| 1.2 |
05-Aug-2001 |
chris |
branches: 1.2.6; Share procfs_machdep.c across arm.
|
| 1.1 |
28-Jul-2001 |
chris |
branches: 1.1.2; Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.3 |
18-Aug-2013 |
matt |
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 tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base uebayasi-xip-base6 uebayasi-xip-base5 netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 netbsd-5-1-RC4 matt-nb5-mips64-k15 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 netbsd-4-0-1-RELEASE wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-fixsa-newbase nick-csl-alignment-base5 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 bouyer-xeni386-merge1 matt-armv6-prevmlocking wrstuden-fixsa-base-1 chris-arm-intr-rework-base3 vmlocking2-base3 netbsd-4-0-RELEASE bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 netbsd-4-0-RC5 matt-nb4-arm-base matt-armv6-nbase jmcneill-base netbsd-4-0-RC4 mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base netbsd-4-0-RC3 yamt-x86pmap-base3 yamt-x86pmap-base2 netbsd-4-0-RC2 yamt-x86pmap-base netbsd-4-0-RC1 matt-armv6-base chris-arm-intr-rework-base2 chris-arm-intr-rework-base jmcneill-pm-base hpcarm-cleanup-base nick-csl-alignment-base matt-mips64-base netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE yamt-idlelwp-base8 wrstuden-fixsa-base ppcoea-renovation-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE yamt-splraiseipl-base2 netbsd-3-1-RC4 yamt-splraiseipl-base netbsd-3-1-RC3 yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 netbsd-3-1-RC2 netbsd-3-1-RC1 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase netbsd-3-0-1-RELEASE gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 netbsd-2-0-3-RELEASE yamt-vop-base2 thorpej-vnode-attr-base netbsd-2-1-RELEASE yamt-vop-base netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-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-base ktrace-lwp-base nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base gehenna-devsw-base kqueue-base
|
| 1.2 |
15-Aug-2002 |
briggs |
branches: 1.2.134; 1.2.150; 1.2.160; 1.2.166; * Use local label names (.Lfoo vs. (Lfoo or foo)) * When moving from cpsr, use "cpsr" instead of "cpsr_all" (which is provided, but doesn't make sense since mrs doesn't support fields like msr does).
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
| 1.1 |
28-Jul-2001 |
chris |
branches: 1.1.2; 1.1.8; 1.1.16; Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.6 |
18-Aug-2013 |
matt |
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 tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2
|
| 1.5 |
16-Feb-2012 |
christos |
branches: 1.5.2; 1.5.4; don't need arm/cpu.h, we just need the cpureg.h...
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-pre-base2 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base uebayasi-xip-base6 uebayasi-xip-base5 netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 netbsd-5-1-RC4 matt-nb5-mips64-k15 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
| 1.4 |
27-Apr-2008 |
matt |
branches: 1.4.18; 1.4.34; 1.4.38; 1.4.42; Merge kernel changes in matt-armv6 to HEAD.
|
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
| 1.3 |
19-Jan-2008 |
chris |
branches: 1.3.6; 1.3.8; 1.3.10; When chaning processor mode on ARM use cpsr_c, rather than cpsr_all.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase nick-csl-alignment-base5 bouyer-xeni386-merge1 matt-armv6-prevmlocking wrstuden-fixsa-base-1 chris-arm-intr-rework-base3 vmlocking2-base3 netbsd-4-0-RELEASE yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 netbsd-4-0-RC5 matt-nb4-arm-base jmcneill-base netbsd-4-0-RC4 bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base netbsd-4-0-RC3 yamt-x86pmap-base3 yamt-x86pmap-base2 netbsd-4-0-RC2 yamt-x86pmap-base netbsd-4-0-RC1 matt-armv6-base chris-arm-intr-rework-base2 chris-arm-intr-rework-base jmcneill-pm-base nick-csl-alignment-base matt-mips64-base netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE yamt-idlelwp-base8 wrstuden-fixsa-base ppcoea-renovation-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE yamt-splraiseipl-base2 netbsd-3-1-RC4 yamt-splraiseipl-base netbsd-3-1-RC3 yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 netbsd-3-1-RC2 netbsd-3-1-RC1 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase netbsd-3-0-1-RELEASE gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 netbsd-2-0-3-RELEASE yamt-vop-base2 thorpej-vnode-attr-base netbsd-2-1-RELEASE yamt-vop-base netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-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-base ktrace-lwp-base nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base gehenna-devsw-base kqueue-base
|
| 1.2 |
15-Aug-2002 |
briggs |
branches: 1.2.24; 1.2.82; 1.2.86; 1.2.88; 1.2.94; 1.2.102; * Use local label names (.Lfoo vs. (Lfoo or foo)) * When moving from cpsr, use "cpsr" instead of "cpsr_all" (which is provided, but doesn't make sense since mrs doesn't support fields like msr does).
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
| 1.1 |
28-Jul-2001 |
chris |
branches: 1.1.2; 1.1.8; 1.1.16; Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
| 1.11 |
11-Oct-2021 |
rin |
splx: Restore interrupts before dosoftints() for __HAVE_FAST_SOFTINTS.
No functional changes; All the users of arm32/spl.S, i.e., acorn32, hpcarm/sa11x0, and shark have not switched to __HAVE_FAST_SOFTINTS yet.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.10 |
02-Dec-2013 |
joerg |
Don't use cpsr_all/spsr_all with mrs, it doesn't take a mask.
|
| 1.9 |
18-Aug-2013 |
matt |
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 tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base uebayasi-xip-base6 uebayasi-xip-base5 netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 netbsd-5-1-RC4 matt-nb5-mips64-k15 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
| 1.8 |
27-Apr-2008 |
matt |
branches: 1.8.18; 1.8.34; 1.8.44; 1.8.50; Merge kernel changes in matt-armv6 to HEAD.
|
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 bouyer-xeni386-merge1 chris-arm-intr-rework-base3 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase mjf-devfs-base vmlocking-nbase matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
| 1.7 |
03-Dec-2007 |
ad |
branches: 1.7.14; 1.7.16; 1.7.18; Interrupt handling changes, in discussion since February:
- Reduce available SPL levels for hardware devices to none, vm, sched, high. - Acquire kernel_lock only for interrupts at IPL_VM. - Implement threaded soft interrupts.
|
|
Revision tags: jmcneill-base bouyer-xenamd64-base2 yamt-x86pmap-base4 bouyer-xenamd64-base
|
| 1.6 |
17-Oct-2007 |
garbled |
branches: 1.6.2; 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 tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base chris-arm-intr-rework-base2 ppcoea-renovation-base vmlocking-base
|
| 1.5 |
13-Aug-2007 |
tsutsui |
branches: 1.5.2; Remove all references to spl_mask. Now it isn't used by any sources. Discussed on port-arm.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base mjf-ufs-trans-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE yamt-splraiseipl-base2 netbsd-3-1-RC4 yamt-splraiseipl-base netbsd-3-1-RC3 yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 netbsd-3-1-RC2 netbsd-3-1-RC1 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase netbsd-3-0-1-RELEASE gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 netbsd-2-0-3-RELEASE yamt-vop-base2 thorpej-vnode-attr-base netbsd-2-1-RELEASE yamt-vop-base netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-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-base ktrace-lwp-base nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base gehenna-devsw-base kqueue-base
|
| 1.4 |
17-Aug-2002 |
thorpej |
branches: 1.4.24; 1.4.66; 1.4.74; 1.4.80; 1.4.82; 1.4.84; 1.4.86; More local label fixups.
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base
|
| 1.3 |
26-Nov-2001 |
thorpej |
branches: 1.3.8; Use <arm/arm32/psl.h>, not <machine/psl.h>.
|
|
Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2
|
| 1.2 |
28-Sep-2001 |
chris |
branches: 1.2.4; Tweak spl functions a little, try to do something between an ldr and it's use. Not the greatest of gains but spl is called a lot it might add up. Also add comments stating alignment of stack.
|
|
Revision tags: post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
| 1.1 |
28-Jul-2001 |
chris |
branches: 1.1.2; 1.1.4; Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
|
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE yamt-pagecache-base9 yamt-pagecache-tag8 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE rmind-smpnet-nbase rmind-smpnet-base agc-symver-base tls-maxphys-base yamt-pagecache-base8 yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase jym-xensuspend-nbase bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-nb5-pq3-base netbsd-5-1-RELEASE yamt-nfs-mp-base11 netbsd-5-1-RC4 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE yamt-nfs-mp-base8 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base haad-dm-base1 haad-dm-base simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base jmcneill-pm-base hpcarm-cleanup-base mjf-ufs-trans-base yamt-idlelwp-base8 ppcoea-renovation-base reinoud-bufcleanup-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 yamt-splraiseipl-base newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 elad-kernelauth-nbase yamt-pdpolicy-base4 yamt-pdpolicy-base3 yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 yamt-km-base2 yamt-km-base kent-audio2-base ktrace-lwp-base nathanw_sa_end nathanw_sa_before_merge gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base bjh21-hydra-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base thorpej-devvp-base kqueue-base
|
| 1.2 |
13-May-2001 |
bjh21 |
branches: 1.2.8; strstr() is no longer used in the kernel. G/C it.
|
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_base thorpej_scsipi_nbase
|
| 1.1 |
04-Mar-2001 |
matt |
branches: 1.1.4; Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.27 |
03-Jul-2020 |
skrll |
KNF
|
| 1.26 |
20-Jun-2020 |
skrll |
KNF
|
| 1.25 |
20-Jun-2020 |
skrll |
KNF #includes
Remove some unnecessary ones while I'm here.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 tls-maxphys-base
|
| 1.24 |
12-Nov-2012 |
skrll |
branches: 1.24.18; 1.24.28; C99 types
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
| 1.23 |
12-Dec-2011 |
mrg |
branches: 1.23.4; 1.23.6; implement bdev_size(9) wrapper around d_psize() routine, so we can take the device lock in relevant places. avoid doing so while actually dumping.
tested i386 crash dumps still work, and that all touched files compile.
fixes PR#45705.
|
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 jym-xensuspend-base
|
| 1.22 |
07-Nov-2009 |
cegger |
branches: 1.22.12; 1.22.16; Add a flags argument to pmap_kenter_pa(9). Patch showed on tech-kern@ http://mail-index.netbsd.org/tech-kern/2009/11/04/msg006434.html No objections.
|
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base
|
| 1.21 |
15-Mar-2009 |
cegger |
ansify function definitions
|
|
Revision tags: nick-hppapmap-base2
|
| 1.20 |
21-Jan-2009 |
he |
branches: 1.20.2; Re-adapt to the changed return types for major() and minor().
|
|
Revision tags: mjf-devfs2-base
|
| 1.19 |
11-Jan-2009 |
cegger |
use PRI format macros to printf major and minor values
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 chris-arm-intr-rework-base3 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
| 1.18 |
01-Jan-2008 |
chris |
branches: 1.18.6; 1.18.10; 1.18.18; 1.18.26; Add support for kcore headers to arm32 kernel core dumps.
The kcore code is based on i386's kcore header handling.
Having an asm stub for dumpsys, to dump the registers onto the stack, and then call the C code to do the memory dump is based on amd64's core dump code.
This allows a successful core dump on cats.
Part of fixing PR cats/18026.
|
|
Revision tags: nick-csl-alignment-base5 matt-armv6-prevmlocking vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base chris-arm-intr-rework-base2 chris-arm-intr-rework-base jmcneill-pm-base nick-csl-alignment-base matt-mips64-base yamt-idlelwp-base8 ppcoea-renovation-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base
|
| 1.17 |
04-Mar-2007 |
christos |
branches: 1.17.16; 1.17.20; 1.17.22; 1.17.28; 1.17.34; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 newlock2-base netbsd-4-base
|
| 1.16 |
21-Oct-2006 |
mrg |
branches: 1.16.4; in cpu_dumpconf(), don't panic() if we can't bdevsw_lookup() the dumpdev. this occurs when we try to set the dumpdev to a device with no driver loaded. this fixes PR#34872.
in sys_swapctl, if bdevsw_lookup() fails, set dumpdev = NODEV before calling cpu_dumpconf(). (this also fixes PR#34872.)
XXX: cpu_dumpconf() should probably be changed to take a dumpdev XXX: and return an error in such cases, but that is a much more XXX: intrusive change.
XXX2: this is only run-tested on sparc64 and compile tested on a XXX2: couple of platforms.
|
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.15 |
11-Dec-2005 |
christos |
branches: 1.15.20; 1.15.22; merge ktrace-lwp.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 netbsd-2-0-3-RELEASE yamt-vop-base2 thorpej-vnode-attr-base netbsd-2-1-RELEASE yamt-vop-base netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-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-base ktrace-lwp-base
|
| 1.14 |
15-Jul-2003 |
lukem |
branches: 1.14.16; __KERNEL_RCSID()
|
| 1.13 |
01-Apr-2003 |
thorpej |
branches: 1.13.2; Use PAGE_SIZE rather than NBPG.
|
| 1.12 |
23-Mar-2003 |
chris |
When doing a kernel dump use the pmap_k* funcs. Also make sure that all data is written to ram. This avoids issues with tlb's not being flushed etc.
As discussed a long time ago on port-arm
|
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base nathanw_sa_base
|
| 1.11 |
28-Dec-2002 |
reinoud |
Remove spurious declaration of bootconfig structure since that is already done in bootconfig.h
|
|
Revision tags: gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base kqueue-base
|
| 1.10 |
06-Sep-2002 |
gehenna |
Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to dynamically generated by config(8).
- All device switches is defined as a constant structure in device drivers.
- The new grammer ``device-major'' is introduced to ``files''.
device-major <prefix> char <num> [block <num>] [<rules>]
- All device major numbers must be listed up in port dependent majors.<arch> by using this grammer.
- Added the new naming convention. The name of the device switch must be <prefix>_[bc]devsw for auto-generation of device switch tables.
- The backward compatibility of loading block/character device switch by LKM framework is broken. This is necessary to convert from block/character device major to device name in runtime and vice versa.
- The restriction to assign device major by LKM is completely removed. We don't need to reserve LKM entries for dynamic loading of device switch.
- In compile time, device major numbers list is packed into the kernel and the LKM framework will refer it to assign device major number dynamically.
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base
|
| 1.9 |
23-Mar-2002 |
thorpej |
branches: 1.9.2; Garbage-collect the "pagehook" stuff.
|
|
Revision tags: eeh-devprop-base newlock-base
|
| 1.8 |
06-Mar-2002 |
tsutsui |
Change type of dumpmag to u_int32_t since it is actually a 32bit unsigned magic number. As per discussion on tech-kern, and fixes port-sparc64/11949.
|
|
Revision tags: ifpoll-base
|
| 1.7 |
05-Jan-2002 |
chris |
Make some of the arm32 files build with LOOSE_PROTOTYPES not set in the makefile. Turned up a few mismatched functions. Note that this isn't all of the arm32 files. Aim will be to get arm32 kernels built with LOOSE_PROTOTYPES not set.
|
| 1.6 |
26-Nov-2001 |
thorpej |
Move interrupt-related stuff out of stubs.c into intr.c.
|
|
Revision tags: thorpej-mips-cache-base
|
| 1.5 |
27-Oct-2001 |
rearnsha |
branches: 1.5.2; Set initial spl level to SPL_SERIAL, which for some strange reason is higher than SPL_HIGH (maybe we should be fixing SPL_HIGH).
If IPL_STATCLOCK is defined, initialize spl_masks[_SPL_STATCLOCK] from it; otherwise initialize use IPL_CLOCK.
|
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
| 1.4 |
05-Sep-2001 |
matt |
branches: 1.4.4; Don't compile SPL/INTR stuff if NEWINTR is defined.
|
| 1.3 |
05-Sep-2001 |
matt |
Change <machine/irqhandler.h> to <machine/intr.h> since the latter always includes the former and is a standard include file.
|
| 1.2 |
12-Aug-2001 |
jdolecek |
Move _insque()/_remque() to libkern. Once remaining uses would be converted to <sys/queue.h> macros, _insque()/_remque() would be eliminated altogether.
|
| 1.1 |
28-Jul-2001 |
chris |
branches: 1.1.2; Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.26 |
20-Jun-2020 |
skrll |
KNF
|
| 1.25 |
20-Jun-2020 |
skrll |
KNF #includes
Remove some unnecessary ones while I'm here.
|
| 1.24 |
20-Jun-2020 |
skrll |
Trailing whitespace
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320
|
| 1.23 |
16-Mar-2017 |
chs |
allow pcu_save() and pcu_discard() to be called on other threads, ptrace needs to use it that way.
|
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
| 1.22 |
02-Jul-2015 |
skrll |
branches: 1.22.2; 1.22.4; Use armreg_*_{read,write} instead of handcrafted asm
No functional change.
|
|
Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
| 1.21 |
22-Mar-2015 |
joerg |
Mark as volatile, just to be sure.
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.20 |
03-Mar-2014 |
matt |
branches: 1.20.6; Query the media and vfp feature registers to determine what our default mode should be and what bits in the fpscr can be changed. Print what features are supported: vfp0 at cpu0: NEON MPE (VFP 3.0+), rounding, NaN propogation, denormals
|
| 1.19 |
23-Aug-2013 |
matt |
Make use of vfp_used_p condition on FPU_VFP
|
| 1.18 |
23-Aug-2013 |
matt |
Reap LWP_VFPUSED and use PCU internal tracking. Add bool vfp_used_p(void);
|
| 1.17 |
18-Aug-2013 |
matt |
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 tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
|
| 1.16 |
31-Jan-2013 |
matt |
branches: 1.16.2; add a fpu_used sysarch
|
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
| 1.15 |
12-Aug-2012 |
matt |
branches: 1.15.2; 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 tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base
|
| 1.14 |
17-Nov-2011 |
joerg |
branches: 1.14.8; Don't return ENOSYS if nothing needs to be done for the CPU.
XXX Shouldn't this be a runtime test on the CPU?
|
|
Revision tags: yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
| 1.13 |
30-Jun-2011 |
wiz |
branches: 1.13.2; dependant -> dependent
|
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
| 1.12 |
07-Apr-2011 |
matt |
Don't use the pcb anymore since the user read-only thread and process id value is now grabbed from l_private.
|
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
| 1.11 |
07-Jul-2010 |
chs |
branches: 1.11.2; implement cpu_lwp_setprivate() on several platforms.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
| 1.10 |
27-Apr-2008 |
matt |
branches: 1.10.2; 1.10.18; 1.10.20; 1.10.22; Merge kernel changes in matt-armv6 to HEAD.
|
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 chris-arm-intr-rework-base3 vmlocking2-base3 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
| 1.9 |
20-Dec-2007 |
dsl |
branches: 1.9.6; 1.9.8; 1.9.10; Convert all the system call entry points from: int foo(struct lwp *l, void *v, register_t *retval) to: int foo(struct lwp *l, const struct foo_args *uap, register_t *retval) Fixup compat code to not write into 'uap' and (in some cases) to actually pass a correctly formatted 'uap' structure with the right name to the next routine. A few 'compat' routines that just call standard ones have been deleted. All the 'compat' code compiles (along with the kernels required to test build it). 98% done by automated scripts.
|
|
Revision tags: nick-csl-alignment-base5 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base chris-arm-intr-rework-base2 chris-arm-intr-rework-base jmcneill-pm-base nick-csl-alignment-base matt-mips64-base yamt-idlelwp-base8 ppcoea-renovation-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base ad-audiomp-base post-newlock2-merge
|
| 1.8 |
09-Feb-2007 |
ad |
branches: 1.8.20; 1.8.24; 1.8.26; 1.8.34; 1.8.38; Merge newlock2 to head.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.7 |
11-Dec-2005 |
christos |
branches: 1.7.20; 1.7.28; merge ktrace-lwp.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 netbsd-2-0-3-RELEASE yamt-vop-base2 thorpej-vnode-attr-base netbsd-2-1-RELEASE yamt-vop-base netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-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-base ktrace-lwp-base
|
| 1.6 |
15-Jul-2003 |
lukem |
branches: 1.6.16; __KERNEL_RCSID()
|
| 1.5 |
17-Jan-2003 |
thorpej |
branches: 1.5.2; Merge the nathanw_sa branch.
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base kqueue-base
|
| 1.4 |
30-Mar-2002 |
thorpej |
Rename the ARM sysarch calls from arm32* -> arm*
|
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
| 1.3 |
25-Jan-2002 |
thorpej |
Overhaul of the ARM cache code. This is mostly a simplification pass. Rather than providing a whole slew of cache operations that aren't ever used, distill them down to some useful primitives:
icache_sync_all Synchronize I-cache icache_sync_range Synchronize I-cache range
dcache_wbinv_all Write-back and Invalidate D-cache dcache_wbinv_range Write-back and Invalidate D-cache range dcache_inv_range Invalidate D-cache range dcache_wb_range Write-back D-cache range
idcache_wbinv_all Write-back and Invalidate D-cache, Invalidate I-cache idcache_wbinv_range Write-back and Invalidate D-cache, Invalidate I-cache range
Note: This does not yet include an overhaul of the actual asm files that implement the primitives. Instead, we've provided a safe default for each CPU type, and the individual CPU types can now be optimized one at a time.
|
| 1.2 |
05-Jan-2002 |
chris |
Make some of the arm32 files build with LOOSE_PROTOTYPES not set in the makefile. Turned up a few mismatched functions. Note that this isn't all of the arm32 files. Aim will be to get arm32 kernels built with LOOSE_PROTOTYPES not set.
|
|
Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_base thorpej_scsipi_nbase
|
| 1.1 |
04-Mar-2001 |
matt |
branches: 1.1.4; 1.1.6; 1.1.10; Move these from arm32/arm32
|
|
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE yamt-pagecache-base9 yamt-pagecache-tag8 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE rmind-smpnet-nbase rmind-smpnet-base agc-symver-base tls-maxphys-base yamt-pagecache-base8 yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase jym-xensuspend-nbase bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-nb5-pq3-base netbsd-5-1-RELEASE yamt-nfs-mp-base11 netbsd-5-1-RC4 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE yamt-nfs-mp-base8 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base haad-dm-base1 haad-dm-base simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base jmcneill-pm-base hpcarm-cleanup-base mjf-ufs-trans-base yamt-idlelwp-base8 ppcoea-renovation-base reinoud-bufcleanup-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 yamt-splraiseipl-base newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 elad-kernelauth-nbase yamt-pdpolicy-base4 yamt-pdpolicy-base3 yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 yamt-km-base2 yamt-km-base kent-audio2-base ktrace-lwp-base nathanw_sa_before_merge gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base bjh21-hydra-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base kqueue-base
|
| 1.4 |
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
| 1.3 |
05-Jan-2002 |
chris |
Make some of the arm32 files build with LOOSE_PROTOTYPES not set in the makefile. Turned up a few mismatched functions. Note that this isn't all of the arm32 files. Aim will be to get arm32 kernels built with LOOSE_PROTOTYPES not set.
|
| 1.2 |
22-Nov-2001 |
thorpej |
Kill <machine/katelib.h>. Any place that still uses it should just reference <arm/arm32/katelib.h> until such time as all use of this file has been purged from the face of the earth.
|
|
Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_base thorpej_scsipi_nbase
|
| 1.1 |
04-Mar-2001 |
matt |
branches: 1.1.4; 1.1.6; 1.1.10; Move these from arm32/arm32
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.79 |
15-Jan-2024 |
andvar |
Include <sys/syslog.h> with "#ifdef STACKCHECKS" guard.
The include was lost on rev 1.77 during includes cleanup and KNF, however it is still needed with STACKCHECKS build option.
|
|
Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.78 |
28-Mar-2021 |
skrll |
fix a comment that has been c&p'ed around and not updated
|
| 1.77 |
20-Jun-2020 |
skrll |
branches: 1.77.2; 1.77.4; KNF #includes
Remove some unnecessary ones while I'm here.
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1
|
| 1.76 |
18-Apr-2020 |
skrll |
PMAP_DEBUG has been deleted on arm
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728
|
| 1.75 |
12-Jul-2018 |
jakllsch |
branches: 1.75.10; <sys/pmc.h> is gone; don't #include it
|
| 1.74 |
12-Jul-2018 |
maxv |
Remove the kernel PMC code. Sent yesterday on tech-kern@.
This change:
* Removes "options PERFCTRS", the associated includes, and the associated ifdefs. In doing so, it removes several XXXSMPs in the MI code, which is good.
* Removes the PMC code of ARM XSCALE.
* Removes all the pmc.h files. They were all empty, except for ARM XSCALE.
* Reorders the x86 PMC code not to rely on the legacy pmc.h file. The definitions are put in sysarch.h.
* Removes the kern/sys_pmc.c file, and along with it, the sys_pmc_control and sys_pmc_get_info syscalls. They are marked as OBSOL in kern, netbsd32 and rump.
* Removes the pmc_evid_t and pmc_ctr_t types.
* Removes all the associated man pages. The sets are marked as obsolete.
|
|
Revision tags: phil-wifi-base pgoyette-compat-0625
|
| 1.73 |
28-May-2018 |
chs |
branches: 1.73.2; merge a new version of the CDDL dtrace and ZFS code. this changes the upstream vendor from OpenSolaris to FreeBSD, and this version is based on FreeBSD svn r315983.
in addition to the 10 years of improvements from upstream, this version also has these NetBSD-specific enhancements: - dtrace FBT probes can now be placed in kernel modules. - ZFS now supports mmap().
|
|
Revision tags: pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202
|
| 1.72 |
17-Oct-2017 |
skrll |
branches: 1.72.2; Fix eva argument to pmap_remove and passed prot bits in flags for pmap_enter, i.e. fix previous.
|
| 1.71 |
08-Oct-2017 |
flxd |
In vmapbuf use pmap_enter(pmap_kernel(), ...) and not pmap_kenter_pa as the former handles multiple mappings for VIPT AND VIVT correctly whereas the latter doesn't work for VIVT. PR port-shark/52102 From skrll@. Tested by martin@ and me.
|
|
Revision tags: nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
| 1.70 |
29-Mar-2015 |
matt |
branches: 1.70.10; cache pmap in vmapbuf.
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.69 |
10-Mar-2014 |
matt |
branches: 1.69.6; Use pmap_kenter_pa/pmap_kremove for vmapbuf/vunmapbuf
|
| 1.68 |
10-Sep-2013 |
matt |
Support an optional MARCH ELF tag. Store the MACHINE_ARCH of the executable in mdproc and override sysctl so that value returned.
|
| 1.67 |
23-Aug-2013 |
matt |
Reap LWP_VFPUSED and use PCU internal tracking. Add bool vfp_used_p(void);
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
| 1.66 |
11-May-2013 |
skrll |
branches: 1.66.2; Whitespace
|
|
Revision tags: agc-symver-base
|
| 1.65 |
25-Jan-2013 |
skrll |
Shut up noisy debug unless pmap_debug_level > 0
|
|
Revision tags: yamt-pagecache-base8
|
| 1.64 |
18-Dec-2012 |
matt |
Remove unneeded definitions. When forking a LWP, disable the VFP in the new LWP since it isn't the LWP that owns the VFP.
|
|
Revision tags: yamt-pagecache-base7
|
| 1.63 |
10-Dec-2012 |
matt |
Rename pcb_sp/PCB_SP to pcb_ksp/PCB_KSP so that ipsec.c will compile.
|
| 1.62 |
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
|
Revision tags: yamt-pagecache-base6
|
| 1.61 |
23-Oct-2012 |
matt |
When allocating the kernel virtual addresses, make sure to match the color of the user addresses.
|
| 1.60 |
29-Aug-2012 |
matt |
branches: 1.60.2; Use ARMV6+ cpsi{d,f} instructions whenever possible. Use r7 to hold previous mode and avoid recomputing it. Add support for obtaining kernel_lock on exception entry and exit.
|
| 1.59 |
16-Aug-2012 |
matt |
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.
|
| 1.58 |
12-Aug-2012 |
matt |
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.]
|
| 1.57 |
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3
|
| 1.56 |
19-Feb-2012 |
rmind |
Remove COMPAT_SA / KERN_SA. Welcome to 6.99.3! Approved by core@.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base jym-xensuspend-base
|
| 1.55 |
10-Feb-2011 |
pooka |
branches: 1.55.4; 1.55.8; 1.55.12; Make vmapbuf() return success/error and make physio deal with a failure.
|
|
Revision tags: jruoho-x86intr-base
|
| 1.54 |
14-Jan-2011 |
rmind |
branches: 1.54.2; 1.54.4; Retire struct user, remove sys/user.h inclusions. Note sys/user.h header as obsolete. Remove USER_TO_UAREA/UAREA_TO_USER macros.
Various #include fixes and review by matt@.
|
|
Revision tags: matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211
|
| 1.53 |
29-Nov-2009 |
rmind |
branches: 1.53.4; Replace l_addr with uvm_lwp_getuarea() in various MD code, mostly cpu_lwp_fork().
|
| 1.52 |
26-Nov-2009 |
matt |
Kill proc0paddr. Use lwp0.l_addr instead.
|
| 1.51 |
21-Nov-2009 |
rmind |
Use lwp_getpcb() on ARM (and acorn26/32), clean from struct user usage.
|
| 1.50 |
21-Oct-2009 |
rmind |
Remove uarea swap-out functionality:
- Addresses the issue described in PR/38828. - Some simplification in threading and sleepq subsystems. - Eliminates pmap_collect() and, as a side note, allows pmap optimisations. - Eliminates XS_CTL_DATA_ONSTACK in scsipi code. - Avoids few scans on LWP list and thus potentially long holds of proc_lock. - Cuts ~1.5k lines of code. Reduces amd64 kernel size by ~4k. - Removes __SWAP_BROKEN cases.
Tested on x86, mips, acorn32 (thanks <mpumford>) and partly tested on acorn26 (thanks to <bjh21>).
Discussed on <tech-kern>, reviewed by <ad>.
|
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base
|
| 1.49 |
14-Mar-2009 |
dsl |
ANSIfy another 1261 function definitions. The only ones left in sys are beyond by sed script! (or in sys/dist or sys/external) Mostly they have function pointer parameters.
|
| 1.48 |
14-Mar-2009 |
dsl |
Change about 4500 of the K&R function definitions to ANSI ones. There are still about 1600 left, but they have ',' or /* ... */ in the actual variable definitions - which my awk script doesn't handle. There are also many that need () -> (void). (The script does handle misordered arguments.)
|
| 1.47 |
14-Mar-2009 |
dsl |
Remove all the __P() from sys (excluding sys/dist) Diff checked with grep and MK1 eyeball. i386 and amd64 GENERIC and sys still build.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base mjf-devfs2-base
|
| 1.46 |
21-Oct-2008 |
matt |
branches: 1.46.2; 1.46.8; 1.46.12; Adapt to SA (conditional KERN_SA) and add cpu_setfunc
|
|
Revision tags: haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
| 1.45 |
07-Aug-2008 |
matt |
Remove unneeded cast.
|
|
Revision tags: simonb-wapbl-nbase simonb-wapbl-base
|
| 1.44 |
07-Jul-2008 |
skrll |
branches: 1.44.2; Update a comment.
|
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
| 1.43 |
15-Mar-2008 |
rearnsha |
branches: 1.43.4; 1.43.6; 1.43.8; VFP support.
|
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base mjf-devfs-base hpcarm-cleanup-base
|
| 1.42 |
19-Jan-2008 |
chris |
branches: 1.42.2; 1.42.6; With the removal of IPKDB on arm, the undefined stack is only used to bounce into SVC32 mode, there is no per-process data stored on it.
We can therefore use the undefined stack setup by the platform machdep.c as a system wide undefined stack.
This removes the need for a per-process undefined stack, and the processor mode switching overhead it causes in cpu_switchto.
The space freed in the USPACE is used to increase the per process kernel stack size.
|
| 1.41 |
12-Jan-2008 |
skrll |
Push a switchframe in dumpsys and cpu_switchto, but as dumpsys calls other funcs a switchframe needs to be a multiple of 8 bytes. Stash sp as well in the switchframe to bump it to 24bytes.
Setup the switchframe appropriately in cpu_lwp_fork.
Remove savectx - nothing uses it.
All of this make gdb's life much easier when dealing with crash dumps and live kernels.
Reviewd by chris.
|
|
Revision tags: bouyer-xeni386-merge1 chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base reinoud-bufcleanup-base
|
| 1.40 |
17-Oct-2007 |
garbled |
branches: 1.40.2; 1.40.8; 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 tags: yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base ppcoea-renovation-base vmlocking-base
|
| 1.39 |
15-Sep-2007 |
scw |
ARM cpu_switchto() has been partially broken since yamt-idlelwp was merged as its cache/tlb management smarts relied too heavily on pre-merge context- switch behaviour. See PR kern/36548 for one manifestation of the breakage.
To address this: - Ditch the shadow pmap variables in the PCB (pagedir, l1vec, dacr, cstate) as it was too easy for them to get out of sync with the pmap. - Re-write (and fix) the convoluted cpuswitch.S cache/tlb ASM code in C. It's only slightly less efficient, but is much more readable/maintainable. - Document cpufuncs.cf_context_switch() as being C-callable. - pmap_activate() becomes a no-op if the lwp's vmspace is already active. (Good performance win, since pmap_activate() is now invoked on every context-switch, even though ARM's cpu_switchto() already does all the grunt work)
XXX: Some CPU-specific armXX_context_switch() implementations (arm67, arm7tdmi, arm8) always flush the I+D caches. This should not be necessary. Someone with access to hardware (acorn32?) needs to deal with this.
|
|
Revision tags: nick-csl-alignment-base5 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base mjf-ufs-trans-base
|
| 1.38 |
17-May-2007 |
yamt |
branches: 1.38.6; 1.38.8; 1.38.10; 1.38.12; 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 tags: yamt-idlelwp-base8 thorpej-atomic-base
|
| 1.37 |
04-Mar-2007 |
christos |
branches: 1.37.2; 1.37.4; 1.37.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
|
Revision tags: ad-audiomp-base
|
| 1.36 |
18-Feb-2007 |
matt |
Changes for newlock2.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base elad-kernelauth-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.35 |
10-May-2006 |
skrll |
branches: 1.35.14; Fix a bunch of cast lvalues.
|
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
|
| 1.34 |
11-Dec-2005 |
christos |
branches: 1.34.4; 1.34.6; 1.34.8; 1.34.10; 1.34.12; merge ktrace-lwp.
|
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base kent-audio2-base ktrace-lwp-base
|
| 1.33 |
01-Apr-2005 |
yamt |
branches: 1.33.2; merge yamt-km branch. - don't use managed mappings/backing objects for wired memory allocations. save some resources like pv_entry. also fix (most of) PR/27030. - simplify kernel memory management API. - simplify pmap bootstrap of some ports. - some related cleanups.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE 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 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
| 1.32 |
28-Aug-2004 |
thorpej |
branches: 1.32.4; 1.32.6; Garbage-collect pagemove(); nothing use it anymore (YAY!!!)
|
|
Revision tags: netbsd-2-0-3-RELEASE 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-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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-base
|
| 1.31 |
04-Jan-2004 |
jdolecek |
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
|
| 1.30 |
23-Oct-2003 |
scw |
Don't drop to spl0 in cpu_switch/cpu_switchto. Do it in the idle loop instead.
With this change, we no longer need to save the current interrupt level in the switchframe. This is no great loss since both cpu_switch and cpu_switchto are always called at splsched, so the process' spl is effectively saved somewhere in the callstack.
This fixes an evbarm problem reported by Allen Briggs:
lwp gets into sa_switch -> mi_switch with newl != NULL when it's the last element on the runqueue, so it hits the second bit of: if (newl == NULL) { retval = cpu_switch(l, NULL); } else { remrunqueue(newl); cpu_switchto(l, newl); retval = 0; }
mi_switch calls remrunqueue() and cpu_switchto()
cpu_switchto unlocks the sched lock cpu_switchto drops CPU priority softclock is received schedcpu is called from softclock schedcpu hits the first if () {} block here: if (l->l_priority >= PUSER) { if (l->l_stat == LSRUN && (l->l_flag & L_INMEM) && (l->l_priority / PPQ) != (l->l_usrpri / PPQ)) { remrunqueue(l); l->l_priority = l->l_usrpri; setrunqueue(l); } else l->l_priority = l->l_usrpri; }
Since mi_switch has already run remrunqueue, the LWP has been removed, but it's not been put back on any queue, so the remrunqueue panics.
|
| 1.29 |
15-Jul-2003 |
lukem |
__KERNEL_RCSID()
|
| 1.28 |
17-May-2003 |
thorpej |
branches: 1.28.2; Rewrite pagemove() to use pmap functions, rather than frobbing PTEs directly. The old code was totally bogus for the new pmap. New code lifted from SH5 port.
Fixes panics in ffs_balloc_ufs2() seen while stress-testing a file system on an XScale-based server platform.
|
| 1.27 |
22-Apr-2003 |
thorpej |
Some ARM32_PMAP_NEW-related cleanup: * Define a new "MMU type", ARM_MMU_SA1. While the SA-1's MMU is basically compatible with the generic, the SA-1 cache does not have a write-through mode, and it is useful to know have an indication of this. * Add a new PMAP_NEEDS_PTE_SYNC indicator, and try to evaluate it at compile time. We evaluate it like so: - If SA-1-style MMU is the only type configured -> 1 - If SA-1-style MMU is not configured -> 0 - Otherwise, defer to a run-time variable. If PMAP_NEEDS_PTE_SYNC might evaluate to true (SA-1 only or run-time check), then we also define PMAP_INCLUDE_PTE_SYNC so that e.g. assembly code can include the necessary run-time support. PMAP_INCLUDE_PTE_SYNC largely replaces the ARM32_PMAP_NEEDS_PTE_SYNC manual setting Steve included with the original new pmap. * In the new pmap, make pmap_pte_init_generic() check to see if the CPU has a write-back cache. If so, init the PT cache mode to C=1,B=0 to get write-through mode. Otherwise, init the PT cache mode to C=1,B=1. * Add a new pmap_pte_init_arm8(). Old pmap, same as generic. New pmap, sets page table cacheability to 0 (ARM8 has a write-back cache, but flushing it is quite expensive). * In the new pmap, make pmap_pte_init_arm9() reset the PT cache mode to C=1,B=0, since the write-back check in generic gets it wrong for ARM9, since we use write-through mode all the time on ARM9 right now. (What this really tells me is that the test for write-through cache is less than perfect, but we can fix that later.) * Add a new pmap_pte_init_sa1(). Old pmap, same as generic. New pmap, does generic initialization, then resets page table cache mode to C=1,B=1, since C=1,B=0 does not produce write-through on the SA-1.
|
| 1.26 |
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
| 1.25 |
01-Apr-2003 |
thorpej |
Use PAGE_SIZE rather than NBPG.
|
| 1.24 |
17-Jan-2003 |
thorpej |
Merge the nathanw_sa branch.
|
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
| 1.23 |
24-Nov-2002 |
chris |
Fix's DEBUG kernel's not making it into multiuser on cats. (as spotted by nick) When wiring a page with pmap_enter you must supply the protection in the flags as well as in the prot.
|
|
Revision tags: kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
| 1.22 |
19-Oct-2002 |
bjh21 |
branches: 1.22.2; Undo recent cpu_switch register usage changes in order to decrease nathanw_sa merge pain.
|
| 1.21 |
18-Oct-2002 |
bjh21 |
In cpu_switch(), stack more registers at the start of the function, and hence save fewer into the PCB. This should give me enough free registers in cpu_switch to tidy things up and support MULTIPROCESSOR properly. While we're here, make the stacked registers into an APCS stack frame, so that DDB backtraces through cpu_switch() will work.
This also affects cpu_fork(), which has to fabricate a switchframe and PCB for the new process.
|
|
Revision tags: gehenna-devsw-base kqueue-base
|
| 1.20 |
22-Aug-2002 |
thorpej |
* Add PTE_SYNC() and PTE_SYNC_RANGE() macros. These don't actually do anything yet. * Use PTE_SYNC() and PTE_SYNC_RANGE() in some obvious places, i.e. where vtopte() is used.
|
| 1.19 |
09-Aug-2002 |
thorpej |
cpu_fork(): If PMCs are not enabled in the parent, clear the machine- dependent PMC state in the child.
|
| 1.18 |
07-Aug-2002 |
briggs |
Implement pmc(9) -- An interface to hardware performance monitoring counters. These counters do not exist on all CPUs, but where they do exist, can be used for counting events such as dcache misses that would otherwise be difficult or impossible to instrument by code inspection or hardware simulation.
pmc(9) is meant to be a general interface. Initially, the Intel XScale counters are the only ones supported.
|
| 1.17 |
06-Aug-2002 |
thorpej |
* Pass proc0 to switch_exit(), to make this a little more like the nathanw_sa branch. * In switch_exit(), set the outgoing-proc register to NULL (rather than proc0) so that we actually use the "exiting process" optimization in cpu_switch().
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
| 1.16 |
03-Apr-2002 |
thorpej |
branches: 1.16.2; 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 tags: eeh-devprop-base newlock-base
|
| 1.15 |
04-Mar-2002 |
simonb |
Don't need to declare phys_map - it is declared in <uvm/uvm_extern.h>.
|
|
Revision tags: ifpoll-base
|
| 1.14 |
26-Feb-2002 |
simonb |
Purge CLSIZE, CLSIZELOG2 and MCLOFSET. Be consistant in the way that MSIZE, MCLSHIFT, MCLBYTES and NMBCLUSTERS are defined. Remove old VM constants from cesfic port. Bump MSIZE to 256 on mipsco (the only one that wasn't already 256).
|
| 1.13 |
29-Jan-2002 |
thorpej |
When initializing sf->sf_spl, simply always assume that 0 is equivalent to spl0().
|
| 1.12 |
25-Jan-2002 |
thorpej |
Overhaul of the ARM cache code. This is mostly a simplification pass. Rather than providing a whole slew of cache operations that aren't ever used, distill them down to some useful primitives:
icache_sync_all Synchronize I-cache icache_sync_range Synchronize I-cache range
dcache_wbinv_all Write-back and Invalidate D-cache dcache_wbinv_range Write-back and Invalidate D-cache range dcache_inv_range Invalidate D-cache range dcache_wb_range Write-back D-cache range
idcache_wbinv_all Write-back and Invalidate D-cache, Invalidate I-cache idcache_wbinv_range Write-back and Invalidate D-cache, Invalidate I-cache range
Note: This does not yet include an overhaul of the actual asm files that implement the primitives. Instead, we've provided a safe default for each CPU type, and the individual CPU types can now be optimized one at a time.
|
| 1.11 |
29-Nov-2001 |
thorpej |
Provide a hook for platform-specific interrupt code to specify the "spl" cookie in the switch frame.
|
| 1.10 |
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
| 1.9 |
19-Nov-2001 |
chris |
Give the idle loop a non-profiled entry, means it appears in profile info correctly (rather than all it's time being under remrunqueue) switch_exit only needs to take 1 parameter, it loads the value of proc0 into R1 itself Fixup some comments to reflect the real state of things. Tweak a couple of bits of asm to avoid a load delay. remove excess code for setting curpcb and curproc.
|
|
Revision tags: thorpej-mips-cache-base
|
| 1.8 |
18-Oct-2001 |
rearnsha |
branches: 1.8.4; Don't unmap page 0 when preparing to swap out a process. If the pmap is shared with another process (as can happen if vfork is being used), then that other process will end up not having a page 0, which is bad news indeed, since then there is no way back into the kernel.
Found this using a multi-ice box, so they are useful after all!
This seems to fix pr port-arm32/11921 and (possibly) kern/9859.
|
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2
|
| 1.7 |
20-Sep-2001 |
chris |
Fix bug in vmapbuf, was using len before it had been adjusted. Found by Frank while Luke was tracking down a bug.
|
|
Revision tags: post-chs-ubcperf pre-chs-ubcperf
|
| 1.6 |
10-Sep-2001 |
chris |
Update pmap_update to now take the updated pmap as an argument. This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.
Currently this is a no-op on most platforms, so they should see no difference.
Reviewed by Jason.
|
| 1.5 |
09-Sep-2001 |
toshii |
Don't define pcb_* register macros. pcb_sp macro conflicts with sys/netinet6/ipsec.c.
|
|
Revision tags: thorpej-devvp-base
|
| 1.4 |
20-Aug-2001 |
chris |
branches: 1.4.2; Arm has a vac, so we must use pmap_enter/remove for vmapbuf rather than k* versions, otherwise we may not be doing the right caching thing.
|
| 1.3 |
11-Aug-2001 |
chris |
Update to make use of a proper kenter implementation for vmapbuf and vunmapbuf.
|
| 1.2 |
05-Aug-2001 |
matt |
Force size_t formats/arge to be (u_long). I'd use 'z' for this but gcc 2.95.3
|
| 1.1 |
28-Jul-2001 |
chris |
branches: 1.1.2; Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|